Когда вы вычисляете рабочую точку на основе входных, выходных или спецификаций состояния, Simulink® Программное обеспечение Control Design™ указывает, были ли спецификации успешно выполнены в процессе обрезки. Если обрезка не увенчалась успехом, чтобы определить спецификации, которые не могут быть выполнены, необходимо проверить свою обрезанную рабочую точку на соответствие исходным спецификациям.
При вычислении рабочей точки с помощью Steady State Manager программное обеспечение создает объект отчета рабочей точки и подсвечивает все значения рабочей точки, которые нарушают ограничения в спецификации.
Для примера рассмотрим scdairframeTRIM
модель. Откройте модель и установите параметры угла скорости и падения.
sys = 'scdairframeTRIM';
open_system(sys)
alpha_ini = -0.21;
v_ini = 933;
Чтобы открыть Steady State Manager, в окне модели Simulink, в галерее Apps, нажмите Steady State Manager.
Создайте спецификацию обрезки для модели. На вкладке Steady State нажмите Trim Specification.
В spec1 документе укажите, какие состояния известны, а какие находятся в установившемся состоянии.
Чтобы обрезать модель, на вкладке Specification нажмите Trim. Программное обеспечение генерирует отчет о рабочей точке и в соответствующем report1 документе подсвечивает любые нарушения ограничений красным цветом
Поиск оптимизации не смог найти рабочую точку, которая удовлетворяет спецификациям. Как подсвечено в Steady State Manager, три состояния, заданные как находящиеся в установившемся состоянии, не имеют значения. Подсвеченные значения состояний нарушают указанные ограничения больше, чем значение допуска, заданное на вкладке Report, в поле Validation Tolerance. Для статических условий dx Minimum и dx Maximum ограничения равны нулю; то есть скорость изменения для каждого состояния равна нулю. В обрезанной рабочей точке значения Actual dx нарушают эти ограничения.
Для этой модели установка второго состояния положения в установившемся состоянии чрезмерно деформирует систему, делая невозможным установившееся решение.
Чтобы удалить это установившееся ограничение, обновите спецификацию. В spec1 документе в столбце Steady State очистите соответствующую строку.
На вкладке Specification нажмите Trim. Программа обрезает модель и открывает соответствующую вкладку Report. Полученный отчет показывает, что нарушений ограничений нет.
Можно также проверить существующую рабочую точку на соответствие набору спецификаций. Например, чтобы проверить, удовлетворяют ли начальные условия модели требованиям в spec1
сначала создайте рабочую точку на основе начальных условий модели. На вкладке Steady State нажмите Operating Point. Программа создает рабочую точку и открывает соответствующий op1 документ.
Чтобы подтвердить эту рабочую точку относительно спецификаций в spec1
, на вкладке Operating Point, под Validate Against, выберите spec1
.
Программа создает отчет по рабочей точке и открывает соответствующий report3 документ.
Начальные условия модели не удовлетворяют спецификациям рабочей точки, как показано подсвеченными нарушениями ограничений.
При вычислении рабочей точки с помощью Model Linearizer программа не подсвечивает нарушения ограничений. Вместо этого необходимо проверить информацию отчета о рабочих точках на наличие нарушений.
Если вы обрезаете модель из предыдущего Steady State Manager примера, используя те же спецификации в Model Linearizer, программное обеспечение создает рабочую точку в Data Browser, в Linear Analysis Workspace.
Чтобы проверить, удовлетворяет ли рабочая точка заданным ограничениям, в Data Browser, в Linear Analysis Workspace, дважды кликните рабочую точку.
В диалоговом окне Править (Edit) для трех установившихся спецификаций значения обрезанного состояния в столбце Actual dx нарушают нулевые значения Desired dx.
Когда вы вычисляете рабочую точку в командной строке, findop
функция выводит отчет по рабочей точке в Командное окно по умолчанию. Можно также вернуть отчет о рабочей точке в качестве выходного аргумента. Для получения дополнительной информации смотрите findop
. Чтобы подтвердить соответствие рабочей точки спецификациям, необходимо проверить, удовлетворяют ли значения рабочей точки ограничениям.
Для примера откройте scdairframeTRIM
моделируйте и устанавливайте параметры модели.
sys = 'scdairframeTRIM';
open_system(sys)
alpha_ini = -0.21;
v_ini = 933;
Создайте объект спецификации рабочей точки и задайте, какие состояния известны, а какие находятся в установившемся состоянии.
opspec = operspec(sys); opspec.States(1).Known = [1;1]; opspec.States(1).SteadyState = [0;1]; opspec.States(3).Known = [1;1]; opspec.States(3).SteadyState = [0;1]; opspec.States(2).Known = 1; opspec.States(2).SteadyState = 0; opspec.States(4).Known = 0; opspec.States(4).SteadyState = 1;
Обрезать модель.
op = findop(sys,opspec);
Operating point search report: --------------------------------- Operating point search report for the Model scdairframeTRIM. (Time-Varying Components Evaluated at time t=0) Could not find a solution that satisfies all constraints. Relax the constraints to find a feasible solution. States: ---------- (1.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/Position x: 0 dx: 913 x: -3.05e+03 dx: -194 (0) (2.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/Theta x: 0 dx: 0 (3.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/U,w x: 913 dx: 25.3 x: -194 dx: 273 (0) (4.) scdairframeTRIM/Airframe Model/EOM/ Equations of Motion (Body Axes)/q x: 0 dx: 31.2 (0) Inputs: ---------- (1.) scdairframeTRIM/delta u: 0 [-Inf Inf] Outputs: ---------- (1.) scdairframeTRIM/alpha y: -0.21 [-Inf Inf] (2.) scdairframeTRIM/V y: 933 [-Inf Inf] (3.) scdairframeTRIM/q y: 0 [-Inf Inf] (4.) scdairframeTRIM/az y: 263 [-Inf Inf] (5.) scdairframeTRIM/gamma y: 0.21 [-Inf Inf]
В отчете о поиске рабочей точки dx
значения для заданных устойчивых состояний имеют нулевые ограничения, как обозначено 0
значение в круглых скобках. Поиск оптимизации не нашел установившейся рабочей точки, поскольку все три из этих состояний нарушают ограничения.