exponenta event banner

Дискретизатор модели

Что такое дискретизатор модели?

Model Discritizer выборочно заменяет непрерывные блоки Simulink ® дискретными эквивалентами. Дискретизация является важным шагом в проектировании цифровых контроллеров и для аппаратного моделирования в цикле.

Дискретизатор модели можно использовать для:

  • Определение непрерывных блоков модели

  • Изменение параметров блока с непрерывных на дискретные

  • Применение настроек дискретизации ко всем непрерывным блокам в модели или выбранным блокам

  • Создание подсистем вариантов, содержащих несколько кандидатов на дискретизацию вместе с исходным непрерывным блоком (блоками)

  • Переключение между различными кандидатами на дискретизацию и оценка результатов моделирования модели

Дискретизатор модели не поддерживает маскированные подсистемы.

Требования

Использование дискретизатора модели

Дискретизация модели с помощью дискретизатора модели

Для дискретизации модели:

  • Запуск дискретизатора модели

  • Укажите метод преобразования

  • Укажите время образца

  • Укажите метод дискретизации

  • Дискретизировать блоки

f14 показывает шаги дискретизации модели.

Начать дискретизатор модели

Чтобы открыть инструмент, в Редакторе Simulink, на вкладке Apps, в соответствии с Приложениями, под Системами управления, нажимают Model Discretizer.

Откроется дискретизатор модели Simulink.

Кроме того, можно открыть средство дискретизации модели в окне команд MATLAB ® с помощью slmdldiscui функция.

Следующая команда открывает окно Дискретизатор модели Simulink с помощью f14 модель:

slmdldiscui('f14')

Чтобы открыть новую модель или библиотеку, выберите команду «Файл» > «Загрузить модель».

Укажите метод преобразования

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

Список Метод преобразования (Transform method) содержит следующие опции.

  • Zero-order hold

    Удержание нулевого порядка на входах.

  • First-order hold

    Линейная интерполяция входов.

  • Tustin

    Билинейное (Тустинское) приближение.

  • Tustin with prewarping

    Tustin аппроксимация с предвоенной частотой.

  • Matched pole-zero

    Согласованный метод полюса-нуля (только для систем SISO).

Укажите время образца

Введите время выборки в поле Время выборки. Для дискретизатора модели это значение должно быть числовым.

Можно задать время смещения, введя двухэлементный вектор для дискретных блоков или исполнительных подсистем. Первый элемент является временем выборки, а второй элемент - временем смещения. Например, запись [1,0 0,1] будет задавать время выборки 1,0 секунды со смещением 0,1 секунды. Если смещение не указано, значение по умолчанию равно нулю.

Переменные рабочей области можно вводить при дискретизации блоков в s-домене. См. раздел Дискретные блоки (ввод параметров в s-области).

Укажите метод дискретизации

Укажите метод дискретизации в поле Заменить текущий выбор полем. Опции:

Дискретные блоки (ввод параметров в s-области).  Создание дискретного блока, параметры которого сохраняются в соответствующем непрерывном блоке. Время выборки и параметры дискретизации также находятся в диалоговом окне параметров блока.

Блок реализован как маскированный дискретный блок, который использует c2d(Панель инструментов системы управления) для преобразования непрерывных параметров в дискретные параметры в коде инициализации маски.

Эти блоки обладают уникальной возможностью возврата к непрерывному поведению, если время выборки изменяется на ноль. Ввод времени образца в качестве переменной рабочего пространства ('Ts', например) позволяет легко переключаться с непрерывного на дискретный и обратно. См. раздел Указание времени образца.

Примечание

При создании кода из модели параметры не настраиваются, если для поведения параметра по умолчанию задано значение Inlined в диалоговом окне Параметры конфигурации (Configuration Parameters) модели.

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

Дискретные блоки (ввод параметров в z-области).  Создание дискретного блока, параметры которого являются «жестко закодированными» значениями, помещенными непосредственно в диалоговое окно блока. Дискретизатор модели использует c2d(Панель инструментов системы управления) для получения дискретизированных параметров при необходимости.

Для получения дополнительной помощи по c2d(Панель инструментов системы управления) введите в окне команд следующее:

help c2d

На следующем рисунке показан непрерывный блок передаточной функции рядом с блоком передаточной функции, который был дискретизирован в z-области. Под блоком появляется диалоговое окно параметров блока для каждого блока.

Примечание

Если необходимо восстановить точно исходные значения непрерывных параметров после сеанса дискретизации модели, необходимо ввести параметры в s-домене.

Подсистема вариантов (введите параметры в s-домене).  Создайте несколько кандидатов дискретизации, используя значения s-домена для текущего выбора. Создает дискретный блок, параметры которого сохраняются из соответствующего непрерывного блока.

Поле Местоположение для блока в подсистеме вариантов становится активным при выборе этой опции. Эта опция позволяет создать новую подсистему вариантов.

Подсистема вариантов (введите параметры в z-области).  Создайте несколько кандидатов дискретизации в z-области для текущего выбора. Создает дискретный блок, параметры которого являются «жестко закодированными» значениями, помещенными непосредственно в диалоговое окно блока.

Поле Местоположение для блока в подсистеме вариантов становится активным при выборе этой опции. Эта опция позволяет создать новую подсистему вариантов.

Дискретизировать блоки

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

Библиотеку можно открыть в окне Дискретизатор модели (Model Discritizer), выбрав команду Загрузить модель (Load model) в меню Файл (File).

Можно отключить связи с библиотекой, щелкнув правой кнопкой мыши на блоке и выбрав в контекстном меню команду «Связь с библиотекой» > «Отключить связь».

Существует два способа дискретизации блоков.

Выбор блоков и дискретизация

  1. Выберите блок или блоки на панели дерева Дискретизатор модели (Model Discritizer).

    Чтобы выбрать несколько блоков, нажмите и удерживайте клавишу Ctrl на клавиатуре при выборе блоков.

    Примечание

    Необходимо выбрать блоки в древовидном представлении Дискретизатор модели (Model Discritizer). При щелчке по блокам в редакторе они не выбираются для дискретизации.

  2. Выберите пункт «Дискретизировать текущий блок» в меню «Дискретизировать», если выбран один блок, или выберите пункт «Дискретизировать выбранные блоки» в меню «Дискретизировать», если выбрано несколько блоков.

    Можно также дискретизировать текущий блок, нажав кнопку «Дискретизировать», показанную ниже.

Сохранение настроек дискретизации и применение их к выбранным блокам в модели

  1. Введите параметры дискретизации для текущего блока.

  2. Щелкните Сохранить настройки.

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

  3. При необходимости повторите шаги 1 и 2.

  4. В меню «Дискретизация» выберите пункт «Дискретизировать предустановленные блоки».

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

Кандидат на дискретизацию можно удалить из подсистемы вариантов, выбрав его в поле Местоположение блока в подсистеме вариантов и нажав кнопку Удалить.

Отмена дискретизации

Чтобы отменить дискретизацию, нажмите кнопку Отменить дискретизацию.

Также можно выбрать пункт Отменить дискретизацию (Undo discetization) в меню Дискретизация (Discetize).

Эта операция отменяет дискретизации в текущем выборе и его потомках. Например, выполнение операции отмены для подсистемы приведет к удалению дискретизации из всех блоков на всех уровнях иерархии подсистемы.

Просмотр дискретизированной модели

Функция дискретизации модели отображает модель в иерархическом древовидном представлении.

Просмотр дискретизированных блоков

Значок блока в древовидном представлении выделяется символом «z» после дискретизации блока.

На следующем рисунке показано, что подсистема Aircraft Dynamics Model была дискретизирована в вариационную подсистему с двумя кандидатами на дискретизацию.

Остальные блоки в этом f14 модель не была дискретизирована.

На следующем рисунке показана подсистема модели динамики самолета f14 пример модели после дискретизации в вариационную подсистему, содержащую исходную непрерывную модель и два кандидата дискретизации.

На следующем рисунке показана подсистема вариантов модели Aircraft Dynamics с двумя кандидатами на дискретизацию.

Обновление дискретизатора модели

Чтобы обновить представление дерева Дискретизатор модели (Model Discritizer) модели после ее изменения, нажмите кнопку Обновить (Refresh).

Также можно выбрать «Просмотр» > «Обновить».

Дискретизация блоков из модели Simulink

Можно заменить непрерывные блоки в программной модели Simulink эквивалентными блоками, дискретизированными в s-области, с помощью библиотеки дискретизации.

Процедура ниже показывает, как заменить непрерывный блок Transfer Fcn в подсистеме модели динамики самолета f14 модель с дискретизированным блоком Transfer Fcn из библиотеки дискретизации. Блок дискретизируется в s-области с помощью метода преобразования хранения нулевого порядка и двухсекундного времени выборки.

  1. Откройте окно f14 модель.

  2. Откройте подсистему модели динамики самолета в f14 модель.

  3. Откройте окно Библиотека дискретизации.

    Войти discretizing в командной строке MATLAB.

    Откроется окно Библиотека: дискретизация.

    Эта библиотека содержит дискретизированные блоки s-домена.

  4. Добавьте блок Дискретизированный перенос Fcn (с начальными состояниями) в окно f14/Aircraft Dynamics Model.

    1. Щелкните блок Дискретизированный перенос Fcn в окне Библиотека: дискретизация.

    2. Перетащите его в окно f14/Aircraft Dynamics Model.

  5. Откройте диалоговое окно параметров блока Fcn.1 передачи.

    Дважды щелкните блок Перенести Fcn.1 в окне f14/Aircraft Dynamics Model.

    Откроется диалоговое окно «Параметры блока: Перенос Fcn.1».

  6. Откройте диалоговое окно параметров для блока дискретизированного переноса Fcn.

    Дважды щелкните блок Дискретизированный перенос Fcn в окне f14/Aircraft Dynamics Model.

    Откроется диалоговое окно «Параметры блока: дискретизированный перенос».

    Скопируйте информацию о параметрах из диалогового окна Блок передачи Fcn.1 в диалоговое окно Блок дискретизированной передачи Fcn.

  7. Войти 2 в поле Время выборки.

  8. Выбрать zoh из раскрывающегося списка Метод.

    Диалоговое окно параметров для дискретизированного переноса Fcn теперь выглядит следующим образом.

  9. Нажмите кнопку ОК.

    Теперь окно f14/Aircraft Dynamics Model выглядит следующим образом.

  10. Удалите исходный блок Fcn.1 передачи.

    1. Щелкните на блоке «Перенос Fcn.1».

    2. Нажмите клавишу Delete.

      Теперь окно f14/Aircraft Dynamics Model выглядит следующим образом.

  11. Добавьте в модель блок Disctized Transfer Fcn.

    1. Выберите блок Дискретизированный перенос Fcn.

    2. Перетащите блок дискретизированного переноса Fcn в нужное положение для завершения модели.

      Теперь окно f14/Aircraft Dynamics Model выглядит следующим образом.

Дискретизация модели с помощью функции sldiscmdl

Используйте sldiscmdl функция дискретизации моделей программного обеспечения Simulink из окна команд MATLAB. Можно указать метод преобразования, время выборки и метод дискретизации с помощью sldiscmdl функция.

Например, следующая команда дискретизирует f14 модель в s-области с 1-секундным временем выборки с использованием метода преобразования хранения нулевого порядка:

sldiscmdl('f14',1.0,'zoh')

См. также

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