Образцовый Discretizer

Каков образцовый Discretizer?

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

Можно использовать Образцовый Discretizer для:

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

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

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

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

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

Требования

Использовать Образцовый Discretizer

  • У вас должны быть лицензия Control System Toolbox™, Версия 5.2 или позже.

  • Убедитесь, что ваша модель не содержит устаревших блоков и обновляется до текущей версии Simulink. Для получения дополнительной информации смотрите Обновление моделей

Дискретизируйте модель с образцовым Discretizer

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

  • Запустите образцовый Discretizer

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

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

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

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

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

Запустите образцовый Discretizer

Чтобы открыть инструмент, в Редакторе Simulink, выбирают Analysis> Control Design> Model Discretizer.

Модель Simulink Discretizer открывается.

Также можно открыть Образцовый Discretizer из Командного окна MATLAB® с помощью функции slmdldiscui.

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

slmdldiscui('f14')

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

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

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

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

  • Zero-order hold

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

  • First-order hold

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

  • Tustin

    Билинейный (Тастин) приближение.

  • Tustin with prewarping

    Приближение Тастина с предварительным деформированием частоты.

  • Matched pole-zero

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

Дискретные блоки (Вводят параметры в z-область).  Создает дискретный блок, параметры которого являются “трудно закодированными” значениями, помещенными непосредственно в диалоговое окно блока. Модель Дискретизер использует функцию c2d, чтобы получить дискретизированные параметры в случае необходимости.

Для большего количества справки на функции c2d введите следующее в Командном окне:

help c2d

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

Примечание

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

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

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

Примечание

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

Конфигурируемая подсистема (Вводят параметры в z-область).  Создайте несколько кандидатов дискретизации в z-области для текущего выбора. Конфигурируемая подсистема может состоять из одного или нескольких блоков.

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

Примечание

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

Конфигурируемые подсистемы хранятся в библиотеке, содержащей кандидатов дискретизации и исходный непрерывный блок. Библиотеку назовут <model name>_disc_lib, и это будет храниться в токе. Например, библиотеку, содержащую конфигурируемую подсистему, созданную из модели f14, назовут f14_disc_lib.

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

Можно открыть конфигурируемую библиотеку подсистемы путем щелчка правой кнопкой по подсистеме в модели и выбора Library Link> Go to library block из контекстного меню.

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

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

Можно открыть библиотеку от Образцового Discretizer путем выбора модели Load из меню File.

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

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

Выберите Blocks и Discretize

  1. Выберите блок или блоки в Образцовой области просмотра в виде дерева Discretizer.

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

    Примечание

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

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

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

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

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

  2. Нажмите Store Settings.

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

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

  4. Выберите Discretize preset blocks из меню Discretize.

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

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

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

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

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

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

Просмотрите дискретизированную модель

Образцовый Discretizer отображает модель в иерархическом структурном виде.

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

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

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

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

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

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

Обновление модели представление Discretizer модели

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

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

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

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

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

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

  2. Откройте Подсистему модели Динамики Самолета в модели f14.

  3. Откройте окно библиотеки Discretizing.

    Введите discretizing в подсказке команды MATLAB.

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

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

  4. Добавьте Дискретизированную Передачу Fcn (с начальными состояниями) блок к f14/Aircraft Окну модели Динамики.

    1. Кликните по блоку Discretized Transfer Fcn в Библиотеке: дискретизация окна.

    2. Перетащите его в f14/Aircraft Окно модели Динамики.

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

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

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

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

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

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

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

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

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

    Диалоговое окно параметра для Дискретизированной Передачи Fcn теперь выглядит так.

  9. Нажмите OK.

    f14/Aircraft Окно модели Динамики теперь выглядит так.

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

    1. Кликните по блоку Transfer Fcn.1.

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

      f14/Aircraft Окно модели Динамики теперь выглядит так.

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

    1. Кликните по блоку Discretized Transfer Fcn.

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

      f14/Aircraft Окно модели Динамики теперь выглядит так.

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

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

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

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

Смотрите также

Похожие темы