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 непрерывного времени. Для блоков ПИДа дискретного времени эти методы заданы в блоке 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.

Смотрите Discrete PID Controller и 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 с текущими значениями настроенной параметризации блока.

Советы

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

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

Введенный в R2014a