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

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

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

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

  • Идентифицируйте непрерывные блоки модели

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

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

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

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

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

Требования

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

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

Чтобы дискретизировать модель:

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

  • Задайте метод преобразования

  • Задайте шаг расчета

  • Задайте метод дискретизации

  • Дискретизируйте блоки

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

Стартовый дискретизатор модели

Чтобы открыть инструмент, в редакторе Simulink, на вкладке Apps, под Apps, под Control Systems, нажмите Model Discretizer.

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

Также можно открыть Model Discretizer из MATLAB® Командное окно с использованием slmdldiscui функция.

Следующая команда открывает Simulink Model Discretizer окно с f14 модель:

slmdldiscui('f14')

Чтобы открыть новую модель или библиотеку из Model Discretizer, выберите File > Load model.

Задайте метод преобразования

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

Список Transform method содержит следующие опции:

  • Zero-order hold

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

  • First-order hold

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

  • Tustin

    Билинейное (Tustin) приближение.

  • Tustin with prewarping

    Приближение Тастина с предваркой частоты.

  • Matched pole-zero

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

Задайте шаг расчета

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

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

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

Задайте метод дискретизации

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

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

Блок реализован как маскированный дискретный блок, который использует c2d (Control System Toolbox), чтобы преобразовать непрерывные параметры в дискретные параметры в коде инициализации маски.

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

Примечание

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

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

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

Для получения дополнительной помощи по c2d (Control System Toolbox), введите следующее в Командном окне:

help c2d

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

Примечание

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

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

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

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

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

Дискретизируйте блоки

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

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

Можно отключить ссылки на библиотеку, щелкнув правой кнопкой мыши по блоку и выбрав в контекстном меню Library Link > Disable Link.

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

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

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

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

    Примечание

    Необходимо выбрать блоки из древовидного представления Model Discretizer. Нажатие на блоки в редакторе не выбирает их для дискретизации.

  2. Выберите Discretize current block из меню Дискретизировать (Discretize), если выбран один блок, или выберите Discretize selected blocks из меню Дискретизировать (Discretize), если выбрано несколько блоков.

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

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

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

  2. Щелкните Настройки хранилища.

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

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

  4. Выберите Discretize preset blocks из меню Дискретизация.

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

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

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

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

Также можно выбрать Undo discretization из меню Дискретизировать (Discretize).

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

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

Model Discretizer отображает модель в иерархическом древовидном представлении.

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

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

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

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

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

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

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

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

Также можно выбрать View > Refresh.

Дискретизируйте блоки из модели Simulink

Можно заменить непрерывные блоки в модели ПО Simulink эквивалентными блоками, дискретизированными в s-домене, используя библиотеку дискретизации.

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

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

  2. Откройте подсистему Aircraft Dynamics Model в f14 модель.

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

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

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

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

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

    1. Щелкните на блоке Discretized Transfer Fcn в окне Library: discretizing.

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

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

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

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

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

    Дважды кликните Discretized Transfer Fcn блок в окне f14/Aircraft Dynamics Model.

    Откроется диалоговое окно Параметров блоков: Discretized Transfer Fcn.

    Скопируйте информацию о параметре из диалогового окна Transfer Fcn.1 блока в диалоговое окно Discretized Transfer Fcn блока.

  7. Введите 2 в поле Шаг расчета.

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

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

  9. Нажмите OK.

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

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

    1. Щелкните на блоке Transfer Fcn.1.

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

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

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

    1. Щелкните на блоке Discretized Transfer Fcn.

    2. Перетащите Discretized Transfer Fcn блок в положение, чтобы завершить модель.

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

Дискретизируйте модель с функцией sldiscmdl

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

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

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

См. также

Похожие темы