Discretizer модели выборочно заменяет непрерывные блоки Simulink® на дискретные эквиваленты. Дискретизация является критическим шагом в цифровом проектировании контроллера и для оборудования симуляции в цикле.
Можно использовать Discretizer Модели для:
Идентифицируйте непрерывные блоки модели
Измените параметры блока от непрерывного до дискретного
Примените настройки дискретизации ко всем непрерывным блокам в модели или выбранным блокам
Создайте конфигурируемые подсистемы, которые содержат несколько кандидатов дискретизации наряду с исходным непрерывным блоком (блоками)
Переключитесь среди различных кандидатов дискретизации и оцените получившиеся симуляции модели
Использовать Discretizer Модели
У вас должны быть лицензия Control System Toolbox™, Версия 5.2 или позже.
Убедитесь, что ваша модель не содержит устаревших блоков и обновляется до текущей версии Simulink. Для получения дополнительной информации смотрите Обновление моделей
Дискретизировать модель:
Запустите Discretizer Модели
Задайте метод преобразования
Задайте шаг расчета
Задайте метод дискретизации
Дискретизируйте блоки
f14
модель показывает шаги в дискретизации модели.
Чтобы открыть инструмент, в Редакторе Simulink, на вкладке Apps, под Apps, под Control Systems, нажимают 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-область),
Создает дискретный блок, параметры которого сохраняются от соответствующего непрерывного блока.
Дискретные блоки (Вводят параметры в z-область),
Создает дискретный блок, параметры которого “трудно закодированы “значения, помещенные непосредственно в диалоговое окно блока.
Конфигурируемая подсистема (Вводят параметры в s-область),
Создайте несколько кандидатов дискретизации, использующих s-значения-домена в текущем выборе. Конфигурируемая подсистема может состоять из одного или нескольких блоков.
Конфигурируемая подсистема (Вводят параметры в z-область),
Создайте несколько кандидатов дискретизации в z-области для текущего выбора. Конфигурируемая подсистема может состоять из одного или нескольких блоков.
Дискретные блоки (Вводят параметры в 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
Выберите блок или блоки в области просмотра в виде дерева Discretizer Модели.
Чтобы выбрать несколько блоков, нажмите и удержите кнопку Ctrl на клавиатуре при выборе блоков.
Необходимо выбрать блоки из структурного вида Discretizer Модели. Нажатие на блоки в редакторе не выбирает их для дискретизации.
Выберите Discretize current block из меню Discretize, если один блок выбран или select Discretize selected blocks from меню Discretize, если несколько блоков выбраны.
Можно также дискретизировать текущий блок путем нажатия кнопки Discretize, показанной ниже.
Сохраните настройки дискретизации и примените их к выбранным блокам в модели
Введите настройки дискретизации для текущего блока.
Нажмите Store Settings.
Это добавляет текущий блок с его настройками дискретизации группе предварительно установленных блоков.
Повторите шаги 1 и 2 по мере необходимости.
Выберите Discretize preset blocks из меню Discretize.
Можно удалить кандидата дискретизации из конфигурируемой подсистемы путем выбора его в Месте для блока в конфигурируемом поле подсистемы и нажатия кнопки Delete.
Чтобы отменить дискретизацию, нажмите кнопку Undo discretization.
В качестве альтернативы можно выбрать Undo discretization из меню Discretize.
Эта операция отменяет дискретизации в текущем выборе и его дочерних элементах. Например, выполнение операции отмены на подсистеме удалит дискретизацию из всех блоков на всех уровнях иерархии подсистемы.
Discretizer модели отображает модель в иерархическом структурном виде.
Значок блока в структурном виде становится подсвеченным с “z”, когда блок был дискретизирован.
Следующий рисунок показывает, что Подсистема модели Динамики Самолета была дискретизирована в конфигурируемую подсистему с тремя кандидатами дискретизации.
Другие блоки в этом f14
модель не была дискретизирована.
Следующий рисунок показывает Подсистему модели Динамики Самолета f14
модель в качестве примера после дискретизации в конфигурируемую подсистему, содержащую исходную непрерывную модель и трех кандидатов дискретизации.
Следующий рисунок показывает библиотеку, содержащую Модель Динамики Самолета конфигурируемая подсистема с исходной непрерывной моделью и тремя кандидатами дискретизации.
Чтобы обновить Модель структурный вид Discretizer модели, когда модель будет изменена, нажмите кнопку Refresh.
В качестве альтернативы можно выбрать View> Refresh.
Можно заменить непрерывные блоки в модели ПО Simulink с эквивалентными блоками, дискретизированными в s-области, пользующейся библиотекой Discretizing.
Процедура ниже показов, как заменить непрерывный блок Transfer Fcn в Подсистеме модели Динамики Самолета f14
модель с дискретизированным блоком Transfer Fcn из Библиотеки Дискретизации. Блок дискретизируется в s-области с нулевым порядком, содержат, преобразовывают метод и двухсекундный шаг расчета.
Откройте f14
модель.
Откройте Подсистему модели Динамики Самолета в f14
модель.
Откройте окно библиотеки Discretizing.
Введите discretizing
в командной строке MATLAB.
Библиотека: дискретизация окна открывается.
Эта библиотека содержит дискретизированные блоки s-области.
Добавьте Discretized Transfer Fcn (с начальными состояниями) блок к f14/Aircraft Окну модели Динамики.
Кликните по блоку Discretized Transfer Fcn в Библиотеке: дискретизация окна.
Перетащите его в f14/Aircraft Окно модели Динамики.
Откройте диалоговое окно параметра для блока Transfer Fcn.1.
Дважды кликните блок Transfer Fcn.1 в f14/Aircraft Окне модели Динамики.
Параметры блоков: диалоговое окно Fcn.1 Передачи открывается.
Откройте диалоговое окно параметра для блока Discretized Transfer Fcn.
Дважды кликните блок Discretized Transfer Fcn в f14/Aircraft Окне модели Динамики.
Параметры блоков: Дискретизированное диалоговое окно Transfer Fcn открывается.
Скопируйте информацию о параметре от диалогового окна блока Transfer Fcn.1 до диалогового окна блока Discretized Transfer Fcn.
Введите 2
в поле Шага расчета.
Выберите zoh
из выпадающего списка Method.
Диалоговое окно параметра для Discretized Transfer Fcn теперь выглядит так.
Нажмите OK.
f14/Aircraft Окно модели Динамики теперь выглядит так.
Удалите исходный блок Transfer Fcn.1.
Кликните по блоку Transfer Fcn.1.
Нажмите клавишу DELETE.
f14/Aircraft Окно модели Динамики теперь выглядит так.
Добавьте блок Discretized Transfer Fcn в модель.
Кликните по блоку Discretized Transfer Fcn.
Перетащите блок Discretized Transfer Fcn в положение, чтобы завершить модель.
f14/Aircraft Окно модели Динамики теперь выглядит так.
Используйте sldiscmdl
функция, чтобы дискретизировать модели ПО Simulink из Окна Команды MATLAB. Можно задать метод преобразования, шаг расчета и метод дискретизации с sldiscmdl
функция.
Например, следующая команда дискретизирует f14
модель в s-области с 1 вторым шагом расчета с помощью нулевого порядка содержит, преобразовывают метод:
sldiscmdl('f14',1.0,'zoh')