exponenta event banner

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

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

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

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

Настройка блоков с внутренними состояниями для поиска стационарных рабочих точек

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

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

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

Перед поиском рабочей точки в диалоговом окне «Параметры блока» выберите опцию «Прямой проход ввода во время линеаризации». Эта настройка позволяет блоку контроллера PID передавать ненулевое значение блоку Plant.

Кроме того, в командной строке можно задать параметры прямого прохождения.

БлокКоманда для задания прямого канала
Памятьset_param(blockname,'LinearizeMemory','on')
Задержка передачи или переменная задержка передачиset_param(blockname,'TransDelayFeedthrough','on')

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

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