fastRestartForLinearAnalysis

Быстрый перезапуск для линейного анализа

Описание

пример

fastRestartForLinearAnalysis(model,'on') готовит model для одного рабочих процессов компиляции путем превращения быстрого перезапуска для линейного анализа 'on'. Если функция компиляции вызвана, модель останется скомпилированной после того, как функция будет закончена, выполняясь. Компиляция функций может затем быть позже названа без любых дополнительных компиляций. Если линейные аналитические точки или изменение замен блока с последующими вызовами компиляции функций, модель перекомпилирована.

пример

fastRestartForLinearAnalysis(model,'on',Name,Value) готовит model для одного рабочих процессов компиляции с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

пример

fastRestartForLinearAnalysis(model,'off') повороты быстро перезапускают для линейного анализа прочь, и восстанавливает параметры модели к их исходному значению. Simulink® не позволяет вам закрыть model в то время как это находится в соответствовавшем состоянии. Используйте этот синтаксис, чтобы повернуть быстрый перезапуск для линейного анализа прочь, чтобы закрыть model.

Можно также щелкнуть по ссылке в, кажется, на верхней части скомпилированной модели Simulink поворачивает fastRestartForLinearAnalysis off. Для получения дополнительной информации смотрите Советы.

Примеры

свернуть все

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

Откройте модель управления скорости вращения двигателя и поймите аналитические мысли для линеаризации. Это сделано, чтобы предотвратить перекомпиляцию между первым вызовом findop и linearize.

model = 'scdspeedctrl';
open_system(model);
io = getlinio(model);
fopt = findopOptions('DisplayReport','off');

Сконфигурируйте ПИ-контроллер, чтобы использовать переменные kp базового рабочего пространства и ki.

block = [model,'/PID Controller'];
set_param(block,'P','kp');
set_param(block,'I','ki');

Создайте сетку параметров, чтобы варьироваться.

vp = 0.0005:0.0005:0.003;
vi = 0.0025:0.0005:0.005;
[KP,KI] = ndgrid(vp,vi);
N = numel(KP);
sz = size(KP);

Инициализируйте переменные базового рабочего пространства kp и ki.

kp = KP(1);
ki = KI(1);

Поверните fastRestartForLinearAnalysis на и использование io как 'AnalysisPoints'.

fastRestartForLinearAnalysis(model,'on','AnalysisPoints',io);

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

ops = operspec(model); % operating point specifications
for i = N:-1:1
    kp = KP(i);
    ki = KI(i);
    Simulink.Block.eval(block); % evaluate the block
    op = findop(model,ops,fopt); % trim the model
    [j,k] = ind2sub(sz,i);
    sysFastRestartLoop(:,:,j,k) = linearize(model,io,op); % linearize the model
end

Выключите fastRestartForLinearAnalysis и закройте модель.

fastRestartForLinearAnalysis(model,'off');
bdclose(model);

Входные параметры

свернуть все

Имя модели Simulink в виде вектора символов, строки, slTuner, или slLinearizer объект. Модель должна быть в текущей рабочей папке или на пути MATLAB®.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: ...,'UseBusSignalLabels','on'

Аналитический набор точки, который содержит входные параметры, выходные параметры и открытия в виде разделенной запятой пары, состоящей из 'AnalysisPoints'и объект I/O линеаризации или вектор из объектов ввода-вывода линеаризации. Создать 'AnalysisPoints':

  • Задайте входные параметры, выходные параметры и использование открытий linio.

  • Если входные параметры, выходные параметры и открытия заданы в модели Simulink, извлекают эти точки из использования модели getlinio.

Каждый объект I/O линеаризации в 'AnalysisPoints'должен соответствовать модели Simulink model или некоторая модель - ссылка режима normal mode в иерархии модели.

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

Для получения дополнительной информации об определении входных параметров линеаризации видят выходные параметры и открытия, Задают Фрагмент Модели, чтобы Линеаризовать.

Замените линеаризацией блоки и подсистемы модели в виде разделенной запятой пары, состоящей из 'BlockSubstitutions'и одно из следующего:

  • Массив структур

  • Массив строк

  • Вектор символов

  • Массив ячеек из символьных векторов

Используйте 'BlockSubstitutions'чтобы задать пользовательскую линеаризацию для блока или подсистемы. Например, можно задать линеаризацию для блоков, которые не имеют аналитической линеаризации, такой как блоки с разрывами или триггируемыми подсистемами.

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

Отметьте указание, использовать ли номера каналов сигнала шины или имена, чтобы маркировать I/Os в линеаризовавшей модели в виде разделенной запятой пары, состоящей из 'UseBusSignalLabels'и одно из следующего:

  • 'off' — Используйте номера каналов сигнала шины для метки I/Os на сигналах шины в линеаризовавшей модели.

  • 'on' — Используйте имена сигнала шины к метке I/Os на сигналах шины в линеаризовавшей модели. Имена шины сигнала появляются в результатах, когда точки ввода-вывода при выходе следующих блоков:

    • Блок импорта корневого уровня, содержащий объект шины

    • Соедините шиной блок создателя

    • Блок Subsystem, источник которого прослеживает до выхода блока создателя шины

    • Блок Subsystem, источник которого прослеживает до импорта корневого уровня путем прохождения только через виртуальные или невиртуальные контуры подсистемы

Советы

Simulink не позволяет вам закрыть model в то время как это находится в соответствовавшем состоянии. Поворот быстро перезапускает для линейного анализа прочь, чтобы закрыть model. Можно выключить fastRestartForLinearAnalysis одним из следующих способов:

  • Используйте синтаксис fastRestartForLinearAnalysis(model,'off').

  • Щелкните по ссылке в, появляется на верхней части модели Simulink.

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

| | | | |

Введенный в R2019a