exponenta event banner

Дискретный PID-контроллер (2DOF)

Дискретный или непрерывный двухстепенный ПИД-контроллер

  • Библиотека:
  • Симулинк/дискретный

  • Discrete PID Controller (2DOF) block

Описание

Блок дискретного контроллера PID (2DOF) реализует двухстепенный контроллер PID (PID, PI или PD). Блок идентичен блоку контроллера PID (2DOF) с параметром временной области, установленным на Discrete-time.

Блок генерирует выходной сигнал на основе разности между опорным сигналом и измеренным выходным сигналом системы. Блок вычисляет взвешенный разностный сигнал для пропорциональных и производных действий в соответствии с заданными весами уставок (b и c). Блочный выход - это сумма пропорциональных, интегральных и производных действий над соответствующими разностными сигналами, где каждое действие взвешивается в соответствии с параметрами усиления P, I и D. Полюс первого порядка фильтрует производное действие.

Блок поддерживает несколько типов контроллеров и структур. Конфигурируемые опции в блоке:

  • Тип контроллера (PID, PI или PD) - см. параметр контроллера.

  • Форма контроллера (параллельная или идеальная) - см. параметр Форма.

  • Временная область (дискретная или непрерывная) - см. параметр Временная область.

  • Начальные условия и триггер сброса - см. параметры исходного и внешнего сброса.

  • Пределы насыщения выхода и встроенный механизм защиты от навивки - см. параметр Limit output.

  • Отслеживание сигналов для безударной передачи управления и многолучевого управления - см. параметр Enable tracking mode.

При изменении этих опций внутренняя структура блока изменяется путем активации различных подсистем вариантов. (См. раздел Исполнительные подсистемы.) Чтобы проверить внутреннюю структуру блока и его подсистем вариантов, щелкните блок правой кнопкой мыши и выберите «Маска» > «Искать под маской».

Конфигурация управления

В одной общей реализации блок PID-контроллера работает на пути прямой связи контура обратной связи.

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

Настройка усиления PID

Коэффициенты контроллера PID и веса уставок настраиваются вручную или автоматически. Для автоматической настройки требуется программное обеспечение Simulink ® Control Design™. Дополнительные сведения об автоматической настройке см. в разделе Выбор параметра метода настройки.

Порты

Вход

развернуть все

Контрольный сигнал для установки, как показано на рисунке.

Когда опорный сигнал является вектором, блок действует отдельно на каждый сигнал, векторизируя коэффициенты PID и формируя векторный выходной сигнал одинаковых размеров. Коэффициенты PID и некоторые другие параметры можно указать как векторы тех же размеров, что и входной сигнал. Это эквивалентно заданию отдельного PID-контроллера для каждой записи во входном сигнале.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Сигнал обратной связи для контроллера с выхода установки.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Пропорциональное усиление, обеспечиваемое от внешнего по отношению к блоку источника. Ввод внешнего коэффициента усиления полезен, например, когда требуется сопоставить другую параметризацию PID с коэффициентами усиления PID блока. Можно также использовать внешние входные данные усиления для реализации управления PID по расписанию усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.

Зависимости

Чтобы включить этот порт, установите для параметра Controller Source значение external.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Интегральное усиление, обеспечиваемое от внешнего по отношению к блоку источника. Ввод внешнего коэффициента усиления полезен, например, когда требуется сопоставить другую параметризацию PID с коэффициентами усиления PID блока. Можно также использовать внешние входные данные усиления для реализации управления PID по расписанию усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.

При внешней подаче выигрышей также интегрируются временные вариации интегрального выигрыша. Этот результат возникает из-за того, как усиления PID реализуются в блоке. Дополнительные сведения см. в разделе Параметр источника параметров контроллера.

Зависимости

Чтобы включить этот порт, установите для параметра Controller Source значение externalи установите для параметра Controller тип контроллера, имеющий интегральное действие.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Коэффициент усиления производной, обеспечиваемый от внешнего по отношению к блоку источника. Ввод внешнего коэффициента усиления полезен, например, когда требуется сопоставить другую параметризацию PID с коэффициентами усиления PID блока. Можно также использовать внешние входные данные усиления для реализации управления PID по расписанию усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.

Когда вы поставляете прибыль внешне, временные вариации в выигрыше производной также дифференцируются. Этот результат возникает из-за того, как усиления PID реализуются в блоке. Дополнительные сведения см. в разделе Параметр источника параметров контроллера.

Зависимости

Чтобы включить этот порт, установите для параметра Controller Source значение externalи установите для параметра Controller тип контроллера с производным действием.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Коэффициент фильтра производной, предоставляемый от внешнего по отношению к блоку источника. Ввод внешних коэффициентов полезен, например, когда требуется сопоставить другую параметризацию PID с усилениями PID блока. Можно также использовать внешние входные данные для реализации управления PID с планированием усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.

Зависимости

Чтобы включить этот порт, установите для параметра Controller Source значение externalи установите для параметра Controller тип контроллера с отфильтрованной производной.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

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

Зависимости

Чтобы включить этот порт, установите для параметра Controller Source значение external.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

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

Зависимости

Чтобы включить этот порт, установите для параметра Controller Source значение externalи установите для параметра Controller тип контроллера с производным действием.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Триггер для сброса интегратора и фильтрации в исходное состояние. Параметр External reset используется для указания типа сигнала, инициирующего сброс. Значок порта указывает тип триггера, указанный в этом параметре. Например, на следующем рисунке показан блок PID Controller (2DOF) непрерывного времени с установленным на rising.

Когда срабатывает триггер, блок сбрасывает интегратор и фильтр в исходное состояние, заданное параметрами условия Integrator Initial и Filter Initial или портами I0 и D0.

Примечание

Для соответствия стандарту MISRA ® модель должна использовать логические сигналы для управления внешними портами сброса блока контроллера PID.

Зависимости

Чтобы включить этот порт, установите для параметра External reset любое значение, отличное от none.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point | Boolean

Исходное состояние интегратора, обеспечиваемое от внешнего по отношению к блоку источника.

Зависимости

Чтобы включить этот порт, установите Initial conditions Source в значение externalи установите для параметра Controller тип контроллера, имеющий интегральное действие.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Исходное состояние производного фильтра, обеспечиваемого от внешнего по отношению к блоку источника.

Зависимости

Чтобы включить этот порт, установите Initial conditions Source в значение externalи установите для параметра Controller тип контроллера с производным действием.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

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

Зависимости

Чтобы включить этот порт, выберите Limit output и установите значение output saturation Source в значение external.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

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

Зависимости

Чтобы включить этот порт, выберите Limit output и установите значение output saturation Source в значение external.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Сигнал на выход контроллера для отслеживания. Когда отслеживание сигнала активно, разность между сигналом отслеживания и выходом блока подается обратно на вход интегратора. Отслеживание сигналов полезно для реализации безударной передачи управления в системах, которые переключаются между двумя контроллерами. Это также может быть полезно для предотвращения замотки блоков в многолучевых системах управления. Дополнительные сведения см. в разделе Параметр Включить режим отслеживания.

Зависимости

Чтобы включить этот порт, выберите параметр Enable tracking mode.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Время дискретного интегратора, предоставляемое в виде скаляра для блока. Можно использовать собственное значение времени выборки интегратора дискретного времени, которое определяет скорость запуска блока в Simulink или на внешнем оборудовании. Значение времени интегратора дискретного времени должно соответствовать средней частоте дискретизации внешних прерываний, когда блок используется внутри условно выполняемой подсистемы.

Другими словами, можно указать Ts для любого из способов интегратора ниже, так что значение соответствует средней частоте дискретизации внешних прерываний. За дискретное время производный член передаточной функции контроллера равен:

D [N1 + (z)],

где α (z) зависит от метода интегратора, заданного этим параметром.

Forward Euler

α (z) = Tsz − 1.

Backward Euler

α (z) = Цз − 1.

Trapezoidal

α (z) = Ts2z + 1z − 1.

Дополнительные сведения об интеграции дискретного времени см. на справочной странице блока интегратора дискретного времени. Дополнительные сведения об условно выполненных подсистемах см. в разделе Обзор условно выполненных подсистем.

Зависимости

Чтобы включить этот порт, установите для параметра Time Domain значение Discrete-time и выберите PID Controller находится внутри условно выполняемой опции подсистемы.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Продукция

развернуть все

Выход контроллера, обычно основанный на сумме входного сигнала, интеграла входного сигнала и производной входного сигнала, взвешенной по весам уставки и по параметрам пропорционального, интегрального и производного усиления. Полюс первого порядка фильтрует производное действие. Какие термины присутствуют в сигнале контроллера, зависит от того, что выбрано для параметра Controller. Передаточная функция базового контроллера для текущих настроек отображается в разделе формулы компенсатора параметров блока и под маской. Другие параметры изменяют выходные данные блока, такие как пределы насыщения, заданные параметрами насыщения «Верхний предел» и «Нижний предел».

Выход контроллера является векторным сигналом, когда любой из входов является векторным сигналом. В этом случае блок действует как N независимых PID-контроллеров, где N - количество сигналов во входном векторе.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Параметры

развернуть все

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

PID

Пропорциональное, интегральное и производное действие.

PI

Только пропорциональное и интегральное действие.

PD

Только пропорциональное и производное действие.

Совет

Выход контроллера для настройки тока отображается в разделе Формула компенсатора параметров блока и под маской.

Программное использование

Параметр блока: Controller
Тип: строка, символьный вектор
Значения: "PID", "PI", "PD"
По умолчанию: "PID"

Укажите, является ли структура контроллера параллельной или идеальной.

Parallel

Пропорциональные, интегральные и производные коэффициенты усиления P, I и D применяются независимо. Например, для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в параллельной форме, u продукции диспетчера:

u = P (br y) + I1s (r y) + DN1 + N1s (cr − y),

где r - опорный сигнал, y - измеренный выходной сигнал установки, а b и c - веса уставки.

Для дискретно-временного контроллера 2-DOF в параллельной форме выходной сигнал контроллера:

u = P (br y) + (z) (r y) + DN1 + Nβ (z) (cr − y),

где параметры метода интегратора и метода фильтра определяют α (z) и β (z) соответственно.

Ideal

Пропорциональный коэффициент усиления P действует на сумму всех действий. Например, для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в идеальной форме, диспетчер произвел:

u = P [(br y) + I1s (r y) + DN1 + N1s (cr − y)].

В течение дискретного времени диспетчер PID с 2 финансовыми департаментами в идеальной форме функция перемещения:

u = P [(br y) + (z) (r y) + DN1 + Nβ (z) (cr − y)],

где параметры метода интегратора и метода фильтра определяют α (z) и β (z) соответственно.

Совет

Выходные данные контроллера для текущих настроек отображаются в разделе «Формула компенсатора» параметров блока и под маской.

Программное использование

Параметр блока: Controller
Тип: строка, символьный вектор
Значения: "Parallel", "Ideal"
По умолчанию: "Parallel"

При выборе Discrete-time, рекомендуется указать явное время выборки для блока. См. параметр Sample time (-1 для унаследованного). Выбор Discrete-time также включает метод Integrator и параметры метода Filter.

Если блок PID Controller находится в модели с синхронным управлением состоянием (см. блок управления состоянием (HDL Coder)), вы не можете выбрать Continuous-time.

Примечание

Блоки PID Controller (2DOF) и Discrete PID Controller (2DOF) идентичны, за исключением значения этого параметра по умолчанию.

Программное использование

Параметр блока: TimeDomain
Тип: строка, символьный вектор
Значения: "Continuous-time", "Discrete-time"
По умолчанию: "Discrete-time"

Для контроллеров дискретного времени PID включите порт интегратора дискретного времени, чтобы использовать собственное значение времени выборки интегратора дискретного времени. Чтобы обеспечить правильную интеграцию, используйте TDTI порт для обеспечения скалярного значения Δt для точного дискретно-временного интегрирования.

Зависимости

Чтобы включить этот параметр, установите для параметра Time Domain значение Discrete-time.

Программное использование

Параметр блока: UseExternalTs
Тип: строка, символьный вектор
Значения: "on", "off"
По умолчанию: "off"

Укажите время выборки, введя положительное скалярное значение, например 0,1. Время дискретной выборки по умолчанию -1 означает, что блок наследует время выборки от вышестоящих блоков. Однако рекомендуется явно задать время выборки контроллера, особенно если ожидается изменение времени выборки восходящих блоков. Влияние коэффициентов P, I, D и N контроллера зависит от времени выборки. Таким образом, для данного набора значений коэффициентов изменение времени выборки изменяет рабочие характеристики контроллера.

Дополнительные сведения см. в разделе Указание времени образца.

Чтобы реализовать контроллер непрерывного времени, установите для области времени значение Continuous-time.

Совет

Если требуется запустить блок с внешним или переменным временем выборки, установите для этого параметра значение -1 и поместите блок в триггерную подсистему. Затем запустите подсистему в требуемое время выборки.

Зависимости

Чтобы включить этот параметр, задайте для параметра Time domain значение Discrete-time.

Программное использование

Параметр блока: SampleTime
Тип: скаляр
Значения: -1, положительный скаляр
По умолчанию: -1

За дискретное время интегральным членом передаточной функции контроллера является Ia (z), где a (z) зависит от метода интегратора, заданного этим параметром.

Forward Euler

Прямая прямоугольная (левая) аппроксимация,

α (z) = Tsz − 1.

Этот метод лучше всего подходит для малого времени дискретизации, когда предел Найквиста велик по сравнению с полосой пропускания контроллера. Для большего времени выборки, Forward Euler способ может привести к нестабильности, даже при дискретизации системы, которая стабильна в течение непрерывного времени.

Backward Euler

Прямоугольное (правое) приближение назад,

α (z) = Цз − 1.

Преимущество Backward Euler способ заключается в том, что дискретизация стабильной системы непрерывного времени с использованием этого способа всегда дает стабильный результат дискретного времени.

Trapezoidal

Билинейное приближение,

α (z) = Ts2z + 1z − 1.

Преимущество Trapezoidal способ заключается в том, что дискретизация стабильной системы непрерывного времени с использованием этого способа всегда дает стабильный результат дискретного времени. Из всех доступных методов интеграции, Trapezoidal способ дает наиболее близкое совпадение между частотно-доменными свойствами дискретизированной системы и соответствующей системой непрерывного времени.

Совет

Формула контроллера для текущей настройки отображается в разделе Формула компенсатора параметров блока и под маской.

Дополнительные сведения об интеграции дискретного времени см. на справочной странице блока интегратора дискретного времени.

Зависимости

Чтобы включить этот параметр, установите для параметра Time Domain значение Discrete-time и установите контроллер в тип контроллера с интегральным действием.

Программное использование

Параметр блока: IntegratorMethod
Тип: строка, символьный вектор
Значения: "Forward Euler", "Backward Euler", "Trapezoidal"
По умолчанию: "Forward Euler"

За дискретное время производный член передаточной функции контроллера равен:

D [N1 + (z)],

где α (z) зависит от метода фильтра, указанного с этим параметром.

Forward Euler

Прямая прямоугольная (левая) аппроксимация,

α (z) = Tsz − 1.

Этот метод лучше всего подходит для малого времени дискретизации, когда предел Найквиста велик по сравнению с полосой пропускания контроллера. Для большего времени выборки, Forward Euler способ может привести к нестабильности, даже при дискретизации системы, которая стабильна в течение непрерывного времени.

Backward Euler

Прямоугольное (правое) приближение назад,

α (z) = Цз − 1.

Преимущество Backward Euler способ заключается в том, что дискретизация стабильной системы непрерывного времени с использованием этого способа всегда дает стабильный результат дискретного времени.

Trapezoidal

Билинейное приближение,

α (z) = Ts2z + 1z − 1.

Преимущество Trapezoidal способ заключается в том, что дискретизация стабильной системы непрерывного времени с использованием этого способа всегда дает стабильный результат дискретного времени. Из всех доступных методов интеграции, Trapezoidal способ дает наиболее близкое совпадение между частотно-доменными свойствами дискретизированной системы и соответствующей системой непрерывного времени.

Совет

Формула контроллера для текущей настройки отображается в разделе Формула компенсатора параметров блока и под маской.

Дополнительные сведения об интеграции дискретного времени см. на справочной странице блока интегратора дискретного времени.

Зависимости

Чтобы включить этот параметр, установите для параметра Time Domain значение Discrete-time и включите параметр Использовать отфильтрованную производную.

Программное использование

Параметр блока: FilterMethod
Тип: строка, символьный вектор
Значения: "Forward Euler", "Backward Euler", "Trapezoidal"
По умолчанию: "Forward Euler"

Главный

internal

Задайте коэффициенты усиления контроллера, коэффициент фильтрации и вес уставки, используя параметры блока P, I, D, N, b и c соответственно.

external

Задайте коэффициенты усиления PID, коэффициент фильтрации и вес уставки внешне, используя входы блоков. В блоке появляется дополнительный входной порт для каждого параметра, необходимого для текущего типа контроллера.

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

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

При внешней подаче выигрышей временные вариации интегральных и производных значений выигрышей интегрируются и дифференцируются соответственно. Вес уставки производной c также дифференцируется. Этот результат происходит потому, что как за непрерывное время, так и за дискретное время коэффициенты усиления применяются к сигналу до интегрирования или дифференциации. Например, для ПИД-контроллера непрерывного времени с внешними входами термин интегратора реализован, как показано на следующей иллюстрации.

В пределах блока входной сигнал u умножается на коэффициент усиления I внешнего интегратора перед интеграцией. Эта реализация дает:

ui=∫ (r y) I dt.

Таким образом, усиление интегратора включается в интеграл. Аналогично, в производном члене блока умножение на коэффициент усиления производной предшествует дифференциации, что приводит к дифференциации коэффициента усиления производной D и веса уставки производной c.

Программное использование

Параметр блока: ControllerParametersSource
Тип: строка, символьный вектор
Значения: "internal", "external"
По умолчанию: "internal"

Задайте конечное действительное значение коэффициента усиления для пропорционального коэффициента усиления. Если форма контроллера:

  • Parallel - Пропорциональное действие не зависит от интегральных и производных действий. Например, для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в параллельной форме, u продукции диспетчера:

    u = P (br y) + I1s (r y) + DN1 + N1s (cr − y),

    где r - опорный сигнал, y - измеренный выходной сигнал установки, а b и c - веса уставки.

    Для дискретно-временного контроллера 2-DOF в параллельной форме выходной сигнал контроллера:

    u = P (br y) + (z) (r y) + DN1 + Nβ (z) (cr − y),

    где параметры метода интегратора и метода фильтра определяют α (z) и β (z) соответственно.

  • Ideal - Пропорциональное усиление кратно интегральному и производному членам. Например, для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в идеальной форме, диспетчер произвел:

    u = P [(br y) + I1s (r y) + DN1 + N1s (cr − y)].

    В течение дискретного времени диспетчер PID с 2 финансовыми департаментами в идеальной форме функция перемещения:

    u = P [(br y) + (z) (r y) + DN1 + Nβ (z) (cr − y)],

    где параметры метода интегратора и метода фильтра определяют α (z) и β (z) соответственно.

Настраиваемый: Да

Зависимости

Чтобы включить этот параметр, установите для параметра Controller parameters Source значение internal.

Программное использование

Параметр блока: P
Тип: скаляр, вектор
По умолчанию: 1

Задайте конечное действительное значение коэффициента усиления для интегрального коэффициента усиления.

Настраиваемый: Да

Зависимости

Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internalи установите для параметра Controller тип, имеющий интегральное действие.

Программное использование

Параметр блока: I
Тип: скаляр, вектор
По умолчанию: 1

Укажите конечное действительное значение коэффициента усиления производной.

Настраиваемый: Да

Зависимости

Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internalи установите для параметра Controller значение PID или PD.

Программное использование

Параметр блока: D
Тип: скаляр, вектор
По умолчанию: 0

Только для контроллеров дискретного времени PID снимите эту опцию, чтобы заменить отфильтрованную производную незафильтрованным дифференциатором дискретного времени. При этом производный член выходного сигнала контроллера становится следующим:

Dz 1zTs (cr − y).

Для ПИД-контроллеров непрерывного времени термин производной всегда фильтруется.

Зависимости

Чтобы включить этот параметр, задайте для параметра Time domain значение Discrete-timeи задайте для параметра Controller тип, имеющий производный член.

Программное использование

Параметр блока: UseFilter
Тип: строка, символьный вектор
Значения: "on", "off"
По умолчанию: "on"

Задайте конечное действительное значение коэффициента усиления фильтра. Коэффициент фильтра определяет положение полюса фильтра в производном действии блока. Расположение полюса фильтра зависит от параметра временной области.

  • Когда временной домен равен Continuous-time, местоположение полюса s = -N.

  • Когда временной домен равен Discrete-timeрасположение полюса зависит от параметра метода Filter.

    Метод фильтрацииРасположение полюса фильтра
    Forward Eulerzpole = 1 NTs
    Backward Eulerzpole = 11 + NT
    Trapezoidalzpole = 1 NTs/21 + NTs/2

Блок не поддерживает N = Inf (идеальная нефильтрованная производная). Когда временной домен равен Discrete-time, можно снять флажок Использовать отфильтрованную производную для удаления фильтра производной.

Настраиваемый: Да

Зависимости

Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internal и установите для параметра Controller значение PID или PD.

Программное использование

Параметр блока: N
Тип: скаляр, вектор
По умолчанию: 100

Вес уставки на пропорциональном сроке контроллера. Пропорциональный член выходного сигнала контроллера 2-DOF равен P (br-y), где r - опорный сигнал, а y - измеренный выходной сигнал установки. Установка b в 0 исключает пропорциональное воздействие на опорный сигнал, что может уменьшить превышение в реакции системы на ступенчатые изменения в уставке. Изменение относительных значений b и c изменяет баланс между отбраковкой возмущений и отслеживанием уставок.

Настраиваемый: Да

Зависимости

Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internal.

Программное использование

Параметр блока: b
Тип: скаляр, вектор
По умолчанию: 1

Вес уставки по сроку производной контроллера. Производный член контроллера 2-DOF действует на cr-y, где r - опорный сигнал, а y - измеренный выходной сигнал установки. Таким образом, установка c в 0 исключает производное действие на опорный сигнал, которое может уменьшить переходную реакцию на ступенчатые изменения в уставке. Установка c в 0 может дать контроллер, который достигает как эффективного отклонения возмущений, так и плавного отслеживания уставки без чрезмерного переходного отклика. Изменение относительных значений b и c изменяет баланс между отбраковкой возмущений и отслеживанием уставок.

Настраиваемый: Да

Зависимости

Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internal и задайте для параметра Controller тип, имеющий производное действие.

Программное использование

Параметр блока: c
Тип: скаляр, вектор
По умолчанию: 1

При наличии программного обеспечения Simulink Control Design можно автоматически настраивать коэффициенты PID, если они являются внутренними для блока. Для этого используйте этот параметр для выбора инструмента настройки и нажмите кнопку «Настройка».

Transfer Function Based (PID Tuner App)

Используйте PID-тюнер, который позволяет интерактивно настраивать коэффициенты PID при проверке соответствующих системных ответов для проверки производительности. PID-тюнер может настраивать все коэффициенты P, I, D и N, а также коэффициенты уставки b и C. По умолчанию PID-тюнер работает с линеаризацией модели установки. Для моделей, которые не могут быть линеаризованы, можно настроить коэффициенты PID по модели завода, оцененной на основе смоделированных или измеренных данных отклика. Дополнительные сведения см. в разделе Проектирование двухстепенных PID-контроллеров (Simulink Control Design).

Frequency Response Based

Использовать PID-тюнер на основе частотного отклика, который настраивает коэффициенты PID-контроллера на основе данных оценки частотного отклика, полученных путем моделирования. Этот подход настройки особенно полезен для растений, которые не являются линеаризуемыми или линеаризуются до нуля. PID-тюнер на основе частотного отклика настраивает коэффициенты P, I, D и N, но не настраивает коэффициенты уставки b и C. Дополнительные сведения см. в разделе Проектирование PID-контроллера на основе данных частотно-ответной реакции завода (Simulink Control Design).

Оба этих способа настройки предполагают одноконтурную конфигурацию управления. Программное обеспечение Simulink Control Design включает другие подходы к настройке, которые подходят для более сложных конфигураций. Сведения о других способах настройки блока контроллера PID см. в разделе Выбор подхода к проектированию управления (Simulink Control Design).

Зависимости

Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internal.

Обнаружение пересечения нуля может точно обнаруживать разрывы сигнала, не прибегая к чрезмерно малым временным шагам, которые могут привести к длительному времени моделирования. Если в блоке PID Controller выбран параметр Limit output (Предельный выход) или activate External reset (Внешний сброс), активация функции обнаружения пересечения нуля может сократить время вычислений при моделировании. Выбор этого параметра активирует обнаружение пересечения нуля:

  • При сбросе начального состояния

  • При входе в верхнее или нижнее состояние насыщения

  • При выходе из верхнего или нижнего состояния насыщения

Дополнительные сведения об обнаружении пересечения нуля см. в разделе Обнаружение пересечения нуля.

Программное использование

Параметр блока: ZeroCross
Тип: строка, символьный вектор
Значения: "on", "off"
По умолчанию: "on"

Инициализация

Simulink использует начальные условия для инициализации интегратора и производного-фильтра (или нефильтрованной производной), выводимого в начале моделирования или при указанном триггерном событии. (См. параметр External reset.) Эти начальные условия определяют начальный блочный выход. Этот параметр используется для выбора способа подачи начальных значений условий в блок.

internal

Укажите начальные условия с помощью параметров условия Integrator Initial и Filter Initial. Если параметр Использовать отфильтрованную производную не выбран, используйте параметр Дифференциатор, чтобы указать начальное условие для нефильтрованного дифференциатора вместо начального условия фильтра.

external

Задайте исходные условия внешне с помощью входных данных блоков. На блоке появляются дополнительные входные порты Io и Do. Если параметр Использовать отфильтрованную производную не выбран, введите начальное условие для нефильтрованного дифференциатора в значение До вместо начального условия фильтра.

Программное использование

Параметр блока: InitialConditionSource
Тип: строка, символьный вектор
Значения: "internal", "external"
По умолчанию: "internal"

Simulink использует начальное условие интегратора для инициализации интегратора в начале моделирования или при указанном событии триггера (см. Внешний сброс). Начальное состояние интегратора и начальное состояние фильтра определяют начальный выход блока контроллера PID.

Начальное условие интегратора не может быть NaN или Inf.

Зависимости

Чтобы использовать этот параметр, на вкладке Инициализация установите для параметра Источник значение internalи установите для параметра Controller тип, имеющий интегральное действие.

Программное использование

Параметр блока: InitialConditionForIntegrator
Тип: скаляр, вектор
По умолчанию: 0

Simulink использует начальное условие фильтра для инициализации производного фильтра в начале моделирования или при указанном событии триггера (см. Внешний сброс). Начальное состояние интегратора и начальное состояние фильтра определяют начальный выход блока контроллера PID.

Начальное условие фильтра не может быть NaN или Inf.

Зависимости

Чтобы использовать этот параметр, на вкладке Инициализация установите для параметра Источник значение internalи использовать контроллер с производным фильтром.

Программное использование

Параметр блока: InitialConditionForFilter
Тип: скаляр, вектор
По умолчанию: 0

При использовании нефильтрованной производной Simulink использует этот параметр для инициализации дифференциатора в начале моделирования или при указанном событии триггера (см. Внешний сброс). Начальное условие интегратора и начальное условие производной определяют начальный выход блока контроллера PID.

Начальное условие производной не может быть NaN или Inf.

Зависимости

Чтобы использовать этот параметр, задайте для параметра Time domain значение Discrete-time, снимите флажок Использовать отфильтрованную производную и на вкладке Инициализация установите для параметра Источник значение internal.

Программное использование

Параметр блока: DifferentiatorICPrevScaledInput
Тип: скаляр, вектор
По умолчанию: 0

Используйте этот параметр, чтобы указать, следует ли применять параметры условия Integrator Initial и Filter Initial к соответствующему состоянию блока или выходу. Изменить этот параметр можно только в командной строке, используя set_param для установки InitialConditionSetting параметр блока.

State (most efficient)

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

Output

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

Дополнительные сведения о параметре Initial condition setting см. в разделе Дискретный интегратор времени.

Этот параметр доступен только при программном использовании.

Программное использование

Параметр блока: InitialConditionSetting
Тип: строка, символьный вектор
Значения: "state", "output"
По умолчанию: "state"

Укажите условие запуска, которое заставляет блок сбросить интегратор и фильтровать к начальным условиям. (Если параметр Использовать отфильтрованную производную не выбран, триггер сбрасывает интегратор и дифференциатор в исходное состояние.) Выбор любого параметра, отличного от none активизирует порт сброса в блоке для внешнего сигнала сброса.

none

Выходы интегратора и фильтра (или дифференциатора) устанавливаются в исходные условия в начале моделирования и не сбрасываются во время моделирования.

rising

Сбросьте выходные сигналы, когда сигнал сброса имеет передний фронт.

falling

Сбросьте выходные сигналы, когда сигнал сброса имеет задний фронт.

either

Сброс выходных сигналов при повышении или падении сигнала сброса.

level

Сбросьте выходные сигналы, если сигнал сброса:

  • Ненулевое значение на текущем шаге времени

  • Изменение с ненулевого значения на предыдущем шаге времени на нулевое значение на текущем шаге времени

Эта опция удерживает выходные сигналы в исходном состоянии, в то время как сигнал сброса ненулевой.

Зависимости

Чтобы включить этот параметр, установите для параметра Controller тип, имеющий производное или интегральное действие.

Программное использование

Параметр блока: ExternalReset
Тип: строка, символьный вектор
Значения: "none", "rising", "falling", "either","level"
По умолчанию: "none"

Выберите, чтобы команды линеаризации Simulink и Simulink Control Design игнорировали любой механизм сброса, указанный в параметре внешнего сброса. Игнорирование состояний сброса позволяет линеаризовать модель вокруг рабочей точки, даже если эта рабочая точка вызывает сброс блока.

Программное использование

Параметр блока: IgnoreLimit
Тип: строка, символьный вектор
Значения: "off", "on"
По умолчанию: "off"

Отслеживание сигналов позволяет выводу блока следовать сигналу отслеживания, который подается на порт TR. Когда отслеживание сигнала активно, разность между сигналом отслеживания и выходом блока подается обратно на вход интегратора с коэффициентом усиления. Kt, задается параметром Tracking gain (Kt). Отслеживание сигналов имеет несколько применений, включая безударную управляющую передачу и предотвращение наматывания в многоконтурных управляющих структурах.

Бесшумная передача управления

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

Дополнительные сведения см. в разделе Бесшумная передача управления с двухстепенным ПИД-контроллером.

Многолучевое управление

Используйте отслеживание сигналов для предотвращения замотки блоков при многолучевом управлении. Пример, иллюстрирующий этот подход с помощью 1DOF PID-контроллера, см. в разделе Предотвращение обработки блоков в Multiloop Control.

Зависимости

Чтобы включить этот параметр, установите для параметра Controller тип, имеющий интегральное действие.

Программное использование

Параметр блока: TrackingMode
Тип: строка, символьный вектор
Значения: "off", "on"
По умолчанию: "off"

При выборе режима Enable tracking разность между сигналом TR и выходом блока подается обратно на вход интегратора с усилением Kt. Этот параметр используется для указания коэффициента усиления в этом контуре обратной связи.

Зависимости

Чтобы включить этот параметр, выберите Включить режим отслеживания.

Программное использование

Параметр блока: Kt
Тип: скаляр
По умолчанию: 1

Насыщенность выходных данных

Активация этой опции ограничивает вывод блока, так что после контроллера не требуется отдельный блок насыщения. Он также позволяет активировать механизм защиты от навивки, встроенный в блок (см. параметр метода защиты от навивки). Задайте выходные пределы насыщения с помощью параметров Нижний предел (Lower limit) и Верхний предел (Upper limit). Можно также задать пределы насыщения внешне в качестве входных портов блоков.

Программное использование

Параметр блока: LimitOutput
Тип: строка, символьный вектор
Значения: "off", "on"
По умолчанию: "off"

Этот параметр используется для указания способа подачи верхнего и нижнего пределов насыщения на выходе блока.

internal

Задайте выходные пределы насыщения с помощью параметров Верхний предел (Upper limit) и Нижний предел (Lower limit).

external

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

Программное использование

Параметр блока: SatLimitsSource
Тип: строка, символьный вектор
Значения: "internal", "external"
По умолчанию: "internal"

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

Зависимости

Чтобы включить этот параметр, выберите параметр Limit output.

Программное использование

Параметр блока: UpperSaturationLimit
Тип: скаляр
По умолчанию: Inf

Укажите нижний предел для вывода блока. Блочный выход удерживается на нижнем пределе насыщения всякий раз, когда взвешенная сумма пропорциональных, интегральных и производных действий опускается ниже этого значения.

Зависимости

Чтобы включить этот параметр, выберите параметр Limit output.

Программное использование

Параметр блока: LowerSaturationLimit
Тип: скаляр
По умолчанию: -Inf

Принудительно используйте команды линеаризации Simulink и Simulink Control Design, чтобы игнорировать пределы вывода блоков, указанные в параметрах Верхний предел (Upper limit) и Нижний предел (Lower limit). Игнорирование выходных пределов позволяет линеаризовать модель вокруг рабочей точки, даже если эта рабочая точка приводит к превышению блоком выходных пределов.

Зависимости

Чтобы включить этот параметр, выберите параметр Limit output.

Программное использование

Параметр блока: LinearizeAsGain
Тип: строка, символьный вектор
Значения: "off", "on"
По умолчанию: "off"

Если выбран параметр «Ограничить вывод», а взвешенная сумма компонентов контроллера превышает заданные пределы вывода, вывод блока сохраняется на заданном пределе. Однако выход интегратора может продолжать расти (обработка интегратора), увеличивая разность между выходом блока и суммой компонентов блока. Другими словами, внутренние сигналы в блоке могут быть неограниченными, даже если выходной сигнал ограничен пределами насыщения. Без механизма предотвращения срабатывания интегратора возможны два результата:

  • Если знак сигнала, поступающего в интегратор, никогда не изменяется, интегратор продолжает интегрироваться до тех пор, пока не переполнится. Значение переполнения является максимальным или минимальным значением для типа данных выхода интегратора.

  • Если знак сигнала, поступающего в интегратор, изменяется, как только взвешенная сумма выросла за пределы выходных пределов, может потребоваться длительное время, чтобы размотать интегратор и вернуть взвешенную сумму в пределах предела насыщенности блока.

В любом случае производительность контроллера может ухудшиться. Для борьбы с эффектами намотки без механизма защиты от намотки может потребоваться отключить контроллер (например, уменьшив выигрыш контроллера), что приведет к вялотекущему контроллеру. Чтобы избежать этой проблемы, активируйте механизм защиты от ветвей с помощью этого параметра.

none

Не используйте антиобмоточный механизм.

back-calculation

Размотать интегратор, когда блочный выход насыщается, подавая обратно на интегратор разность между насыщенным и ненасыщенным управляющим сигналом. Следующая диаграмма представляет схему обратной связи обратного вычисления для контроллера непрерывного времени. Чтобы увидеть фактическую схему обратной связи для конфигурации контроллера, щелкните правой кнопкой мыши блок и выберите «Маска» > «Искать под маской».

Используйте параметр Back-calculation coefficient (Kb), чтобы указать коэффициент усиления цепи обратной связи защиты от обмотки. Обычно установить удовлетворительно Kb = Iили для контроллеров с производным действием, Kb = sqrt(I*D). Обратный расчет может быть эффективным для установок с относительно большим временем покоя [1].

clamping

Интеграция прекращается, когда сумма компонентов блока превышает пределы вывода, а выход интегратора и вход блока имеют одинаковый знак. Интеграция возобновляется, когда сумма компонентов блока превышает пределы вывода, а выход интегратора и вход блока имеют противоположный знак. Зажим иногда называют условным интегрированием.

Зажим может быть полезен для растений с относительно небольшим временем покоя, но может привести к плохой временной реакции для большого времени покоя [1].

Зависимости

Чтобы включить этот параметр, выберите параметр Limit output.

Программное использование

Параметр блока: AntiWindupMode
Тип: строка, символьный вектор
Значения: "none", "back-calculation","clamping"
По умолчанию: "none"

back-calculation способ защиты от намотки разматывает интегратор, когда блочный выход насыщается. Это происходит путем обратной подачи на интегратор разности между насыщенным и ненасыщенным управляющим сигналом. Используйте параметр Back-calculation coefficient (Kb), чтобы указать коэффициент усиления цепи обратной связи защиты от обмотки. Дополнительные сведения см. в разделе Параметр метода Anti-windup.

Зависимости

Чтобы включить этот параметр, выберите параметр Limit output и задайте для параметра Anti-windup method значение back-calculation.

Программное использование

Параметр блока: Kb
Тип: скаляр
По умолчанию: 1

Типы данных

Параметры на этой вкладке в основном используются при создании кода с фиксированной точкой с помощью Designer™ с фиксированной точкой. Они определяют способ хранения и обработки числовых количеств, связанных с блоком, при создании кода.

Если необходимо настроить типы данных для создания кода с фиксированной точкой, щелкните Открыть инструмент с фиксированной точкой (Open Fixed-Point Tool) и используйте этот инструмент для настройки остальных параметров на вкладке. Сведения об использовании инструмента «Фиксированная точка» см. в разделе Автоматическое масштабирование объектов данных с помощью инструмента «Фиксированная точка» (Конструктор фиксированных точек).

После использования инструмента Fixed-Point Tool можно использовать параметры на этой вкладке для корректировки параметров типа данных Fixed-Point при необходимости. Для каждой величины, связанной с блоком, можно указать:

  • Тип данных с плавающей или фиксированной запятой, включая наследование типа данных от родительских значений в блоке.

  • Минимальное и максимальное значения для количества, которые определяют способ масштабирования количества для представления с фиксированной точкой.

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

Конкретные количества, перечисленные на вкладке «Типы данных», зависят от конфигурации блока контроллера МТС. В общем случае можно настроить типы данных для следующих типов количеств:

  • Выход продукта - сохраняет результат умножения, выполненного под блочной маской. Например, выходной сигнал P произведения сохраняет выходной сигнал блока усиления, который умножает входной сигнал блока на пропорциональный коэффициент усиления P.

  • Параметр - сохраняет значение параметра числового блока, например P, I или D.

  • Вывод блока - сохраняет вывод блока, который находится под маской блока контроллера PID. Например, используйте выход интегратора, чтобы указать тип данных вывода блока, называемого интегратором. Этот блок находится под маской в подсистеме интегратора и вычисляет член интегратора действия контроллера.

  • Аккумулятор - сохраняет значения, связанные с блоком суммы. Например, SumI2 Accumulator задает тип данных накопителя, связанного с блоком SumI2 суммирования. Этот блок находится под маской в подсистеме обратного расчета подсистемы Anti-Windup.

Как правило, блок, связанный с любым перечисленным параметром, можно найти, просмотрев маску блока контроллера PID и изучив его подсистемы. Можно также использовать Обозреватель моделей (Model Explorer) для поиска под маской имени параметра в списке, например: SumI2. (См. раздел «Обозреватель моделей».)

Сопоставление типов входных и внутренних данных

По умолчанию для всех типов данных в блоке установлено значение Inherit: Inherit via internal rule. С помощью этого параметра Simulink выбирает типы данных, чтобы сбалансировать числовую точность, производительность и размер сгенерированного кода при учете свойств встроенного целевого оборудования.

При некоторых условиях может возникнуть несовместимость между типами данных внутри блока. Например, за непрерывное время блок интегратора под маской может принимать только сигналы типа double. Если входной сигнал блока является типом, который не может быть преобразован в double, такие как uint16внутренние правила наследования типов генерируют ошибку при создании кода.

Чтобы избежать таких ошибок, можно использовать параметры типов данных для принудительного преобразования типов данных. Например, можно явно установить вывод продукта P, вывод продукта I и вывод продукта D в double, гарантируя, что сигналы, поступающие в интеграторы непрерывного времени, имеют тип double.

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

Рабочие параметры с фиксированной точкой

Укажите режим округления для операций с фиксированной точкой. Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).

Параметры блока всегда округляются до ближайшего представимого значения. Для управления округлением параметра блока введите выражение с помощью функции округления MATLAB ® в поле маски.

Программное использование

Параметр блока: RndMeth
Текст: символьный вектор
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
По умолчанию: 'Floor'

Укажите, будут ли переполнения насыщаться или переноситься.

  • off - переполнение до соответствующего значения, которое может представлять тип данных.

    Например, число 130 не помещается в знаковое 8-битовое целое число и переносится в -126.

  • on - Переполнения насыщаются минимальным или максимальным значением, которое может представлять тип данных.

    Например, переполнение, связанное со значащим 8-битным целым числом, может насытиться до -128 или 127.

Совет

  • Рекомендуется установить этот флажок, если модель имеет возможное переполнение и требуется явная защита от насыщения в сгенерированном коде.

  • Рекомендуется снять этот флажок, если требуется оптимизировать эффективность созданного кода.

    Снятие этого флажка также позволяет избежать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов.

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

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

Программное использование

Параметр блока: SaturateOnIntegerOverflow
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в этом блоке. Дополнительные сведения см. в разделе Блокировка параметров типа выходных данных (конструктор фиксированных точек).

Программное использование

Параметр блока: LockScale
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Атрибуты состояния

Параметры на этой закладке используются в основном при создании кода.

Присвойте уникальное имя состоянию, связанному с интегратором или фильтром, для контроллеров PID непрерывного времени. (Для получения информации об именах состояний в контроллере дискретного PID см. параметр Имя состояния.) Используется имя состояния, например:

  • Для соответствующей переменной в сгенерированном коде

  • Как часть имени хранилища при регистрации состояний во время моделирования

  • Для соответствующего состояния в линейной модели получить линеаризацию блока

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

Зависимости

Чтобы включить этот параметр, задайте для параметра Time domain значение Continuous-time.

Программное использование

Параметр: IntegratorContinuousStateAttributes, FilterContinuousStateAttributes
Текст: символьный вектор
По умолчанию: ''

Присвойте уникальное имя состоянию, связанному с интегратором или фильтром, для контроллеров дискретного PID. (Для получения информации об именах состояний в контроллере PID непрерывного времени см. параметр Имя состояния (например, «позиция»).)

Допустимое имя состояния начинается с буквы или символа подчеркивания, за которым следуют буквенно-цифровые символы или символы подчеркивания. Используется имя состояния, например:

  • Для соответствующей переменной в сгенерированном коде

  • Как часть имени хранилища при регистрации состояний во время моделирования

  • Для соответствующего состояния в линейной модели получить линеаризацию блока

Дополнительные сведения об использовании имен состояний при создании кода см. в разделе Конфигурация генерации кода C для элементов интерфейса модели (Simulink Coder).

Зависимости

Чтобы включить этот параметр, задайте для параметра Time domain значение Discrete-time.

Программное использование

Параметр: IntegratorStateIdentifier, FilterStateIdentifier
Тип: строка, символьный вектор
По умолчанию: ""

Выберите этот параметр, чтобы имя дискретного интегратора или состояния фильтра разрешалось объекту сигнала Simulink.

Зависимости

Чтобы включить этот параметр для дискретно-временного интегратора или состояния фильтра:

  1. Установить для временной области значение Discrete-time.

  2. Укажите значение для имени состояния интегратора или фильтра.

  3. Установите для параметра конфигурации модели Signal resolution значение, отличное от None.

Установка этого флажка отключает класс хранения генерации кода для соответствующего состояния интегратора или фильтра.

Программное использование

Параметр блока: IntegratorStateMustResolveToSignalObject, FilterStateMustResolveToSignalObject
Тип: строка, символьный вектор
Значения: "off", "on"
По умолчанию: "off"

Выберите класс хранения состояния для создания кода. Если интерфейс с внешним кодом не требуется, выберите Auto.

Дополнительные сведения см. в разделах Конфигурация генерации кода C для элементов интерфейса модели (Simulink Coder) и Организация данных параметров в структуру с использованием класса хранения Struct (Embedded Coder).

Зависимости

Чтобы включить этот параметр для дискретно-временного интегратора или состояния фильтра:

  1. Установить для временной области значение Discrete-time.

  2. Укажите значение для имени состояния интегратора или фильтра.

  3. Установите для параметра конфигурации модели Signal resolution значение, отличное от None.

Программное использование

Параметр блока: IntegratorRTWStateStorageClass, FilterRTWStateStorageClass
Тип: строка, символьный вектор
Значения: "Auto", "ExportedGlobal", "ImportedExtern" | "ImportedExternPointer"
По умолчанию: "Auto"

Укажите квалификатор типа склада, например const или volatile.

Примечание

Этот параметр будет удален в следующей версии. Чтобы применить квалификаторы типов хранения к данным, используйте пользовательские классы хранения и разделы памяти. Если вы не используете целевой объект создания кода на основе ERT с Embedded Coder ®, пользовательские классы хранения и разделы памяти не влияют на созданный код.

Зависимости

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

Программное использование

Параметр блока: IntegratorRTWStateStorageTypeQualifier,FilterRTWStateStorageTypeQualifier
Тип: строка, символьный вектор
Значения:"","const","volatile"
По умолчанию: ""

Характеристики блока

Типы данных

double | fixed point | integer | single

Прямой проход

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулей

no

Подробнее

развернуть все

Вопросы совместимости

развернуть все

В R2020b изменилось поведение

Ссылки

[1] Висиоли, А., «Модифицированная схема защиты от ветра для ПИД-контроллеров», IEE Proceedings - Control Theory and Applications, Vol. 150, Number 1, January 2003

Расширенные возможности

.

Создание кода ПЛК
Создание структурированного текстового кода с помощью Coder™ Simulink ® PLC

.
Представлен в R2009b