Изменение параметра системы управления может привести к зависанию системы? - PullRequest
1 голос
/ 01 мая 2020

У меня нормально работает модель со следующими параметрами системы управления:

Non-stiff system

, но если я изменю один из параметров, система будет жесткая и нет шансов решить это вообще. Итак, мой вопрос:

  1. Почему изменение только одного параметра может привести к сбою в работе системы?
  2. Если я снова столкнусь с жесткой проблемой, как я могу найти точный параметр, который вызывает проблему?

Stiff system

1 Ответ

5 голосов
/ 04 мая 2020

DASSL - неявный решатель, и поэтому он должен уметь хорошо работать с жесткими системами. Тем не менее кажется, что за <2 с нужно выполнить более 500 шагов, так как это ваш выходной интервал (который вызывает сообщение). В вашем случае это может быть связано с быстрой динамикой, которая происходит внутри модели. </p>

По поводу ваших вопросов:

  1. Если модель имитирует до конца, проверьте контролируемые переменные и посмотрите, имеют место быстрые колебания (частота> 100 Гц). Это может произойти при увеличении пропорционального усиления контроллера, что делает всю систему «менее стабильной».
  2. Общие рекомендации по этому вопросу довольно трудны, но библиотека linearSystems2 может помочь. Создание «Полного линейного анализа» дает список состояний и то, как они соотносятся с полюсами. Полюса с самой высокой частотой обычно отвечают за жесткость и от наблюдения, какие состояния относятся к полюсам интереса, указывает, какие состояния исследовать. Путь от состояния к параметру зависит от разработчика моделей - по крайней мере, я не знаю общего совета по этому поводу.

Для 2. применительно к Modelica.Blocks.Examples.PID_Controller результат выглядит следующим образом: Full Linear Analysis of Modelica.Blocks.Examples.PID_Controller Видя, что, вероятно, пружина вызывает самые быстрые состояния в системе.

...