Какова лучшая практика для включения смешанного времени выборки в модели Simulink - PullRequest
0 голосов
/ 16 января 2019

Внешняя библиотека (из PreScan) запрашивает 200 Гц, в то время как моя модель контрольной установки должна работать на частоте 100 Гц. Поэтому мой вопрос заключается в том, как я могу координировать эти два вида деятельности? Меня беспокоит то, что если я использую 200 Гц в Simulink, это может поставить под угрозу точность моего контрольного устройства.

Можно ли установить шаг времени Simulink равным 1/100 при сохранении внешней библиотеки для работы на частоте 200 Гц?

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Вы можете использовать как явное, так и неявное управление скоростью в Simulink.

  1. Время выборки Чтобы установить основное время выборки, зайдите в: Параметр конфигурации> Солвер> Размер с фиксированным шагом. Вы также можете использовать Simulink API:

get_param (bdroot, 'FixedStep')

set_param (bdroot, 'FixedStep', '0,005')% 200 Гц

  1. Цвет Чтобы активировать цвета «Время выборки», перейдите в: «Дисплей»> «Время выборки»> «Все». Легенда о времени выборки поможет вам понять, как работает неявный контроль скорости.

  2. Вариант времени выборки Вы можете управлять параметрами задания и времени выборки через: Параметры конфигурации> Решатель> Задачи и параметры времени выборки.

В начале вы можете активировать автоматическую обработку изменения скорости передачи данных. Затем вы проанализируете, какие цвета имеют ваши элементы модели, и поместите блоки Rate-Transition на сигнальные линии данных между элементами модели с разными частотами дискретизации.

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

Вы можете открыть примеры сборки в Simulink, чтобы увидеть, как это работает:

sf_ladder_logic_scheduler

sf_loop_scheduler

0 голосов
/ 16 января 2019

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

Очень типично, чтобы некоторые блоки в вашей модели были сэмплированы, скажем, с частотой 100 Гц, а другие части вашей модели - с частотой 200 Гц. В этом случае вы бы выбрали дискретный решатель и задали ему время выборки 200 Гц. Блоки с частотой 200 Гц будут выполняться на каждом шаге времени решателя, а блоки с частотой 100 Гц - с каждым вторым шагом времени решателя.

Вам следует ознакомиться с разделом Sample Times в системах документации.

...