Обработайте блоки с представлением внутреннего состояния

Объект рабочей точки исключает блоки с внутренними состояниями

Объект рабочей точки, используемый для линеаризации и системы управления, не включает Simulink® блоки с представлением внутреннего состояния, такие как следующее:

Например, если вы вычисляете установившуюся рабочую точку для следующей модели Simulink, получившийся объект рабочей точки не включает состояния блока Backlash, потому что эти состояния имеют внутреннее представление. Если вы используете этот объект рабочей точки инициализировать модель Simulink, начальные условия блоков Backlash могут быть несовместимыми с рабочей точкой.

Как пример, можно вычислить рабочую точку для модели myModel из снимка состояния симуляции в 10 секунд и затем линеаризуют модель в этой рабочей точке. В этом случае, linearize функция инициализирует состояние модели рабочей точкой прежде, чем линеаризовать модель.

op = findop('myModel',10);
linsys = linearize('myModel',io,op);

Если myModel содержит один или несколько блоков с представлением внутреннего состояния, op не содержит внутренние состояния. Поэтому linsys не может быть точное линейное представление модели.

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

linsys = linearize('myModel',io,10);

Этот подход старается не инициализировать модель рабочей точкой, которая пропускает информацию состояния.

Сконфигурируйте блоки с внутренними состояниями для установившегося поиска рабочей точки

Блоки с внутренними состояниями могут вызвать проблемы для установившегося поиска рабочей точки (обрезка). Где нет никакого прямого сквозного соединения, вход с блоком в текущее время не определяет выход блока в текущее время.

Чтобы устранить эту проблему для Memory, Transport Delay или блоки Variable Transport Delay, выбирает параметры блоков Direct feedthrough of input during linearization перед поиском рабочей точки или линеаризацией модели в устойчивом состоянии. Эта установка заставляет такие блоки вести себя, как будто у них есть усиление одного во время поиска рабочей точки.

Например, следующая модель включает блок Transport Delay. В этом случае вы не можете найти установившуюся рабочую точку с помощью оптимизации, потому что выход Transport Delay всегда является нулем. Поскольку опорный сигнал равняется 1, вход с блоком Plant должен быть ненулевым, чтобы заставить блок объекта иметь выход 1 и быть в устойчивом состоянии.

Выберите опцию Direct feedthrough of input during linearization в диалоговом окне Block Parameters перед поиском рабочей точки. Эта установка позволяет блоку PID Controller передавать ненулевое значение блоку Plant.

Можно также установить прямые проходные опции в командной строке.

БлокКоманда, чтобы задать прямое сквозное соединение
Memoryset_param(blockname,'LinearizeMemory','on')
Transport Delay или Variable Transport Delayset_param(blockname,'TransDelayFeedthrough','on')

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

Похожие темы