Дискретный или непрерывный двухстепенный ПИД-контроллер
Симулинк/дискретный
Блок дискретного контроллера 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 и веса уставок настраиваются вручную или автоматически. Для автоматической настройки требуется программное обеспечение Simulink ® Control Design™. Дополнительные сведения об автоматической настройке см. в разделе Выбор параметра метода настройки.
Ref - Опорный сигналКонтрольный сигнал для установки, как показано на рисунке.

Когда опорный сигнал является вектором, блок действует отдельно на каждый сигнал, векторизируя коэффициенты PID и формируя векторный выходной сигнал одинаковых размеров. Коэффициенты PID и некоторые другие параметры можно указать как векторы тех же размеров, что и входной сигнал. Это эквивалентно заданию отдельного PID-контроллера для каждой записи во входном сигнале.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Port_1( y ) - Измеренный выход системыСигнал обратной связи для контроллера с выхода установки.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
P - Пропорциональный коэффициент усиленияПропорциональное усиление, обеспечиваемое от внешнего по отношению к блоку источника. Ввод внешнего коэффициента усиления полезен, например, когда требуется сопоставить другую параметризацию PID с коэффициентами усиления PID блока. Можно также использовать внешние входные данные усиления для реализации управления PID по расписанию усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.
Чтобы включить этот порт, установите для параметра Controller Source значение external.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
I - Интегральное усилениеИнтегральное усиление, обеспечиваемое от внешнего по отношению к блоку источника. Ввод внешнего коэффициента усиления полезен, например, когда требуется сопоставить другую параметризацию PID с коэффициентами усиления PID блока. Можно также использовать внешние входные данные усиления для реализации управления PID по расписанию усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.
При внешней подаче выигрышей также интегрируются временные вариации интегрального выигрыша. Этот результат возникает из-за того, как усиления PID реализуются в блоке. Дополнительные сведения см. в разделе Параметр источника параметров контроллера.
Чтобы включить этот порт, установите для параметра Controller Source значение externalи установите для параметра Controller тип контроллера, имеющий интегральное действие.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
D - Коэффициент усиления производныхКоэффициент усиления производной, обеспечиваемый от внешнего по отношению к блоку источника. Ввод внешнего коэффициента усиления полезен, например, когда требуется сопоставить другую параметризацию PID с коэффициентами усиления PID блока. Можно также использовать внешние входные данные усиления для реализации управления PID по расписанию усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.
Когда вы поставляете прибыль внешне, временные вариации в выигрыше производной также дифференцируются. Этот результат возникает из-за того, как усиления PID реализуются в блоке. Дополнительные сведения см. в разделе Параметр источника параметров контроллера.
Чтобы включить этот порт, установите для параметра Controller Source значение externalи установите для параметра Controller тип контроллера с производным действием.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
N - Коэффициент фильтраКоэффициент фильтра производной, предоставляемый от внешнего по отношению к блоку источника. Ввод внешних коэффициентов полезен, например, когда требуется сопоставить другую параметризацию PID с усилениями PID блока. Можно также использовать внешние входные данные для реализации управления PID с планированием усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.
Чтобы включить этот порт, установите для параметра Controller Source значение externalи установите для параметра Controller тип контроллера с отфильтрованной производной.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
b - Вес пропорциональной уставкиПропорциональная уставка, обеспечиваемая от внешнего по отношению к блоку источника. Внешний ввод полезен, например, когда требуется сопоставить другую параметризацию PID с усилениями PID блока. Можно также использовать внешние входные данные для реализации управления PID с планированием усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.
Чтобы включить этот порт, установите для параметра Controller Source значение external.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
c - Масса уставки производнойВес уставки производной от внешнего по отношению к блоку источника. Внешний ввод полезен, например, когда требуется сопоставить другую параметризацию PID с усилениями PID блока. Можно также использовать внешние входные данные для реализации управления PID с планированием усиления. При плановом управлении коэффициентом усиления коэффициенты PID определяются логическим или другим расчетом в модели и подаются в блок.
Чтобы включить этот порт, установите для параметра Controller Source значение externalи установите для параметра Controller тип контроллера с производным действием.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Reset - Внешний триггер сбросаТриггер для сброса интегратора и фильтрации в исходное состояние. Параметр 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
I0 - Исходное состояние интегратораИсходное состояние интегратора, обеспечиваемое от внешнего по отношению к блоку источника.
Чтобы включить этот порт, установите Initial conditions Source в значение externalи установите для параметра Controller тип контроллера, имеющий интегральное действие.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
D0 - Исходное состояние фильтраИсходное состояние производного фильтра, обеспечиваемого от внешнего по отношению к блоку источника.
Чтобы включить этот порт, установите Initial conditions Source в значение externalи установите для параметра Controller тип контроллера с производным действием.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
up - Верхний предел насыщения выходаВерхняя граница вывода блока, обеспечиваемая источником, внешним по отношению к блоку. Если взвешенная сумма пропорциональных, интегральных и производных действий превышает значение, предоставленное на этом порте, блочный выход удерживается на этом значении.
Чтобы включить этот порт, выберите Limit output и установите значение output saturation Source в значение external.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
lo - Нижний предел насыщения выходаНижняя граница вывода блока, обеспечиваемая источником, внешним по отношению к блоку. Если взвешенная сумма пропорциональных, интегральных и производных действий оказывается ниже значения, предоставленного в этом порту, блочный выход удерживается на этом значении.
Чтобы включить этот порт, выберите Limit output и установите значение output saturation Source в значение external.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
TR - Сигнал слеженияСигнал на выход контроллера для отслеживания. Когда отслеживание сигнала активно, разность между сигналом отслеживания и выходом блока подается обратно на вход интегратора. Отслеживание сигналов полезно для реализации безударной передачи управления в системах, которые переключаются между двумя контроллерами. Это также может быть полезно для предотвращения замотки блоков в многолучевых системах управления. Дополнительные сведения см. в разделе Параметр Включить режим отслеживания.
Чтобы включить этот порт, выберите параметр Enable tracking mode.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
TDTI - Время дискретного интегратораВремя дискретного интегратора, предоставляемое в виде скаляра для блока. Можно использовать собственное значение времени выборки интегратора дискретного времени, которое определяет скорость запуска блока в Simulink или на внешнем оборудовании. Значение времени интегратора дискретного времени должно соответствовать средней частоте дискретизации внешних прерываний, когда блок используется внутри условно выполняемой подсистемы.
Другими словами, можно указать Ts для любого из способов интегратора ниже, так что значение соответствует средней частоте дискретизации внешних прерываний. За дискретное время производный член передаточной функции контроллера равен:
z)],
где α (z) зависит от метода интегратора, заданного этим параметром.
Forward Euler− 1.
Backward Euler− 1.
Trapezoidal1z − 1.
Дополнительные сведения об интеграции дискретного времени см. на справочной странице блока интегратора дискретного времени. Дополнительные сведения об условно выполненных подсистемах см. в разделе Обзор условно выполненных подсистем.
Чтобы включить этот порт, установите для параметра Time Domain значение Discrete-time и выберите PID Controller находится внутри условно выполняемой опции подсистемы.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Port_1( u ) - Выход контроллераВыход контроллера, обычно основанный на сумме входного сигнала, интеграла входного сигнала и производной входного сигнала, взвешенной по весам уставки и по параметрам пропорционального, интегрального и производного усиления. Полюс первого порядка фильтрует производное действие. Какие термины присутствуют в сигнале контроллера, зависит от того, что выбрано для параметра Controller. Передаточная функция базового контроллера для текущих настроек отображается в разделе формулы компенсатора параметров блока и под маской. Другие параметры изменяют выходные данные блока, такие как пределы насыщения, заданные параметрами насыщения «Верхний предел» и «Нижний предел».
Выход контроллера является векторным сигналом, когда любой из входов является векторным сигналом. В этом случае блок действует как N независимых PID-контроллеров, где N - количество сигналов во входном векторе.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
Controller - Тип контроллераPID (по умолчанию) | PI | PDУкажите, какой из членов пропорциональной, интегральной и производной находится в контроллере.
PID Пропорциональное, интегральное и производное действие.
PIТолько пропорциональное и интегральное действие.
PDТолько пропорциональное и производное действие.
Совет
Выход контроллера для настройки тока отображается в разделе Формула компенсатора параметров блока и под маской.
Параметр блока: Controller |
| Тип: строка, символьный вектор |
Значения: "PID", "PI", "PD" |
По умолчанию: "PID" |
Form - Структура контроллераParallel (по умолчанию) | IdealУкажите, является ли структура контроллера параллельной или идеальной.
ParallelПропорциональные, интегральные и производные коэффициенты усиления P, I и D применяются независимо. Например, для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в параллельной форме, u продукции диспетчера:
DN1 + N1s (cr − y),
где r - опорный сигнал, y - измеренный выходной сигнал установки, а b и c - веса уставки.
Для дискретно-временного контроллера 2-DOF в параллельной форме выходной сигнал контроллера:
+ Nβ (z) (cr − y),
где параметры метода интегратора и метода фильтра определяют α (z) и β (z) соответственно.
IdealПропорциональный коэффициент усиления P действует на сумму всех действий. Например, для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в идеальной форме, диспетчер произвел:
+ N1s (cr − y)].
В течение дискретного времени диспетчер PID с 2 финансовыми департаментами в идеальной форме функция перемещения:
+ Nβ (z) (cr − y)],
где параметры метода интегратора и метода фильтра определяют α (z) и β (z) соответственно.
Совет
Выходные данные контроллера для текущих настроек отображаются в разделе «Формула компенсатора» параметров блока и под маской.
Параметр блока: Controller |
| Тип: строка, символьный вектор |
Значения: "Parallel", "Ideal" |
По умолчанию: "Parallel" |
Time domain - Укажите контроллер дискретного или непрерывного времениDiscrete-time (по умолчанию) | Continuous-timeПри выборе 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 Controller is inside a conditionally executed subsystem - Включение порта времени дискретного интегратораoff (по умолчанию) | onДля контроллеров дискретного времени PID включите порт интегратора дискретного времени, чтобы использовать собственное значение времени выборки интегратора дискретного времени. Чтобы обеспечить правильную интеграцию, используйте TDTI порт для обеспечения скалярного значения Δt для точного дискретно-временного интегрирования.
Чтобы включить этот параметр, установите для параметра Time Domain значение Discrete-time.
Параметр блока:
UseExternalTs |
| Тип: строка, символьный вектор |
Значения:
"on", "off" |
По умолчанию:
"off" |
Sample time (-1 for inherited) - Дискретный интервал между образцамиУкажите время выборки, введя положительное скалярное значение, например 0,1. Время дискретной выборки по умолчанию -1 означает, что блок наследует время выборки от вышестоящих блоков. Однако рекомендуется явно задать время выборки контроллера, особенно если ожидается изменение времени выборки восходящих блоков. Влияние коэффициентов P, I, D и N контроллера зависит от времени выборки. Таким образом, для данного набора значений коэффициентов изменение времени выборки изменяет рабочие характеристики контроллера.
Дополнительные сведения см. в разделе Указание времени образца.
Чтобы реализовать контроллер непрерывного времени, установите для области времени значение Continuous-time.
Совет
Если требуется запустить блок с внешним или переменным временем выборки, установите для этого параметра значение -1 и поместите блок в триггерную подсистему. Затем запустите подсистему в требуемое время выборки.
Чтобы включить этот параметр, задайте для параметра Time domain значение Discrete-time.
Параметр блока: SampleTime |
| Тип: скаляр |
Значения: -1, положительный скаляр |
По умолчанию: -1 |
Integrator method - Метод вычисления интеграла в дискретно-временном контроллереForward Euler (по умолчанию) | Backward Euler | TrapezoidalЗа дискретное время интегральным членом передаточной функции контроллера является Ia (z), где a (z) зависит от метода интегратора, заданного этим параметром.
Forward EulerПрямая прямоугольная (левая) аппроксимация,
− 1.
Этот метод лучше всего подходит для малого времени дискретизации, когда предел Найквиста велик по сравнению с полосой пропускания контроллера. Для большего времени выборки, Forward Euler способ может привести к нестабильности, даже при дискретизации системы, которая стабильна в течение непрерывного времени.
Backward EulerПрямоугольное (правое) приближение назад,
− 1.
Преимущество Backward Euler способ заключается в том, что дискретизация стабильной системы непрерывного времени с использованием этого способа всегда дает стабильный результат дискретного времени.
TrapezoidalБилинейное приближение,
1z − 1.
Преимущество Trapezoidal способ заключается в том, что дискретизация стабильной системы непрерывного времени с использованием этого способа всегда дает стабильный результат дискретного времени. Из всех доступных методов интеграции, Trapezoidal способ дает наиболее близкое совпадение между частотно-доменными свойствами дискретизированной системы и соответствующей системой непрерывного времени.
Совет
Формула контроллера для текущей настройки отображается в разделе Формула компенсатора параметров блока и под маской.
Дополнительные сведения об интеграции дискретного времени см. на справочной странице блока интегратора дискретного времени.
Чтобы включить этот параметр, установите для параметра Time Domain значение Discrete-time и установите контроллер в тип контроллера с интегральным действием.
Параметр блока: IntegratorMethod |
| Тип: строка, символьный вектор |
Значения: "Forward Euler", "Backward Euler", "Trapezoidal" |
По умолчанию: "Forward Euler" |
Filter method - Метод вычисления производной в контроллере дискретного времениForward Euler (по умолчанию) | Backward Euler | TrapezoidalЗа дискретное время производный член передаточной функции контроллера равен:
z)],
где α (z) зависит от метода фильтра, указанного с этим параметром.
Forward EulerПрямая прямоугольная (левая) аппроксимация,
− 1.
Этот метод лучше всего подходит для малого времени дискретизации, когда предел Найквиста велик по сравнению с полосой пропускания контроллера. Для большего времени выборки, Forward Euler способ может привести к нестабильности, даже при дискретизации системы, которая стабильна в течение непрерывного времени.
Backward EulerПрямоугольное (правое) приближение назад,
− 1.
Преимущество Backward Euler способ заключается в том, что дискретизация стабильной системы непрерывного времени с использованием этого способа всегда дает стабильный результат дискретного времени.
TrapezoidalБилинейное приближение,
1z − 1.
Преимущество Trapezoidal способ заключается в том, что дискретизация стабильной системы непрерывного времени с использованием этого способа всегда дает стабильный результат дискретного времени. Из всех доступных методов интеграции, Trapezoidal способ дает наиболее близкое совпадение между частотно-доменными свойствами дискретизированной системы и соответствующей системой непрерывного времени.
Совет
Формула контроллера для текущей настройки отображается в разделе Формула компенсатора параметров блока и под маской.
Дополнительные сведения об интеграции дискретного времени см. на справочной странице блока интегратора дискретного времени.
Чтобы включить этот параметр, установите для параметра Time Domain значение Discrete-time и включите параметр Использовать отфильтрованную производную.
Параметр блока: FilterMethod |
| Тип: строка, символьный вектор |
Значения: "Forward Euler", "Backward Euler", "Trapezoidal" |
По умолчанию: "Forward Euler" |
Source - Источник для усиления контроллера и коэффициента фильтраinternalЗадайте коэффициенты усиления контроллера, коэффициент фильтрации и вес уставки, используя параметры блока P, I, D, N, b и c соответственно.
externalЗадайте коэффициенты усиления PID, коэффициент фильтрации и вес уставки внешне, используя входы блоков. В блоке появляется дополнительный входной порт для каждого параметра, необходимого для текущего типа контроллера.
Включение внешних входов для параметров позволяет вычислять их значения внешне для блока и предоставлять их блоку в качестве сигнальных входов.
Внешний ввод полезен, например, когда требуется сопоставить другую параметризацию PID с усилениями PID блока. Можно также использовать внешние входные данные усиления для реализации управления PID по расписанию усиления. При запланированном управлении коэффициентом усиления определяется коэффициент усиления PID с помощью логики или других расчетов в модели и подается в блок.
При внешней подаче выигрышей временные вариации интегральных и производных значений выигрышей интегрируются и дифференцируются соответственно. Вес уставки производной c также дифференцируется. Этот результат происходит потому, что как за непрерывное время, так и за дискретное время коэффициенты усиления применяются к сигналу до интегрирования или дифференциации. Например, для ПИД-контроллера непрерывного времени с внешними входами термин интегратора реализован, как показано на следующей иллюстрации.

В пределах блока входной сигнал u умножается на коэффициент усиления I внешнего интегратора перед интеграцией. Эта реализация дает:
dt.
Таким образом, усиление интегратора включается в интеграл. Аналогично, в производном члене блока умножение на коэффициент усиления производной предшествует дифференциации, что приводит к дифференциации коэффициента усиления производной D и веса уставки производной c.
Параметр блока: ControllerParametersSource |
| Тип: строка, символьный вектор |
Значения: "internal", "external" |
По умолчанию: "internal" |
Proportional (P) - Пропорциональный коэффициент усиленияЗадайте конечное действительное значение коэффициента усиления для пропорционального коэффициента усиления. Если форма контроллера:
Parallel - Пропорциональное действие не зависит от интегральных и производных действий. Например, для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в параллельной форме, u продукции диспетчера:
DN1 + N1s (cr − y),
где r - опорный сигнал, y - измеренный выходной сигнал установки, а b и c - веса уставки.
Для дискретно-временного контроллера 2-DOF в параллельной форме выходной сигнал контроллера:
+ Nβ (z) (cr − y),
где параметры метода интегратора и метода фильтра определяют α (z) и β (z) соответственно.
Ideal - Пропорциональное усиление кратно интегральному и производному членам. Например, для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в идеальной форме, диспетчер произвел:
+ N1s (cr − y)].
В течение дискретного времени диспетчер PID с 2 финансовыми департаментами в идеальной форме функция перемещения:
+ Nβ (z) (cr − y)],
где параметры метода интегратора и метода фильтра определяют α (z) и β (z) соответственно.
Настраиваемый: Да
Чтобы включить этот параметр, установите для параметра Controller parameters Source значение internal.
Параметр блока: P |
| Тип: скаляр, вектор |
| По умолчанию: 1 |
Integral (I) - Интегральное усилениеЗадайте конечное действительное значение коэффициента усиления для интегрального коэффициента усиления.
Настраиваемый: Да
Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internalи установите для параметра Controller тип, имеющий интегральное действие.
Параметр блока: I |
| Тип: скаляр, вектор |
| По умолчанию: 1 |
Derivative (D) - Коэффициент усиления производныхУкажите конечное действительное значение коэффициента усиления производной.
Настраиваемый: Да
Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internalи установите для параметра Controller значение PID или PD.
Параметр блока: D |
| Тип: скаляр, вектор |
| По умолчанию: 0 |
Use filtered derivative - Применить фильтр к термину производнойon (по умолчанию) | offТолько для контроллеров дискретного времени PID снимите эту опцию, чтобы заменить отфильтрованную производную незафильтрованным дифференциатором дискретного времени. При этом производный член выходного сигнала контроллера становится следующим:
− y).
Для ПИД-контроллеров непрерывного времени термин производной всегда фильтруется.
Чтобы включить этот параметр, задайте для параметра Time domain значение Discrete-timeи задайте для параметра Controller тип, имеющий производный член.
Параметр блока: UseFilter |
| Тип: строка, символьный вектор |
Значения: "on", "off" |
По умолчанию: "on" |
Filter coefficient (N) - Коэффициент фильтра производныхЗадайте конечное действительное значение коэффициента усиления фильтра. Коэффициент фильтра определяет положение полюса фильтра в производном действии блока. Расположение полюса фильтра зависит от параметра временной области.
Когда временной домен равен Continuous-time, местоположение полюса s = -N.
Когда временной домен равен Discrete-timeрасположение полюса зависит от параметра метода Filter.
| Метод фильтрации | Расположение полюса фильтра |
|---|---|
Forward Euler | NTs |
Backward Euler | NT |
Trapezoidal | NTs/2 |
Блок не поддерживает N = Inf (идеальная нефильтрованная производная). Когда временной домен равен Discrete-time, можно снять флажок Использовать отфильтрованную производную для удаления фильтра производной.
Настраиваемый: Да
Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internal и установите для параметра Controller значение PID или PD.
Параметр блока: N |
| Тип: скаляр, вектор |
| По умолчанию: 100 |
Setpoint weight (b) - Вес пропорциональной уставкиВес уставки на пропорциональном сроке контроллера. Пропорциональный член выходного сигнала контроллера 2-DOF равен P (br-y), где r - опорный сигнал, а y - измеренный выходной сигнал установки. Установка b в 0 исключает пропорциональное воздействие на опорный сигнал, что может уменьшить превышение в реакции системы на ступенчатые изменения в уставке. Изменение относительных значений b и c изменяет баланс между отбраковкой возмущений и отслеживанием уставок.
Настраиваемый: Да
Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internal.
Параметр блока: b |
| Тип: скаляр, вектор |
| По умолчанию: 1 |
Setpoint weight (c) - Масса уставки производнойВес уставки по сроку производной контроллера. Производный член контроллера 2-DOF действует на cr-y, где r - опорный сигнал, а y - измеренный выходной сигнал установки. Таким образом, установка c в 0 исключает производное действие на опорный сигнал, которое может уменьшить переходную реакцию на ступенчатые изменения в уставке. Установка c в 0 может дать контроллер, который достигает как эффективного отклонения возмущений, так и плавного отслеживания уставки без чрезмерного переходного отклика. Изменение относительных значений b и c изменяет баланс между отбраковкой возмущений и отслеживанием уставок.
Настраиваемый: Да
Чтобы включить этот параметр, на вкладке Main установите параметр controller-parameters Source равным internal и задайте для параметра Controller тип, имеющий производное действие.
Параметр блока: c |
| Тип: скаляр, вектор |
| По умолчанию: 1 |
Select tuning method - Инструмент для автоматической настройки коэффициентов контроллераTransfer Function Based (PID Tuner App) (по умолчанию) | Frequency Response BasedПри наличии программного обеспечения 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.
Enable zero-crossing detection - Обнаружение нулевых пересечений при сбросе и при входе или выходе из состояния насыщенияon (по умолчанию) | offОбнаружение пересечения нуля может точно обнаруживать разрывы сигнала, не прибегая к чрезмерно малым временным шагам, которые могут привести к длительному времени моделирования. Если в блоке PID Controller выбран параметр Limit output (Предельный выход) или activate External reset (Внешний сброс), активация функции обнаружения пересечения нуля может сократить время вычислений при моделировании. Выбор этого параметра активирует обнаружение пересечения нуля:
При сбросе начального состояния
При входе в верхнее или нижнее состояние насыщения
При выходе из верхнего или нижнего состояния насыщения
Дополнительные сведения об обнаружении пересечения нуля см. в разделе Обнаружение пересечения нуля.
Параметр блока: ZeroCross |
| Тип: строка, символьный вектор |
Значения: "on", "off" |
По умолчанию: "on" |
Source - Источник для интегратора и производных исходных условийinternal (по умолчанию) | externalSimulink использует начальные условия для инициализации интегратора и производного-фильтра (или нефильтрованной производной), выводимого в начале моделирования или при указанном триггерном событии. (См. параметр External reset.) Эти начальные условия определяют начальный блочный выход. Этот параметр используется для выбора способа подачи начальных значений условий в блок.
internalУкажите начальные условия с помощью параметров условия Integrator Initial и Filter Initial. Если параметр Использовать отфильтрованную производную не выбран, используйте параметр Дифференциатор, чтобы указать начальное условие для нефильтрованного дифференциатора вместо начального условия фильтра.
externalЗадайте исходные условия внешне с помощью входных данных блоков. На блоке появляются дополнительные входные порты Io и Do. Если параметр Использовать отфильтрованную производную не выбран, введите начальное условие для нефильтрованного дифференциатора в значение До вместо начального условия фильтра.
Параметр блока:
InitialConditionSource |
| Тип: строка, символьный вектор |
Значения:
"internal", "external" |
По умолчанию:
"internal" |
Integrator - Исходное состояние интегратораSimulink использует начальное условие интегратора для инициализации интегратора в начале моделирования или при указанном событии триггера (см. Внешний сброс). Начальное состояние интегратора и начальное состояние фильтра определяют начальный выход блока контроллера PID.
Начальное условие интегратора не может быть NaN или Inf.
Чтобы использовать этот параметр, на вкладке Инициализация установите для параметра Источник значение internalи установите для параметра Controller тип, имеющий интегральное действие.
Параметр блока: InitialConditionForIntegrator |
| Тип: скаляр, вектор |
| По умолчанию: 0 |
Filter - Исходное состояние фильтраSimulink использует начальное условие фильтра для инициализации производного фильтра в начале моделирования или при указанном событии триггера (см. Внешний сброс). Начальное состояние интегратора и начальное состояние фильтра определяют начальный выход блока контроллера PID.
Начальное условие фильтра не может быть NaN или Inf.
Чтобы использовать этот параметр, на вкладке Инициализация установите для параметра Источник значение internalи использовать контроллер с производным фильтром.
Параметр блока: InitialConditionForFilter |
| Тип: скаляр, вектор |
| По умолчанию: 0 |
Differentiator - Исходное состояние нефильтрованной производнойПри использовании нефильтрованной производной Simulink использует этот параметр для инициализации дифференциатора в начале моделирования или при указанном событии триггера (см. Внешний сброс). Начальное условие интегратора и начальное условие производной определяют начальный выход блока контроллера PID.
Начальное условие производной не может быть NaN или Inf.
Чтобы использовать этот параметр, задайте для параметра Time domain значение Discrete-time, снимите флажок Использовать отфильтрованную производную и на вкладке Инициализация установите для параметра Источник значение internal.
Параметр блока: DifferentiatorICPrevScaledInput |
| Тип: скаляр, вектор |
| По умолчанию: 0 |
Initial condition setting - Место, в котором применяется исходное условиеState (most efficient) (по умолчанию) | OutputИспользуйте этот параметр, чтобы указать, следует ли применять параметры условия Integrator Initial и Filter Initial к соответствующему состоянию блока или выходу. Изменить этот параметр можно только в командной строке, используя set_param для установки InitialConditionSetting параметр блока.
State (most efficient)Эта опция используется во всех ситуациях, за исключением случаев, когда блок находится в триггерной подсистеме или подсистеме функционального вызова и включен упрощенный режим инициализации.
OutputИспользуйте эту опцию, когда блок находится в триггерной подсистеме или подсистеме функционального вызова и включен упрощенный режим инициализации.
Дополнительные сведения о параметре Initial condition setting см. в разделе Дискретный интегратор времени.
Этот параметр доступен только при программном использовании.
Параметр блока: InitialConditionSetting |
| Тип: строка, символьный вектор |
Значения: "state", "output" |
По умолчанию: "state" |
External reset - Триггер сброса значений интегратора и фильтраnone (по умолчанию) | rising | falling | either | levelУкажите условие запуска, которое заставляет блок сбросить интегратор и фильтровать к начальным условиям. (Если параметр Использовать отфильтрованную производную не выбран, триггер сбрасывает интегратор и дифференциатор в исходное состояние.) Выбор любого параметра, отличного от none активизирует порт сброса в блоке для внешнего сигнала сброса.
noneВыходы интегратора и фильтра (или дифференциатора) устанавливаются в исходные условия в начале моделирования и не сбрасываются во время моделирования.
risingСбросьте выходные сигналы, когда сигнал сброса имеет передний фронт.
fallingСбросьте выходные сигналы, когда сигнал сброса имеет задний фронт.
eitherСброс выходных сигналов при повышении или падении сигнала сброса.
levelСбросьте выходные сигналы, если сигнал сброса:
Ненулевое значение на текущем шаге времени
Изменение с ненулевого значения на предыдущем шаге времени на нулевое значение на текущем шаге времени
Эта опция удерживает выходные сигналы в исходном состоянии, в то время как сигнал сброса ненулевой.
Чтобы включить этот параметр, установите для параметра Controller тип, имеющий производное или интегральное действие.
Параметр блока: ExternalReset |
| Тип: строка, символьный вектор |
Значения:
"none", "rising", "falling", "either","level" |
По умолчанию: "none" |
Ignore reset when linearizing - Принудительная линеаризация для игнорирования сбросаoff (по умолчанию) | onВыберите, чтобы команды линеаризации Simulink и Simulink Control Design игнорировали любой механизм сброса, указанный в параметре внешнего сброса. Игнорирование состояний сброса позволяет линеаризовать модель вокруг рабочей точки, даже если эта рабочая точка вызывает сброс блока.
Параметр блока: IgnoreLimit |
| Тип: строка, символьный вектор |
Значения: "off", "on" |
По умолчанию: "off" |
Enable tracking mode - Включить отслеживание сигналовoff (по умолчанию) | onОтслеживание сигналов позволяет выводу блока следовать сигналу отслеживания, который подается на порт TR. Когда отслеживание сигнала активно, разность между сигналом отслеживания и выходом блока подается обратно на вход интегратора с коэффициентом усиления. Kt, задается параметром Tracking gain (Kt). Отслеживание сигналов имеет несколько применений, включая безударную управляющую передачу и предотвращение наматывания в многоконтурных управляющих структурах.
Используйте отслеживание сигналов для обеспечения безударной передачи управления в системах, которые переключаются между двумя контроллерами. Предположим, что требуется передать управление между ПИД-контроллером и другим контроллером. Для этого подключите выход контроллера к входу TR, как показано на следующей иллюстрации.
![]()
Дополнительные сведения см. в разделе Бесшумная передача управления с двухстепенным ПИД-контроллером.
Используйте отслеживание сигналов для предотвращения замотки блоков при многолучевом управлении. Пример, иллюстрирующий этот подход с помощью 1DOF PID-контроллера, см. в разделе Предотвращение обработки блоков в Multiloop Control.
Чтобы включить этот параметр, установите для параметра Controller тип, имеющий интегральное действие.
Параметр блока: TrackingMode |
| Тип: строка, символьный вектор |
Значения: "off", "on" |
По умолчанию: "off" |
Tracking coefficient (Kt) - Усиление контура обратной связи слежения за сигналомПри выборе режима Enable tracking разность между сигналом TR и выходом блока подается обратно на вход интегратора с усилением Kt. Этот параметр используется для указания коэффициента усиления в этом контуре обратной связи.
Чтобы включить этот параметр, выберите Включить режим отслеживания.
Параметр блока: Kt |
| Тип: скаляр |
| По умолчанию: 1 |
Limit Output - Ограничить вывод блока заданными значениями насыщенияoff (по умолчанию) | onАктивация этой опции ограничивает вывод блока, так что после контроллера не требуется отдельный блок насыщения. Он также позволяет активировать механизм защиты от навивки, встроенный в блок (см. параметр метода защиты от навивки). Задайте выходные пределы насыщения с помощью параметров Нижний предел (Lower limit) и Верхний предел (Upper limit). Можно также задать пределы насыщения внешне в качестве входных портов блоков.
Параметр блока: LimitOutput |
| Тип: строка, символьный вектор |
Значения: "off", "on" |
По умолчанию: "off" |
Source - Источник для пределов насыщения выходных данныхЭтот параметр используется для указания способа подачи верхнего и нижнего пределов насыщения на выходе блока.
internalЗадайте выходные пределы насыщения с помощью параметров Верхний предел (Upper limit) и Нижний предел (Lower limit).
externalУкажите пределы насыщения выходных данных внешне с помощью входных портов блоков. Дополнительные входные порты вверх и lo появляются в блоке. Входные порты можно использовать для реализации верхнего и нижнего пределов насыщения выхода, определяемых логикой или другими вычислениями в модели Simulink и передаваемых блоку.
Параметр блока:
SatLimitsSource |
| Тип: строка, символьный вектор |
Значения:
"internal", "external" |
По умолчанию:
"internal" |
Upper limit - Верхний предел насыщения для блочного выходаInf (по умолчанию) | скалярУкажите верхний предел вывода блока. Выход блока удерживается на верхнем пределе насыщения всякий раз, когда взвешенная сумма пропорциональных, интегральных и производных действий превышает это значение.
Чтобы включить этот параметр, выберите параметр Limit output.
Параметр блока: UpperSaturationLimit |
| Тип: скаляр |
По умолчанию: Inf |
Lower limit - Нижний предел насыщения для блочного выхода-Inf (по умолчанию) | скалярУкажите нижний предел для вывода блока. Блочный выход удерживается на нижнем пределе насыщения всякий раз, когда взвешенная сумма пропорциональных, интегральных и производных действий опускается ниже этого значения.
Чтобы включить этот параметр, выберите параметр Limit output.
Параметр блока: LowerSaturationLimit |
| Тип: скаляр |
По умолчанию: -Inf |
Ignore saturation when linearizing - Принудительная линеаризация для игнорирования выходных пределовoff (по умолчанию) | onПринудительно используйте команды линеаризации Simulink и Simulink Control Design, чтобы игнорировать пределы вывода блоков, указанные в параметрах Верхний предел (Upper limit) и Нижний предел (Lower limit). Игнорирование выходных пределов позволяет линеаризовать модель вокруг рабочей точки, даже если эта рабочая точка приводит к превышению блоком выходных пределов.
Чтобы включить этот параметр, выберите параметр Limit output.
Параметр блока: LinearizeAsGain |
| Тип: строка, символьный вектор |
Значения: "off", "on" |
По умолчанию: "off" |
Anti-windup method - Метод защиты интегратора от навивки none (по умолчанию) | back-calculation | clampingЕсли выбран параметр «Ограничить вывод», а взвешенная сумма компонентов контроллера превышает заданные пределы вывода, вывод блока сохраняется на заданном пределе. Однако выход интегратора может продолжать расти (обработка интегратора), увеличивая разность между выходом блока и суммой компонентов блока. Другими словами, внутренние сигналы в блоке могут быть неограниченными, даже если выходной сигнал ограничен пределами насыщения. Без механизма предотвращения срабатывания интегратора возможны два результата:
Если знак сигнала, поступающего в интегратор, никогда не изменяется, интегратор продолжает интегрироваться до тех пор, пока не переполнится. Значение переполнения является максимальным или минимальным значением для типа данных выхода интегратора.
Если знак сигнала, поступающего в интегратор, изменяется, как только взвешенная сумма выросла за пределы выходных пределов, может потребоваться длительное время, чтобы размотать интегратор и вернуть взвешенную сумму в пределах предела насыщенности блока.
В любом случае производительность контроллера может ухудшиться. Для борьбы с эффектами намотки без механизма защиты от намотки может потребоваться отключить контроллер (например, уменьшив выигрыш контроллера), что приведет к вялотекущему контроллеру. Чтобы избежать этой проблемы, активируйте механизм защиты от ветвей с помощью этого параметра.
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 coefficient (Kb) - Коэффициент усиления контура противообмоточной обратной связи 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.
В общем, не рекомендуется использовать блок в непрерывном режиме для приложений генерации кода. Однако подобные ошибки типа данных могут возникать в дискретное время, если явно установить некоторые значения для типов данных, которые несовместимы с зависимостями нисходящего сигнала в блоке. В таких случаях используйте параметры настройки типов данных для обеспечения внутренней совместимости всех типов данных.
Рабочие параметры с фиксированной точкойInteger rounding mode - Режим округления для операций с фиксированной точкойFloor (по умолчанию) | Ceiling | Convergent | Nearest | Round | Simplest | ZeroУкажите режим округления для операций с фиксированной точкой. Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).
Параметры блока всегда округляются до ближайшего представимого значения. Для управления округлением параметра блока введите выражение с помощью функции округления MATLAB ® в поле маски.
Параметр блока:
RndMeth |
| Текст: символьный вектор |
Значения:
'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
По умолчанию:
'Floor' |
Saturate on integer overflow - Метод действия переполненияoff (по умолчанию) | onУкажите, будут ли переполнения насыщаться или переноситься.
off - переполнение до соответствующего значения, которое может представлять тип данных.
Например, число 130 не помещается в знаковое 8-битовое целое число и переносится в -126.
on - Переполнения насыщаются минимальным или максимальным значением, которое может представлять тип данных.
Например, переполнение, связанное со значащим 8-битным целым числом, может насытиться до -128 или 127.
Совет
Рекомендуется установить этот флажок, если модель имеет возможное переполнение и требуется явная защита от насыщения в сгенерированном коде.
Рекомендуется снять этот флажок, если требуется оптимизировать эффективность созданного кода.
Снятие этого флажка также позволяет избежать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов.
Если этот флажок установлен, насыщение применяется ко всем внутренним операциям блока, а не только к выводу или результату.
В общем, процесс генерации кода может обнаруживать, когда переполнение невозможно. В этом случае генератор кода не создает код насыщения.
Параметр блока: SaturateOnIntegerOverflow |
| Текст: символьный вектор |
Значения: 'off' | 'on' |
По умолчанию: 'off' |
Lock data type settings against changes by the fixed-point tools - Предотвращение переопределения типов данных инструментами с фиксированной точкойoff (по умолчанию) | onВыберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в этом блоке. Дополнительные сведения см. в разделе Блокировка параметров типа выходных данных (конструктор фиксированных точек).
Параметр блока: LockScale |
| Текст: символьный вектор |
Значения: 'off' | 'on' |
По умолчанию: 'off' |
Параметры на этой закладке используются в основном при создании кода.
State name (e.g., 'position') - Наименование постоянного фильтра и состояний интегратора'' (по умолчанию) | символьный векторПрисвойте уникальное имя состоянию, связанному с интегратором или фильтром, для контроллеров PID непрерывного времени. (Для получения информации об именах состояний в контроллере дискретного PID см. параметр Имя состояния.) Используется имя состояния, например:
Для соответствующей переменной в сгенерированном коде
Как часть имени хранилища при регистрации состояний во время моделирования
Для соответствующего состояния в линейной модели получить линеаризацию блока
Допустимое имя состояния начинается с буквы или символа подчеркивания, за которым следуют буквенно-цифровые символы или символы подчеркивания.
Чтобы включить этот параметр, задайте для параметра Time domain значение Continuous-time.
Параметр: IntegratorContinuousStateAttributes, FilterContinuousStateAttributes |
| Текст: символьный вектор |
По умолчанию: '' |
State name - Наименования для дискретно-временного фильтра и состояний интегратораПрисвойте уникальное имя состоянию, связанному с интегратором или фильтром, для контроллеров дискретного PID. (Для получения информации об именах состояний в контроллере PID непрерывного времени см. параметр Имя состояния (например, «позиция»).)
Допустимое имя состояния начинается с буквы или символа подчеркивания, за которым следуют буквенно-цифровые символы или символы подчеркивания. Используется имя состояния, например:
Для соответствующей переменной в сгенерированном коде
Как часть имени хранилища при регистрации состояний во время моделирования
Для соответствующего состояния в линейной модели получить линеаризацию блока
Дополнительные сведения об использовании имен состояний при создании кода см. в разделе Конфигурация генерации кода C для элементов интерфейса модели (Simulink Coder).
Чтобы включить этот параметр, задайте для параметра Time domain значение Discrete-time.
Параметр: IntegratorStateIdentifier, FilterStateIdentifier |
| Тип: строка, символьный вектор |
По умолчанию: "" |
State name must resolve to Simulink signal object - Требовать, чтобы имя состояния разрешалось в сигнальный объектoff (по умолчанию) | onВыберите этот параметр, чтобы имя дискретного интегратора или состояния фильтра разрешалось объекту сигнала Simulink.
Чтобы включить этот параметр для дискретно-временного интегратора или состояния фильтра:
Установить для временной области значение Discrete-time.
Укажите значение для имени состояния интегратора или фильтра.
Установите для параметра конфигурации модели Signal resolution значение, отличное от None.
Установка этого флажка отключает класс хранения генерации кода для соответствующего состояния интегратора или фильтра.
Параметр блока: IntegratorStateMustResolveToSignalObject, FilterStateMustResolveToSignalObject |
| Тип: строка, символьный вектор |
Значения: "off", "on" |
По умолчанию: "off" |
Code generation storage class - Класс хранения для генерации кодаAuto (по умолчанию) | ExportedGlobal | ImportedExtern | ImportedExternPointerВыберите класс хранения состояния для создания кода. Если интерфейс с внешним кодом не требуется, выберите Auto.
Дополнительные сведения см. в разделах Конфигурация генерации кода C для элементов интерфейса модели (Simulink Coder) и Организация данных параметров в структуру с использованием класса хранения Struct (Embedded Coder).
Чтобы включить этот параметр для дискретно-временного интегратора или состояния фильтра:
Установить для временной области значение Discrete-time.
Укажите значение для имени состояния интегратора или фильтра.
Установите для параметра конфигурации модели Signal resolution значение, отличное от None.
Параметр блока: IntegratorRTWStateStorageClass, FilterRTWStateStorageClass |
| Тип: строка, символьный вектор |
Значения: "Auto", "ExportedGlobal", "ImportedExtern" | "ImportedExternPointer" |
По умолчанию: "Auto" |
Code generation storage type qualifier - Квалификатор типа склада"const" | "volatile" | ...Укажите квалификатор типа склада, например const или volatile.
Примечание
Этот параметр будет удален в следующей версии. Чтобы применить квалификаторы типов хранения к данным, используйте пользовательские классы хранения и разделы памяти. Если вы не используете целевой объект создания кода на основе ERT с Embedded Coder ®, пользовательские классы хранения и разделы памяти не влияют на созданный код.
Чтобы включить этот параметр, задайте для класса хранения генерации кода любое значение, отличное от Auto.
Параметр блока: IntegratorRTWStateStorageTypeQualifier,FilterRTWStateStorageTypeQualifier |
| Тип: строка, символьный вектор |
Значения:"","const","volatile" |
По умолчанию: "" |
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
2-DOF PID контроллер может быть интерпретирован как PID контроллер с предварительным фильтром или PID контроллер с элементом передачи.
В параллельной форме PID-контроллер с двумя степенями свободы может быть эквивалентно смоделирован следующей блок-схемой, где C является PID-контроллером с одной степенью свободы, а F является предварительным фильтром опорного сигнала.

Ref - опорный сигнал, y - обратная связь с выхода измеряемой системы, u - выход контроллера. Для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в параллельной форме функции перемещения для F и C
= (P + DN) s2 + (PN + I) s + INs (s + n
где b и c - веса уставки.
Для 2-DOF PID контроллера в идеальной форме функции передачи:
= P (1 + DN) s2 + (N + I) s + INs (s + N).
Аналогичная декомпозиция применяется для дискретно-временного контроллера 2-DOF.
Альтернативно, параллельный ПИД-контроллер с двумя степенями свободы может быть смоделирован с помощью следующей блок-схемы.

В этой реализации Q действует в качестве условия прямой передачи опорного сигнала. Для непрерывно-кратного диспетчера PID с 2 финансовыми департаментами в параллельной форме функция перемещения для Q
+ (b − 1) PN + N.
Для 2-DOF PID-контроллера в идеальной форме передаточной функцией является
s + (b − 1) Ns + N.
Передаточные функции для C те же, что и при разложении фильтра.
Аналогичная декомпозиция применяется для дискретно-временного контроллера 2-DOF.
ReferenceBlock параметр возвращает другой путьВ R2020b изменилось поведение
Начиная с R2020b, get_param функция возвращает другое значение для ReferenceBlock параметр. ReferenceBlock параметр является свойством, общим для всех блоков Simulink, и задает путь к блоку библиотеки, с которым связан блок. Блоки контроллера PID (2DOF) и дискретного контроллера PID (2DOF) теперь связаны с 'pid_lib/PID Controller (2DOF)'. Ранее блоки, связанные с 'simulink/Continuous/PID Controller (2DOF)'.
Это изменение не влияет ни на какие другие функциональные возможности или рабочие процессы. Вы по-прежнему можете использовать предыдущий путь с set_param функция.
[1] Висиоли, А., «Модифицированная схема защиты от ветра для ПИД-контроллеров», IEE Proceedings - Control Theory and Applications, Vol. 150, Number 1, January 2003
Для контроллеров PID непрерывного времени (для временной области установлено значение Continuous-time):
Рассмотрите возможность использования модельного дискретизатора для отображения блоков непрерывного времени на дискретные эквиваленты, поддерживающие генерацию кода. Чтобы получить доступ к устройству дискретизации модели, на вкладке Приложения в разделе Системы управления щелкните Устройство дискретизации модели.
Не рекомендуется для производственного кода.
Для контроллеров дискретного времени PID (временная область установлена на Discrete-time):
Зависит от абсолютного времени при размещении в иерархии инициируемой подсистемы.
Созданный код зависит от memcpy или memset функции (string.h) при определенных условиях.
Генерация кода с фиксированной точкой поддерживается только для контроллеров PID дискретного времени (для временной области установлено значение Discrete-time).
Дискретная производная | Дискретный PID-контроллер | Интегратор дискретного времени | Выгода | PID-контроллер (2DOF)
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.