![](/user_photo/_userpic.png)
Учебное пособие 1609
.pdfзаниям. При входе в режим система именует все линейные блоки именами "А", "В", "С" и т.д. Для построения ЛЧХ любого блока достаточно дать команду L=<имя блока> (например, L=A). Если Вам необходимо построить ЛЧХ сложного соединения блоков, Вы должны предварительно получить соответствующую передаточную функцию (ПФ). Для этого Вы можете использовать 4 действия над ПФ ("+" -сложить, "-" -вычесть, "*" -умножить, "/" -разделить) и 10 областей буферной памяти (БП). БП имеют имена "МО", "М1", ... , "М9" и служат для накопления промежуточного результата. Они используются наряду с именами блоков в операторах преобразования вида
<ММ>=<Оп1><знак операции><Оп2> (например, М1=1+А), где <ММ> - имя БП;
<0п1>, <0п2> - операнды (числа, имена блоков, имена БП); <знак операции> - любой из символов "+", "-", "*", "/". Оператор <0п>=? выво-
дит полиномы числителя и знаменателя ПФ блока или БП. Меню режима построения ЛЧХ:
F1-Помощь -Доступ к справочной службе СИАМ.
F4-Ред - Переход к режиму редактирования/уничтожения блоков. ESC-Выход - Возврат в режим ввода модели. При выводе графика ЛЧХ в
меню указываются дополнительные опции: F2-
Изменить частоту - Переход к процедуре изменения граничных час-
тот.
FЗ-Большой график - Построить график в увеличенном масштабе. F3-Малый график - Построить график в уменьшенном масштабе. ESC-Выход - Возврат в режим построения ЛЧХ.
Работа с диском
В системе имеется возможность записи сформированной модели в дисковый файл и чтения модели из файла. Для работы с файлом необходимо в ответ на запрос системы ввести его имя. Допускается использование полного имени файла вместе с именем диска и всех директорий верхнего уровня, например,
a:\siat\user\tyfile-1 .sia
Имя файла состоит из собственно имени и расширения, разделенных точкой. В примере "tyfile-1" - имя, а "sia" - расширение файла. В имени и расширении допускается использование в произвольном порядке любых букв и цифр, а также символов "-" и "_". Длина имени до 8-ми, а расширения - до 3-х символов. Если расширение вместе с точкой опущены, система добавляет расширение "sia". Если при записи на диск система обнаружит уже существующий там одноименный файл, она автоматически заменит расширение этого файла на "bak". При чтении с диска ранее введенная в систему модель будет уничтожена.На рис.4.5 показан вариант структура объектно-ориентированного диалога в системе автоматизированного моделирования СИАМ, разработанной в МВТУ им. Н. Э. Баумана.
Экран разделен на несколько окон, содержащих разные виды информации: схему исследуемой модели, меню с набором возможных действий в текущей ситуации, параметры блоков и режимов работы, графики переходных процессов и частотных характеристик. Окна могут появляться и уничтожаться, т. е. структура
73
![](/html/70990/27/html_YR0takbKgA.XFyB/htmlconvd-qf7XqH72x1.jpg)
экрана может динамически изменяться. Это позволяет в ограниченных рамках экрана построить полную информационную модель, структурированную по типам и важности информации, по этапам решения задачи. В исходном состоянии на экране могут располагаться окна с информацией наиболее общего характера. Для выяснения деталей пользователь может указать на соответствующий объект и «войти» в него. На экране появится окно с более подробными данными, которые можно скорректировать и затем «выйти» из объекта, после чего окно исчезнет.
Программное обеспечение СИАМ состоит 30 основных модулей, написанных на языке ФОРТРАН-II, имеет общий объем более 2 тыс. операторов и образует ППП сложной структуры. Обмен информацией между модулями осуществляется через общую оперативную память. Для работы с системой используют про- блемно-ориентированный входной язык, позволяющий описывать модулируемую систему на уровне структурных схем.
Рис 4.5 Диалог в системе СИАМ.
На рис.4.5 изображена структура СИАМ по управляющим связям. Система СИАМ имеет 7 иерархических уровней.
На верхнем уровне находится модуль SIAM, в функции которого входят инициализация системы и начальная фаза диалога с пользователем. Модуль принимает управляющие директивы пользователя, проверяет их правильность и передает управление одному из модулей RUNCN, STRCT, PARAM, RUN или OUT второго уровня иерархии. В задачу модулей второго уровня входит семантический контроль введенной директивы, на основании которого управление передается модулям третьего, рабочего, уровня.
74
![](/html/70990/27/html_YR0takbKgA.XFyB/htmlconvd-qf7XqH73x1.jpg)
Модуль STRCT и связанные с ним рабочие модули осуществляют манипулирование структурой моделируемой системы:
SDSIN - вводит операторы задания структуры из символьного файла ЛБП; SDSOU - формирует символьный дисковый файл в ЛБП с записями операто-
ров структуры моделируемой системы;
STRIN и STROU - осуществляют, соответственно, считывание с терминала и вывод на терминал операторов задания структуры;
SCLER - стирает хранящуюся в оперативно памяти информацию о структуре и связанных с ней параметрах.
Рис.4.6. Структура СИАМ.
75
Модуль РАRАМ и подчиненные ему модули рабочего уровня осуществляют действия, аналогичные рассмотренным выше, но в отношении только параметров, конкретизирующих структуру моделируемой системы.
Вмодуле RUNCN и рабочих модулях RCNR, RCNO, и RCNRO подготавливается режим счета (моделирования) системы. Модуль RCNR в диалоговом режиме взаимодействия с использованием запоминает информацию о выбранном методе численного интегрирования, интервале изменения независимой переменной и шаге ее приращения. В модуле RCNO запоминаются уловные номера тех точек в структуре моделируемой системы, состояние которых в процессе моделирования представляет интерес для пользователя. Модуль RCNRO объединяет функции модулей RCNR и RCNO.
Спомощью группы модулей RUN реализуется собственно имитационное моделирование исследуемой системы. Модуль RBGN осуществляет начальный запуск счета, а модуль RFLW - продолжение после естественного окончания предыдущего счета или его прерывания по инициативе пользователя. В обоих случаях управление передается модулю RCOUT, который с помощью диалога с пользователем уточняет характер вывода оперативной информации в процессе счета, а также при необходимости формирует условие завершения переходного процесса в некоторой контрольной точке. В модуле SORT осуществляются необходимые подготовительные действия, преобразующие исходную информацию о структуре исследуемой системы в совокупность обычных дифференциальных уравнений первого порядка, представленных в канонической форме. Наконец, модуль WORK и связанный с ним модуль LTB реализуют процедуру численного интегрирования уравнений с пошаговым контролем выполнения сформированных условий окончания или прерывания процесса.
Вгруппе модулей OUT осуществляется вывод накопленной информации на внешние устройства. Модули ODST и ODSG подготавливают вспомогательный файл для последующего вывода результатов счета в форме, соответственно, таблиц или графиков на системную печать. Модули OTRT и OTRG выводят результаты соответственно в виде таблиц и графиков на экран терминала. Модуль OCNT обеспечивает доступ к фактическим координатам в любой точке структуры системы сразу после инициативного прерывания счета. Модуль ОЕХТ выводи данные на двухкоординатный графопостроитель в виде графика.
Всистеме реализуется компактная форма диалога, заключающаяся в том, что машина печатает «меню» услуг лишь по требованию оператора, в остальных случаях оно лишь подтверждает выбранное положение, оставляя за пользователем возможность отказаться от него. В начальном состоянии, куда система переходит всякий раз после завершения работы по любому из ранее выбранных продолжений, на экране терминального дисплея печатается запрос «СИАМ?» и система ожидает от пользователя дальнейших указаний. Каждое из пяти главных направлений может в свою очередь делится на более конкретные варианты работы. Пользователь выбирает альтернативный путь действий, указывая системе в ответ на очередной запрос целое положительное число, приписанное нужному продолжению. При затруднениях в выборе пользователь водит знак вопроса и тем самым инициализирует работу подсказчика. Если, например, пользователю необходимо вывести на терминал текущее состояние моделируемого процесса, он может ввести
76
код 5 в ответ на запрос СИАМ? Тогда на терминале появится уточняющий запрос:
График на терминал (1), график на АЦПУ (2), таблица на терминал (3), таблица на АЦПУ (4), состояние переменных (5), график на построитель?
После ввода в машину еще одного кода 5 на экране печатаются текущие значения выходных координат всех типовых блоков, используемых в моделируемой системе. В сокращенной форме диалога пользователь может в ответ на запрос «СИАМ?» сразу указать код 55 (как объединение ответов 5 на основной и 5 - на уточняющий запрос) и сразу получить интересующую его информацию.
СИАМ позволяет:
Моделировать динамику разнообразными методами численного интегрирования Эйлера и Рунге-Кутта 4-го порядка - с постоянным шагом, Рунге-Кутта- Чемпион 5-го порядка с автоматическим изменением шага, Адамаса - с постоянным шагом как в прямом так и в обратном времени;
Прекращать в любой момент моделируемый процесс с возможностью вывода на экран дисплея или печатающее устройство накопленные к этому моменту результаты в виде таблиц и графиков;
Продолжить интегрирование с прерванного состояния; Автоматически определять параметры переходного процесса.
Задание информации об исходных свойствах системы управления осуществляется в СИАМ с помощью структурно-ориентированного языка операторного типа: каждый элемент структуры должен соответствовать одному из возможных типовых звеньев СИАМ. Все типовые звенья могут иметь один или два входа и один выход, т. е. представляют собой одномерные звенья CAP направленного действия. Семантика типовых звеньев достаточно обширна - используется более 30 различных типов - и позволяет описывать динамику большинства практически важных систем регулирования и управления. Для задания конкретного элемента структуры используется оператор вида
<№ ЭЛЕМЕНТА > <ТИП> <СПИСОК ВХОДОВ>
Здесь <№ ЭЛЕМЕНТА > - произвольное целое число без знака, используемое в качестве идентификатора данного элемента. Номер элемента позволяет ссылаться на него при описании связи между структурными элементами исследуемой системы и никак не связан с порядком указания этого элемента или приоритетом его вычисления.
<ТИП> - одноили двухбуквенный код, указывающий на тип элемента (см. табл. 1).
<СПИСОК ВХОДОВ> - номера одного или двух (в зависимости от типа звена) звеньев структуры, выходы которых используются в качестве входов для данного звена.
Как уже отмечалось, в СИАМЕ используют более 30 типовых звеньев структуры. В табл. 1 приведены некоторые типовые структурные звенья СНАМ с кратким описанием их семантики и указанием типа.
77
![](/html/70990/27/html_YR0takbKgA.XFyB/htmlconvd-qf7XqH76x1.jpg)
Таблица 4. Структурные звенья системы СИАМ
Номер |
Название |
Алгоритм и параметры |
по/пор |
|
|
1 |
Скачок положения |
Y=P1 |
2 |
Скачек скорости |
Y=P1*T |
3 |
Случайные равномерно |
-P1<=Y<=+P1 |
|
распределенные числа |
Y = X1+X2 |
4 |
Сумматор |
Y=X1*X2 |
5 |
Умножитель |
|
6 |
Логическое «И» |
Если Х1>0 и Х2>0, или X1<=0 и Х2<=0, |
7 |
Логическое «ИЛИ» |
то Y=l, иначе Y=0 |
|
|
Если Х1>0 или Х2>0, то Y=l, иначе Y=0 |
8 |
Логическое «НЕ» |
Если X<=0, то Y=l, иначе Y=0 |
9 |
Усилитель |
Y=P1*X |
10 |
Синус |
Y = SIN(X) |
11 |
Корень квадратный |
Если X>=0, то Y = SQRT(X), иначе Y=0 |
12 |
Экспонента |
Y = EXP(X) |
|
|
|
Примечание: Х - входная координата звена в текущий момент времени Т; Y- выходная координата; XI - 1-я ссылка, Х2 - 2-я ссылка для двухвходных звеньев.
В процессе ввода начальной информации допускается переопределение элементов структуры и, в частности, уничтожение старых и введение новых. Задание структуры в виде совокупности взаимосвязанных элементов определенного типа еще не дает полной информации об особенностях описываемой системы. Для конкретизации структурных элементов используют операторы здания параметров, имеющие следующий формат:
<№ЭЛЕМЕНТА> <СПИСОК ПАРАМЕТРОВ> В списке параметров указываются коэффициенты и/или начальные условия,
определяющие конкретную реализацию элемента данного типа. Проиллюстрируем сказанное на примере следящей системы, показанной на
рис. 4.7 Составим схему моделирования, заменив исходную структурную схему совокупностью пронумерованных типовых звеньев (рис. 4.8)
Рис 4.7 Структурная схема следящей системы:
78
![](/html/70990/27/html_YR0takbKgA.XFyB/htmlconvd-qf7XqH77x1.jpg)
1- предварительный усилитель; 2- усилитель мощности; 3- исполнительный двигатель; 4- редуктор; 5- корректирующая обратная связь
Рис 4.8 Схема моделирования для СИАМ:
1- сумматор; 2- усилитель; 3- апериодическое звено; 4- интегратор; 5- делитель; 6-константа; 7- звено общего вида; 8- инвертор
В фазе ввода структуры система организует следующий диалог. Текст печатает машина, пользователь отвечает операторами задания структуры, располагая их так, чтобы соответствующие части операторов оказались под скобками заголовка.
Типовые блоки СИАМ
В состав этой версии СИАМ включены 52 типовых блока. В функциональном отношении их можно разбить на 4 группы:
-передаточные функции;
-генераторы пробных сигналов;
-логические и нелинейные блоки.
-математические операции;
Любой блок имеет единственный выход. Генераторы не имеют входов, бинарные математические блоки и некоторые логические -2 входа, остальные -1. При изображении на структурной схеме блок связывается с другими блоками линиями. Единственная линия выходит из блока, количество входящих в блок линий должно точно соответствовать количеству входов.
Информацию по любому блоку Вы сможете получить по клавише F1 в режиме ввода блока (см.Ввод модели).
5. ПАКЕТЫ ПРИКЛАДНЫХ ПРОГРАММ ДЛЯ АВТОМАТИЗАЦИИ АНАЛИЗА, СИНТЕЗА, ИДЕНТИФИКАЦИИ, МОДЕЛИРОВАНИЯ, ОПТИМИЗАЦИИ СИСТЕМ И СРЕДСТВ УПРАВЛЕНИЯ
В этой главе приведено описание интерактивных пакетов программ, разработанных для моделирования, идентификации, анализа и проектирования систем управления. Пакет программ - набор прикладных программ, взаимодействующих через управляющую программу типа меню.
IDPAC. Пакет IDPAC предназначен для анализа и идентификации линейных систем с одним выходом и несколькими входами. Как особый случай возможно использование моделей ARMA и ARIMA. Команды пакета позволяют проводить
79
моделирование, корреляционный анализ, спектральный анализ, параметрическую идентификацию, преобразовывать данные и выводить их на печать. Для параметрической оценки используются два основных метода: наименьших квадратов и максимального правдоподобия. Наличие макросредств позволяет образовывать новые команды и использовать практически все известные методы параметрической идентификации. В раннюю версию пакета были включены команды для многих методов идентификации, но в дальнейшем было показано, что почти все другие методы являются по сути дела комбинацией корреляционного анализа, спектрального анализа и двух основных методов, заложенных в пакете. Поэтому другие методы идентификации возможно использовать с помощью макросредств, что позволяет пользователю сконструировать требуемые команды и их модификации.
MODPAC. Существует много подходов для описания систем управления: аналитические способы во временной и частотных областях, параметрические способы, такие как уравнения пространства состояний, передаточные функции и матричные полиномы. Во многих случаях требуется перейти от одного описания к другому. Например, при цифровом управлении необходимо связать непрерывное время с дискретным. Все эти подходы и задачи реализованы в пакете MODPAC. В пакете также представлены средства для осуществления декомпозиции по Калману и вычисления наблюдателей.
SIMNON. Пакет SIMNON предназначен для моделирования нелинейных дискретных систем. В пакет включены генераторы шума, временные задержки, оптимизатор и средства для использования файлов данных пакета IDPAC как входных сигналов системы.
Пакет позволяет описывать соединения подсистем, которые могут быть двух типов: непрерывные и дискретные. Это делает пакет удобным для моделирования цифровых систем управления. Пакет содержит три типа данных:
два - для описания подсистем и один - для описания их соединений. Проиллюстрируем возможности пакета примером:
CONTINUOUS SYSTEM PROC "Integrator with input saturation Input u
Output у
State x Der dx
upr = if u<-0.1 then -0.1 else if u <0.1 then u else 0.1 dx = upr
END
DISCRETE SYSTEM REG "PI regulator with anti-windup Input yr у
Output u State i New ni Time t
80
Tsamp ts e=yr-y v=k*e+i
u=if v<ulow then ulow else if v<uhigh then v else uhigh ni=i+k*h*e/ti+h/tt*(u-v)
ts=t+h
k:l
ti:l
tt:0.5
h:0.5 ulow: -1 uhigh: 1 END
CONNECTING SYSTEM CON
"Connecting system for simulation of process PROC "with PI regulation by system REG
yr[REG]=l
y[REG]=y[PROC]
u[PROC]=u[REG] END
В этом листинге приведено описание системы с обратной связью, которая включает в себя непрерывный объект PROC и цифровой ПИ-регулятор REG. В качестве объекта выбран интегратор с насыщением по входу. Две подсистемы объединяются в одну с названием CON
Работу пакета иллюстрирует следующий аннотированный диалог:
Команды |
Действия |
SYST PROC REG CON Инициализация системы |
|
AXES Н 0 100 V - 1 1 |
Построение осей |
PLOT yr у [proc] u[reg] |
Определение переменных для вывода на график |
STORE yr у [proc] u [reg] |
Выбор переменной для записи |
SIMU 0 100 |
Моделирование |
SPLIT 2 1 |
Формирование двух окон на экране |
ASHOW y
|
Вывод параметра y с автоматическим масштабиро- |
|
ванием и параметра yr с тем же масштабом в первое |
|
окно |
SHOV yr |
|
ASHOW u |
Вывод параметра u с автоматическим масштабиро- |
|
ванием во второе окно |
81
![](/html/70990/27/html_YR0takbKgA.XFyB/htmlconvd-qf7XqH80x1.jpg)
с
Рис5.1. Результаты моделирования систем с ПИ-регулятором: 1 - линейный регулятор; 2 - регулятор с нелинейностью; t - время;
U - управляющий сигнал; Y — выходной сигнал
Результаты моделирования показаны на рис.5.1. В состав регулятора включен логический блок, который ограничивает управляющий сигнал. Пределы ограничения соответственно равны величинам ulow и uhigh. Кривые 1 соответствуют пределам -1 и +1. Видно, что эти величины слишком большие и ограничение управляющего сигнала не происходит, что соответствует случаю системы с линейным регулятором. При замене пределов соответственно на -0,1 и +0,1 логический блок начинает работать, что дает результат (кривые 2), характеризующийся существенно меньшим перерегулированием.
Команды
PAR |
ulow:-0.1 |
PAR |
uhigh:0.1 |
изменяют |
пределы ограничения, а команда SIMU позволяет повторить моде- |
лирование для этих новых условий. Заметим, что введение нелинейного блока в регулятор существенно изменяет характер переходного процесса.
SYNPAC. Пакет SYNPAC ориентирован на описание систем в пространстве состояний. В него включены средства для расчета параметров обратных связей по состояниям, фильтров Калмана для непрерывных и дискретных задач ЛКГ (Задача ЛКГ - задача синтеза стохастической оптимальной линейной системы с квадратичным критерием и гауссовским шумом.) и средства для перехода от непрерывных задач к задачам с дискретным временем. Рассмотрим стандартную ЛКГ-задачу:
dx = Axdt + Budt + dv; dy=Cxdt+de,
где векторы {v} и {е} являются винеровскими процессами с взаимной кова-
риационной матрицей
cou[dv/de][dv/de]T=[R1/Rt12 R12/R2].
Пусть задачей управления является минимизация функционала
J=limT-> (1/t)*E T0 [ xT(t)Q1x(t)+2xT(t)Q12u(t)+uT(t)Q2u(t)]dt
Предположим, что будет использован цифровой регулятор с периодом кван-
82