setBlockRateConversion

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

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

Синтаксис

setBlockRateConversion(st,blk,method)
setBlockRateConversion(st,blk,'tustin',pwf)
setBlockRateConversion(st,blk,IF,DF)

Описание

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

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

пример

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

Примеры

свернуть все

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

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

Исследуйте преобразование блочной скорости по умолчанию на блок PID Controller 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, заданного как вектор символов или строка. Можно задать полный блок path или любой фрагмент блока path, который однозначно определяет блок среди других настроенных блоков st.

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

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

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

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

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

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

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

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

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

  • '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.

Смотрите Дискретный ПИД-регулятор и страницы с описанием pid для получения дополнительной информации об интеграторе и отфильтруйте методы.

Больше о

свернуть все

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

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

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

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

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

Можно изменить список настроенных блоков с помощью addBlock и removeBlock.

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

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

  • setBlockParam, setBlockValue и setTunedValue, чтобы изменить настроенную параметризацию блока и их значения.

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

Советы

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

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

Введенный в R2014a