В Response Optimizer можно задать следующие требования к временной области:
Signal Bound - Задайте кусочно-линейные нижнюю и верхнюю границы
Signal Property - Определение требований к свойствам сигнала
Step Response Envelope - Задайте Характеристики Переходной характеристики
Signal Tracking - Отслеживайте опорные сигналы
Ellipse Region Constraint - наложение эллиптической границы на траекторию фазовой плоскости двух сигналов
Custom Requirement - Задание пользовательских требований
После того, как вы задаете ограничения, можно увидеть, удовлетворены ли требования путем оптимизации конструктивных переменных. Для получения дополнительной информации смотрите Задать опции оптимизации.
Чтобы задать верхнюю и нижнюю границы сигнала:
В Response Optimizer выберите Signal Bound в раскрывающемся списке New. Откроется окно, где вы задаете верхние или нижние границы сигнала.
Укажите имя требования в поле Name.
Выберите тип требования с помощью списка Type.
Задайте начальное и конечное время ребра и соответствующую амплитуду в Time (s) и Amplitude столбцах.
Щелкните, чтобы задать дополнительные привязанные ребра.
Выберите строку и щелкните, чтобы удалить связанное ребро.
В области Select Signals to Bound выберите записанный сигнал для применения требования.
Если вы уже выбрали сигналы, как описано в Specify Signals to Log, они появляются в списке. Установите соответствующий флажок.
Если вы не выбрали сигнал для регистрации:
Нажмите кнопку. Откроется диалоговое окно Create Signal Set, где вы задаете записанный сигнал.
В Simulink® Окном модели щелкните сигнал, к которому вы хотите добавить требование.
Диалоговое окно Create Signal Set обновляется и отображает имя блока и номер порта, где расположен выбранный сигнал.
Выберите сигнал и щелкните, чтобы добавить его к набору сигналов.
В Signal set поле введите имя для выбранного набора сигналов.
Нажмите OK. Новая переменная с заданным именем появится в Data области Response Optimizer.
Нажмите OK.
Переменная с заданным именем требования появится в Data области приложения. Графическое отображение требования также появляется в окне Response Optimizer приложения.
(Необязательно) В графическом отображении можно:
Кроме того, можно добавить блок Check Custom Bounds к модели, чтобы задать кусочно-линейные границы.
Для определения требований к свойствам сигнала:
В Response Optimizer выберите Signal Property в раскрывающемся списке New. Откроется окно Create Requirement, где вы задаете требования к свойствам сигнала.
В Name поле задайте имя требования.
В области Specify Property задайте требование к свойствам сигнала с помощью списков Property и Type и Bound ящика.
В области Select Signals to Bound выберите записанный сигнал, к которому необходимо применить требование.
Выбранный сигнал должен иметь числовые данные типа (с плавающей точкой или целое число). Кроме того, если выбранное свойство Signal median
, Signal variance
, или Signal interquartile range
, тогда данные сигнала должны быть с плавающей точкой (либо двойной, либо одинарной).
Если вы уже выбрали сигнал, как описано в Specify Signals to Log, сигнал появится в списке. Установите соответствующий флажок для этого сигнала.
Если вы не выбрали сигнал для регистрации:
Нажмите кнопку. Откроется диалоговое окно Create Signal Set, где вы задаете записанный сигнал.
В окне модели щелкните сигнал, к которому вы хотите добавить требование.
Диалоговое окно Create Signal Set обновляется и отображает имя блока и номер порта, где расположен выбранный сигнал.
Выберите сигнал и щелкните, чтобы добавить его к набору сигналов.
В Signal set поле введите имя для выбранного набора сигналов.
Нажмите OK. Новая переменная с заданным именем появится в Data области Response Optimizer.
Нажмите OK.
Переменная с заданным именем требования появляется в Data области приложения. График итерации, изображающий свойство сигнала для каждой итерации, также появляется в окне Response Optimizer приложения.
Чтобы применить требование переходной характеристики к сигналу в вашей модели, задайте характеристики переходной характеристики следующим образом:
Выберите требование к переходной характеристике из Response Optimizer.
В раскрывающемся меню New приложения, в разделе New Time Domain Requirement, выберите Step Response Envelope.
Откроется диалоговое окно Create Requirement, в котором вы задаете требования к переходной характеристике на сигнале.
Укажите имя требования в Name поле диалогового окна.
Задайте характеристики переходной характеристики:
Initial value - Входной уровень перед выполнением шага
Step time - Время, в которое происходит шаг
Final value - Входной уровень после выполнения шага
Rise time - время, необходимое для достижения ответным сигналом заданного процента от области значений шагов. Шаговая область значений является различием между конечным и начальным значением.
% Rise - Процент шага области значений используемый с Rise time для определения общих характеристик времени нарастания.
Settling time - Время, затраченное до тех пор, пока ответный сигнал не установится в заданной области вокруг конечного значения. Эта область расчета определяется как окончательное значение шага плюс или минус заданный процент конечного значения.
% Settling - Процент конечного значения, который определяет область значений установления характеристики времени урегулирования, указанной в Settling time.
% Overshoot - величина, на которую ответный сигнал может превысить окончательное значение. Это значение задается в процентах от области значений шагов. Шаговая область значений является различием между конечным и начальным значением.
% Undershoot - величина, на которую ответный сигнал может перерегулировать начальное значение. Это значение задается в процентах от области значений шагов. Шаговая область значений является различием между конечным и начальным значением.
Задайте сигнал, который будет связан.
Чтобы применить это требование к сигналу модели, в области Select Signals to Bound выберите записанный сигнал, к которому вы будете применять требование.
Если вы уже выбрали сигнал для регистрации, как описано в Specify Signals to Log, он появится в списке. Установите соответствующий флажок.
Если вы не выбрали сигнал для регистрации:
Нажмите кнопку. Откроется диалоговое окно Create Signal Set, где вы задаете записанный сигнал.
В окне модели щелкните сигнал, к которому вы хотите добавить требование.
Диалоговое окно Create Signal Set обновляется и отображает имя блока и номер порта, где расположен выбранный сигнал.
Выберите сигнал и щелкните, чтобы добавить его к набору сигналов.
В Signal set поле введите имя для выбранного набора сигналов.
Нажмите OK. Новая переменная с заданным именем появится в Data области Response Optimizer.
Кроме того, можно использовать блок Check Step Response Characteristics, чтобы задать границы переходной характеристики для сигнала.
Используйте отслеживание уставки, чтобы заставить сигнал модели соответствовать желаемому сигналу. Чтобы отследить опорный сигнал:
В Response Optimizer выберите Signal Tracking в раскрывающемся списке New. Откроется окно, в котором вы задаете опорный сигнал для отслеживания.
Укажите имя требования в поле Name.
Задайте опорный сигнал путем ввода векторов или переменных из рабочей области в поля Time vector и Amplitude.
Щелкните Update reference signal data, чтобы использовать новую амплитуду и временной вектор в качестве опорного сигнала.
Укажите, как решатель оптимизации минимизирует ошибку между сигналами ссылки и модели с помощью списка Tracking Method:
SSE
- уменьшает сумму квадратов ошибок
SAE
- Уменьшает сумму абсолютных ошибок
В области Specify Signal to Track Reference Signal выберите записанный сигнал для применения требования.
Если вы уже выбрали сигнал для регистрации, как описано в Specify Signals to Log, они появятся в списке. Установите соответствующий флажок.
Если вы не выбрали сигнал для регистрации:
Нажмите кнопку. Откроется диалоговое окно Create Signal Set, где вы задаете записанный сигнал.
В окне модели щелкните сигнал, к которому вы хотите добавить требование.
Диалоговое окно Create Signal Set обновляется и отображает имя блока и номер порта, где расположен выбранный сигнал.
Выберите сигнал и щелкните, чтобы добавить его к набору сигналов.
В Signal set поле введите имя для выбранного набора сигналов.
Нажмите OK. Новая переменная с заданным именем появится в Data области Response Optimizer.
Установите флажок, соответствующий сигналу, и нажмите OK.
Переменная с заданным именем требования появится в Data области приложения. Графическое отображение привязки сигнала также появляется в окне Response Optimizer приложения.
Примечание
При отслеживании опорного сигнала программное обеспечение игнорирует максимально возможное решение опции. Для получения дополнительной информации об этой опции на вкладке Response Optimization щелкните Options > Optimization Options и нажмите Help.
Кроме того, можно использовать блок Check Against Reference, чтобы задать опорный сигнал для отслеживания.
Можно наложить эллиптическую границу на траекторию плоскости фазы двух сигналов в модели Simulink. Траектория фазы плоскости является графиком из двух сигналов друг против друга. Вы задаете радиусы, центр и поворот ограничивающего эллипса. Вы также задаете, требуется ли, чтобы траектория двух сигналов лежала внутри или снаружи эллипса.
На следующем изображении показаны ограничивающий эллипс и пример траектории плоскости фазы из двух сигналов.
Плоскость X-Y является плоскостью фазы, заданной двумя сигналами. rx и ry являются радиусами ограничивающего эллипса вдоль осей x и y, и θR является поворотом эллипса вокруг центра. Центр эллипса находится в (x0, y0). На изображении траектория плоскости фазы сигналов лежит внутри ограничивающего эллипса для всех временных точек, t1 к tn.
Чтобы задать эллиптическое связанное требование:
В Response Optimizer, в New раскрывающемся списке, выберите Ellipse Region Constraint.
В диалоговом окне «Создание требования» задайте требование.
Укажите имя требования в Name.
Задайте два сигнала, которые вы хотите применить к требованию. Сигналы определяют плоскость X-Y ограничивающего эллипса. Чтобы задать сигналы, нажмите соответствующие кнопки Select.
При нажатии кнопки Select открывается диалоговое окно Создать набор сигналов (Create Signal Set).
В окне модели щелкните сигнал, к которому вы хотите добавить требование. Диалоговое окно Create Signal Set обновляется с именем блока и номером порта, где расположен выбранный сигнал. Выберите сигнал и щелкните, чтобы добавить его к набору сигналов.
После определения зарегистрированного сигнала в диалоговом окне Create Signal Set, сигнал появляется в диалоговом окне Create Requirement.
Задайте радиусы ограничивающего эллипса как действительные положительные конечные значения в Semi-axis length. Вы задаете rx и ry, которые являются x-осью и y-осью радиусы перед любым поворотом вокруг центра эллипса.
Укажите положение центра ограничивающего эллипса в Center. Вы задаете x0 и y0, x и y координаты центра, как действительные конечные значения.
Задайте угол поворота эллипса вокруг его центра как действительный конечный скаляр в Angle (rad).
Задайте связанное Type как одно из следующих:
'<='
- Эллипс является верхней границей. Траектория плоскости фазы двух сигналов должна лежать внутри или на эллипсе.
'>='
- Эллипс является нижней границей. Траектория плоскости фазы двух сигналов должна лежать снаружи или на эллипсе.
(Необязательно) Чтобы создать итерационный график, который показывает рассчитанное значение требования для каждой итерации оптимизации, выберите Create Plot. График заполняется при выполнении оптимизации. Во время оптимизации программа вычисляет минимальное расстояние со знаком каждой точки в траектории фазовой плоскости до ограничивающего эллипса. Максимальное расстояние со знаком возвращается и строится при каждой итерации. Положительное значение указывает, что требование было нарушено, и, по крайней мере, одна из точек траектории находится вне ограниченной области.
Нажмите OK.
Новая переменная с заданным именем требования появится в области Data Response Optimizer. Графическое отображение требования также появляется в окне Response Optimizer приложения.
Можно задать пользовательские требования, такие как минимизация энергии системы. Чтобы задать пользовательские требования:
В Response Optimizer, в New меню, выберите Custom Requirement. Откроется диалоговое окно Создать требование (Create Requirement), в котором вы задаете пользовательское требование.
Укажите имя требования в Name.
Укажите тип требования в раскрывающемся меню Type.
Укажите имя функции, содержащей пользовательское требование в Function. Поле должно быть задано как указатель на функцию, использующий @
. Функция должна находиться в пути MATLAB. Щелкните, чтобы просмотреть или изменить функцию.
Если функция не существует, нажатие открывает ФАЙЛ MATLAB шаблона. Используйте этот файл для реализации пользовательского требования. Имя функции по умолчанию myCustomRequirement
.
(Необязательно) Чтобы предотвратить рассмотрение решателем определенных комбинаций параметров, выберите Error if constraint is violated. Используйте эту опцию только для ограничений, связанных с параметрами.
Во время итерации оптимизации решатель сначала оценивает требования с помощью этой опции.
Если ограничение нарушено, решатель пропускает оценку любых оставшихся требований и переходит к следующей итерации.
Если ограничение не нарушено, решатель оценивает оставшиеся требования для текущей итерации. Если какая-либо из остальных требований связывает сигналы или системы, то решатель моделирует модель.
Для получения дополнительной информации смотрите Пропустить симуляцию модели на основе нарушения ограничений параметра (GUI).
Примечание
Если вы установите этот флажок, не задайте сигналы или системы, которые будут связаны. Если вы задаете сигналы или системы, этот флажок игнорируется.
(Необязательно) Задайте сигнал или систему, или оба, которые будут связаны.
Можно применить это требование к сигналам модели или линеаризации вашей модели Simulink (требует Simulink Control Design™), или обоих.
Щелкните Select Signals and Systems to Bound (Optional), чтобы просмотреть область сигнала и линеаризации ввода-вывода выбора.
Чтобы применить это требование к сигналу модели:
В области Signal выберите записанный сигнал, к которому вы будете применять требование.
Если вы уже выбрали сигнал для регистрации, как описано в Specify Signals to Log, он появится в списке. Установите соответствующий флажок.
Если вы не выбрали сигнал для регистрации:
Нажмите кнопку. Откроется диалоговое окно Create Signal Set, где вы задаете записанный сигнал.
В окне модели щелкните сигнал, к которому вы хотите добавить требование.
Диалоговое окно Create Signal Set обновляется и отображает имя блока и номер порта, где расположен выбранный сигнал.
Выберите сигнал и щелкните, чтобы добавить его к набору сигналов.
В Signal set поле введите имя для выбранного набора сигналов.
Нажмите OK. Новая переменная с заданным именем появится в Data области Response Optimizer.
Чтобы применить это требование к линейной системе:
Задайте время симуляции, в которое модель линеаризируется в Snapshot Times. Для нескольких моментальных снимков симуляции задайте вектор.
Выберите входной/выходной набор линеаризации из области Linearization I/O.
Если вы уже создали набор ввода/вывода линеаризации, он появится в списке. Установите соответствующий флажок.
Если вы не создали набор ввода/вывода линеаризации, щелкните, чтобы открыть диалоговое окно Create linearization ввод-вывод set. Дополнительные сведения об использовании этого диалогового окна см. в разделе «Создание наборов ввода-вывода линеаризации».
Для получения дополнительной информации о линеаризации см. «Что такое линеаризация?» (Simulink Control Design).
Нажмите OK.
Новая переменная с заданным именем появится в Data области Response Optimizer. Графическое отображение требования также появляется в окне Response Optimizer приложения.
Диалоговое окно Править требования проекта (Edit Design Requirement) позволяет вам точно позиционировать сегменты ограничений и редактировать другие свойства этих ограничений. Диалоговое окно имеет два основных компонента:
Верхняя панель для задания редактируемого ограничения
Нижняя панель для редактирования параметров ограничений
Верхняя панель диалогового окна Edit Проекта Requirement напоминает изображение на следующем рисунке.
В приложении Control System Designer (Control System Toolbox) в Control System Toolbox™ можно редактировать требования проект с графиков для анализа. Раскрывающийся список Design requirement будет содержать все требования на этом графике.
Конкретные параметры, показанные на нижней панели диалогового окна Edit Design Requirement, зависят от типа ограничения/требования. В некоторых случаях нижняя панель содержит сетку с одной строкой для каждого сегмента и по одному столбцу для каждого параметра ограничения. В следующей таблице представлены различные параметры ограничений.
Параметры диалогового окна «Редактирование требований к проекту»
Параметр | Найдено в | Описание |
---|---|---|
Time | Верхняя и нижняя границы временной характеристики на графиках шага и импульсной характеристики | Задает временную область значений сегмента в ограничении/требовании. |
Amplitude | Верхняя и нижняя границы временной характеристики на графиках шага и импульсной характеристики | Определяет начальную и конечную амплитуду сегмента ограничения. |
Slope (1/s) | Верхняя и нижняя границы временной характеристики | Задает уклон сегмента ограничения в 1/с. Это альтернативный метод определения значений величин. Ввод значения нового Slope изменяет все ранее определенные значения величины. |
Final value | Ограничения, накладываемые на переходную характеристику | Определяет уровень входа после выполнения шага. |
Rise time | Ограничения, накладываемые на переходную характеристику | Определяет сегмент ограничения для определенного времени нарастания. |
% Rise | Ограничения, накладываемые на переходную характеристику | Процент области значений шага, используемый для описания времени нарастания. |
Settling time | Ограничения, накладываемые на переходную характеристику | Определяет сегмент ограничения для определенного времени урегулирования. |
% Settling | Ограничения, накладываемые на переходную характеристику | Процент конечного значения, определяющего область осаждения, используемую для описания времени урегулирования. |
% Overshoot | Ограничения, накладываемые на переходную характеристику | Процентное значение, на которое сигнал может превысить окончательное значение перед установлением. |
% Undershoot | Ограничения, накладываемые на переходную характеристику | Определяет сегменты ограничений для определенного процента недолива. |