exponenta event banner

Линеаризация сетей Simscape

Линеаризацию моделей с Simscape™ компонентами можно выполнять с помощью программного обеспечения Simulink ® Control Design™. Обычно некоторые состояния в сети Simscape зависят от других состояний через ограничения.

Поиск стационарной рабочей точки

Чтобы найти установившуюся рабочую точку для линеаризации модели Simscape, можно использовать:

  • Отсечение на основе оптимизации (Optimization-based trimming) - задание ограничений на входах, выходах или состояниях модели и вычисление установившейся рабочей точки, удовлетворяющей этим ограничениям.

    Для получения лучших результатов обрезки для моделей Simscape можно использовать оптимизаторы обрезки на основе проекций. Эти оптимизаторы обеспечивают согласованность начального условия модели при каждой оценке целевой функции или нелинейной функции ограничения.

  • Снимки моделирования - задание начальных условий модели вблизи ожидаемой точки равновесия и моделирование модели до достижения устойчивого состояния.

Дополнительные сведения см. в разделе Поиск стационарных рабочих точек для моделей Simscape.

Указать точки анализа

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

Чтобы добавить вход линеаризации или размыкание контура на вход компонента Simscape, сначала преобразуйте сигнал Simulink с помощью блока Simulink-PS Converter (Simscape).

Чтобы добавить выход линеаризации или размыкание контура к выходу компонента Simscape, сначала преобразуйте сигнал Simscape с помощью блока PS-Simulink Converter (Simscape).

Дополнительные сведения о добавлении точек линейного анализа см. в разделе Задание части модели для линеаризации.

Линеаризация модели

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

Общие примеры линеаризации см. в разделах Линеаризация модели симуляции в рабочей точке модели и Линеаризация в рабочей точке обрезки.

Устранение неполадок линеаризаций сети Simscape

Сети Simscape могут обычно линеаризоваться до нуля, когда набор системного уравнения Jacobians равен нулю при данном рабочем условии. Обычно плохие начальные условия состояний сети вызывают эти нулевые линеаризации.

Пример линеаризации нуля

Рассмотрим систему, в которой массовый расход из переменного отверстия управляет положением поршня. Уравнение массового расхода переменного отверстия:

q = CdA2μ (pp2 + pcr2) 0,25

Где:

  • q - массовый расход.

  • Cd - коэффициент разряда.

  • А - площадь отверстия с переменным отверстием.

  • λ - плотность жидкости.

  • p - перепад давления через отверстие, p = pa - pb.

  • pcr - критическое давление, которое является функцией pa и pb.

Регулирующей переменной для этой системы является площадь отверстия А, которая управляет массовым расходом. Якобиан массового расхода по отношению к управляющей переменной составляет:

∂q∂A=Cd2μ (pp2 + pcr2) 0,25

Уравнение массового расхода линеаризованного материала:

q = Cd2μ (pp2 + pcr2) 0.25A¯+∂q∂μμ¯+ (∂q∂pcr∂pcr∂pa+∂q∂p) p pa + (∂q∂pcr∂pcr∂pb−∂q∂p) p bb

где· dw представляет отклонение от номинальной переменной.

В линеаризованном уравнении, если номинальный перепад p давления через отверстие равен нулю, то A не оказывает влияния на q. То есть, если мгновенный перепад давления через отверстие равен нулю, площадь отверстия не влияет на массовый расход. Поэтому нельзя управлять положением поршня с помощью переменной управления площадью отверстия.

Чтобы избежать этого условия, линеаризуйте модель относительно рабочей точки, в которой перепад давления над отверстием не равен нулю (папб).

Советы по устранению неполадок

Для устранения проблем линеаризации, вызванных плохими начальными состояниями сетевых состояний, можно:

  1. Линеаризация системы в рабочей точке снимка или в отсеченной рабочей точке. По возможности рекомендуется такой подход.

  2. Найдите и измените проблемные состояния рабочей точки. Эта опция может быть трудной для моделей со многими состояниями.

С помощью первого подхода можно обеспечить согласованность состояний модели с помощью модуля моделирования Simulink и Simscape. Исходные условия Simscape не обязательно находятся в согласованном состоянии. Модуль Simscape переводит их в согласованное состояние во время моделирования и для обрезки с помощью решателей обрезки Simscape.

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

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

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

  1. Линеаризация модели с включенным помощником по линеаризации и извлечение LinearizationAdvisor объект.

    opt = linearizeOptions('StoreAdvisor',true);
    [linsys,linop,info] = linearize(mdl,io,op,opt);
    advisor = info.Advisor;
  2. Создайте пользовательский объект запроса и выполните поиск диагностической информации по блокам Simscape.

    qSS = linqueryIsBlockType('simscape');
    advSS = find(advisor,qSS);
  3. Чтобы найти проблемные значения состояния, проверьте рабочую точку блока в каждом BlockDiagnostic объект.

    advSS.BlockDiagnostics(i).OperatingPoint.States

Обнаружив проблемное состояние, можно изменить значение состояния в рабочей точке модели или создать рабочую точку с помощью operpoint.

Можно также выполнить поиск помощника по линеаризации в линеаризаторе модели. Дополнительные сведения см. в разделе Поиск блоков в результатах линеаризации, соответствующих определенным критериям.

См. также

Приложения

Функции

Связанные темы