setBlockRateConversion

Установите настройки преобразования скорости для настроенного блока в slTuner интерфейс

Описание

Когда вы используете systune с Simulink®, настройка выполняется со частотой дискретизации, заданной Ts свойство slTuner интерфейс. Когда вы используете writeBlockValue чтобы записать настроенные параметры назад в модель Simulink, каждое значение настроенного блока автоматически преобразуется из шага расчета, используемого для настройки, во время расчета блока Simulink. Метод преобразования скорости, сопоставленный с каждым настроенным блоком, определяет, как должна выполняться эта операция повторной дискретизации. Использовать getBlockRateConversion для запроса скорости преобразования блоков и использования setBlockRateConversion чтобы изменить его.

setBlockRateConversion(st,blk,method) устанавливает метод преобразования скорости настроенного блока в slTuner интерфейс, st.

setBlockRateConversion(st,blk,'tustin',pwf) устанавливает метод Тастина как метод преобразования скорости для blk, с pwf как предварительная частота.

пример

setBlockRateConversion(st,blk,IF,DF) устанавливает методы дискретизации для интегратора и производных членов фильтра при blk является блоком PID Controller в непрерывном времени. Для блоков PID в дискретном времени эти методы заданы в блоке Simulink и не могут быть изменены в slTuner интерфейс.

Примеры

свернуть все

Создайте slTuner интерфейс для модели Simulink scdcascade. Установите настройки преобразования скорости блока для одного из настроенных блоков.

open_system('scdcascade');
st = slTuner('scdcascade',{'C1','C2'});

Исследуйте преобразование скорости блоков по умолчанию для блока ПИД-регулятор C1.

[IF,DF] = getBlockRateConversion(st,'C1')
IF =

    'Trapezoidal'


DF =

    'Trapezoidal'

По умолчанию и методы интегратора, и методы производного контроллера Trapezoidal. Установите интегратора равным BackwardEuler и производную, к ForwardEuler.

IF = 'BackwardEuler';
DF = 'ForwardEuler';
setBlockRateConversion(st,'C1',IF,DF);

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

свернуть все

Интерфейс для настройки систем управления, смоделированных в Simulink, задается как slTuner интерфейс.

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

Пример: blk = 'scdcascade/C1', blk = "C1"

Метод преобразования скорости, сопоставленный с blk, указанный как одно из следующего:

  • 'zoh' - Удержание нулевого порядка на входах. Этот метод является методом преобразования скорости по умолчанию для большинства динамических блоков.

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

  • 'tustin' - Билинейное (Tustin) приближение. Опционально задайте предварительную частоту с pwf аргумент для лучшего соответствия частотного диапазона между исходной и преобразуемой скоростью динамикой вблизи предваренной частоты.

  • 'matched' - Соответствующий метод с нулем полюсов. Этот метод доступен только для блоков SISO.

Для получения дополнительной информации об этих методах преобразования скорости смотрите Непрерывно-Дискретные Методы Преобразования.

Предварительная частота для метода Тастина, заданная как положительная скалярная величина.

Интегратор и фильтрующие методы для преобразования скорости блока ПИД-регулятор, каждый из которых задан как один из следующих:

  • 'ForwardEuler' - Интегратор или состояние производного фильтра дискретизировано как Ts/(z-1)

  • 'BackwardEuler'Ts*z/(z-1)

  • 'Trapezoidal'(Ts/2)*(z+1)/(z-1)

Для блоков ПИД в непрерывном времени методы по умолчанию 'Trapezoidal' для интегратора и производного фильтра. Этот метод аналогичен методу Тустина.

Для блоков ПИД в дискретном времени, IF и DF определяются настройками Integrator method и Filter method в блоке Simulink и не могут быть изменены с setBlockRateConversion.

Смотрите Discrete PID Controller и pid страницы с описанием для получения дополнительной информации о методах интегратора и фильтра.

Подробнее о

свернуть все

Настроенный блок

Tuned blocks, используемая slTuner интерфейс, идентифицируйте блоки в модели Simulink, параметры которой необходимо настроить, чтобы удовлетворить целям настройки. Можно настроить большинство блоков Simulink, которые представляют линейные элементы, такие как усиления, передаточные функции или модели пространства состояний. (Полный список блоков, поддерживающих настройку, см. в разделе «Как параметризованы настроенные блоки Simulink»). Можно также настроить более сложные блоки, такие как SubSystem или Блоки s-function, задав эквивалентную настраиваемую линейную модель.

Используйте такие команды настройки, как systune для настройки параметров настроенных блоков.

Необходимо задать настроенные блоки (для примера, C1 и C2) когда вы создаете slTuner интерфейс.

st = slTuner('scdcascade',{'C1','C2'})

Список настроенных блоков можно изменить используя addBlock и removeBlock.

Для взаимодействия с настроенными блоками используйте:

  • getBlockParam, getBlockValue, и getTunedValue для доступа к параметризациям настроенных блоков и их текущим значениям.

  • setBlockParam, setBlockValue, и setTunedValue для изменения настроенных параметров блоков и их значений.

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

Совет

  • Для Model Discretizer блоков метод преобразования скорости задан в блоке Simulink и не может быть изменен с setBlockRateConversion.

  • Для статических блоков, таких как Gain или Lookup Table блоки, метод преобразования частот блоков игнорируется.

Введенный в R2014a