Дискретное время или непрерывно-разовый контроллер ПИДа
Simulink / Дискретный
Блок Discrete PID Controller реализует контроллер ПИДа (ПИД, PI, PD, P только, или я только). Блок идентичен блоку PID Controller с набором параметра области Времени к Discrete-time
.
Блок вывод является взвешенной суммой входного сигнала, интегралом входного сигнала и производной входного сигнала. Веса являются пропорциональным, интегралом и производными параметрами усиления. Полюс первого порядка фильтрует производное действие.
Блок поддерживает несколько типов контроллера и структур. Конфигурируемые опции в блоке включают:
Тип контроллера (ПИД, PI, PD, P только, или я только) — Видит параметр Контроллера.
Форма контроллера (Параллель или Идеал) — Видит параметр Формы.
Временной интервал (непрерывный или дискретный) — Видит параметр области Времени.
Начальные условия и триггер сброса — Видят Источник и Внешние параметры сброса.
Выведите пределы насыщенности, и встроенный антизаключительный механизм — Смотрите Предельный выходной параметр.
Отслеживание сигнала для передачи управления bumpless и многоконтурного управления — Видит Разрешать параметр режима отслеживания.
Когда вы изменяете эти опции, внутреннюю структуру блочных изменений путем активации различных различных подсистем. (Для получения дополнительной информации смотрите Различные Подсистемы). Чтобы исследовать внутреннюю структуру блока и его различных подсистем, щелкните правой кнопкой по блоку и выберите Mask> Look Under Mask.
В одной общей реализации блок PID Controller действует в feedforward пути обратной связи.
Входной параметр блока обычно является сигналом ошибки, который является различием между ссылочным сигналом и системой вывод. Для двух-входного блока, который разрешает взвешивание заданного значения, смотрите Дискретный Контроллер ПИДа (2DOF).
Усиления контроллера ПИДа являются настраиваемыми или вручную или автоматически. Автоматическая настройка требует программного обеспечения Simulink® Control Design™. Для получения дополнительной информации об автоматической настройке, смотрите, что Выбор настраивает параметр метода.
Port_1( u )
— Сигнал ошибки вводитсяРазличие между ссылочным сигналом и выводом системы под управлением, как показано.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
P
Пропорциональное усилениеПропорциональное усиление, обеспеченное из источника, внешнего к блоку. Внешний входной параметр усиления полезен, например, когда это необходимо чтобы сопоставить различную параметризацию ПИДа с усилениями ПИДа блока. Можно также использовать внешний входной параметр усиления, чтобы реализовать запланированное на усиление управление ПИДом. В запланированном на усиление управлении вы определяете коэффициенты ПИДа логикой или другим вычислением в вашей модели и подаете их к блоку.
Чтобы включить этот порт, установите Источник параметров Контроллера на external
.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
I
Интегральное усилениеИнтегральное усиление, обеспеченное из источника, внешнего к блоку. Внешний входной параметр усиления полезен, например, когда это необходимо чтобы сопоставить различную параметризацию ПИДа с усилениями ПИДа блока. Можно также использовать внешний входной параметр усиления, чтобы реализовать запланированное на усиление управление ПИДом. В запланированном на усиление управлении вы определяете коэффициенты ПИДа логикой или другим вычислением в вашей модели и подаете их к блоку.
Когда вы предоставляете усиления внешне, изменения времени в интегральном усилении также интегрируются. Этот результат происходит из-за способа, которым усиления ПИДа реализованы в блоке. Для получения дополнительной информации смотрите Исходный параметр параметров Контроллера.
Чтобы включить этот порт, установите Источник параметров Контроллера на external
и установите Контроллер на тип контроллера, который имеет интегральное действие.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
D
Производное усилениеПроизводное усиление, обеспеченное из источника, внешнего к блоку. Внешний входной параметр усиления полезен, например, когда это необходимо чтобы сопоставить различную параметризацию ПИДа с усилениями ПИДа блока. Можно также использовать внешний входной параметр усиления, чтобы реализовать запланированное на усиление управление ПИДом. В запланированном на усиление управлении вы определяете коэффициенты ПИДа логикой или другим вычислением в вашей модели и подаете их к блоку.
Когда вы предоставляете усиления внешне, изменения времени в производном усилении также дифференцируются. Этот результат происходит из-за способа, которым усиления ПИДа реализованы в блоке. Для получения дополнительной информации смотрите Исходный параметр параметров Контроллера.
Чтобы включить этот порт, установите Источник параметров Контроллера на external
и установите Контроллер на тип контроллера, который имеет производное действие.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
N
Отфильтруйте коэффициентПроизводный коэффициент фильтра, обеспеченный из источника, внешнего к блоку. Внешний содействующий входной параметр полезен, например, когда это необходимо чтобы сопоставить различную параметризацию ПИДа с усилениями ПИДа блока. Можно также использовать внешний входной параметр, чтобы реализовать запланированное на усиление управление ПИДом. В запланированном на усиление управлении вы определяете коэффициенты ПИДа логикой или другим вычислением в вашей модели и подаете их к блоку.
Чтобы включить этот порт, установите Источник параметров Контроллера на external
и установите Контроллер на тип контроллера, который имеет отфильтрованную производную.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
Сброс
Внешний триггер сбросаИнициируйте, чтобы сбросить интегратор и фильтр к их начальным условиям. Значение Внешнего параметра сброса определяет, происходит ли сброшенный на возрастающем сигнале, падающем сигнале или сигнале уровня. Значок порта указывает на выбранный триггерный тип. Например, следующая иллюстрация показывает непрерывно-разовый блок PID с Внешним набором сброса к rising
.
Когда триггер происходит, блок сбрасывает интегратор и фильтр к начальным условиям, заданным условием Начальной буквы Интегратора и параметрами условия Начальной буквы Фильтра или портами I0 и D0.
Чтобы быть совместимой со стандартом программного обеспечения Motor Industry Software Reliability Association (MISRA®), ваша модель должна использовать булевы сигналы управлять внешними портами сброса блока контроллера ПИДа.
Чтобы включить этот порт, установите Внешний сброс на любое значение кроме none
.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
| булевская переменная
I0
— Условие начальной буквы интегратораУсловие начальной буквы интегратора, обеспеченное из источника, внешнего к блоку.
Чтобы включить этот порт, установите Источник Начальных условий на external
и установите Контроллер на тип контроллера, который имеет интегральное действие.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
D0
— Отфильтруйте начальное условиеНачальное условие производного фильтра, обеспеченного из источника, внешнего к блоку.
Чтобы включить этот порт, установите Источник Начальных условий на external
и установите Контроллер на тип контроллера, который имеет производное действие.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
TR
— Отслеживание сигналаСигнал для контроллера вывод, чтобы отследить. Когда отслеживание сигнала активно, различие между сигналом отслеживания и блоком вывод возвращено к входному параметру интегратора. Отслеживание сигнала полезно для реализации bumpless передача управления в системах, которые переключаются между двумя контроллерами. Может также быть полезно предотвратить блочное завершение в многоконтурных системах управления. Для получения дополнительной информации смотрите Разрешать параметр режима отслеживания.
Чтобы включить этот порт, выберите параметр режима отслеживания Enable.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
Port_1( y )
— Controller выводController вывод, обычно на основе суммы входного сигнала, интеграла входного сигнала и производной входного сигнала, взвешенного пропорциональным, интегралом и производной, получает параметры. Полюс первого порядка фильтрует производное действие. То, какие условия присутствуют в сигнале контроллера, зависит от того, что вы выбираете для параметра Контроллера. Основная передаточная функция контроллера для текущих настроек отображена в разделе формулы Компенсатора блочных параметров и под маской. Другие параметры изменяют блок вывод, такой как пределы насыщенности, заданные параметрами насыщенности Верхнего предела и Нижнего предела.
Вывод контроллера является векторным сигналом, когда любой из входных параметров является векторным сигналом. В этом случае блок действует как N независимые контроллеры ПИДа, где N является количеством сигналов во входном векторе.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| uint8
| uint16
| uint32
| фиксированная точка
Controller
— Тип контроллераPID
(значение по умолчанию) | PI
| PD
| P
| I
Задайте, какое из пропорционального, интеграл и производные условия находятся в контроллере.
PID
Пропорциональный, интеграл и производное действие.
\Pi
Пропорциональное и интегральное действие только.
PD
Пропорциональное и производное действие только.
P
Пропорциональное действие только.
I
Интегральное действие только.
Передаточная функция контроллера для текущей установки отображена в разделе формулы Компенсатора блочных параметров и под маской.
Блочный параметр: Controller |
Ввод: строка, вектор символа |
Значения: "ПИД" , "PI" , "PD" , "P" , "I" |
Значение по умолчанию: "PID" |
Form
— Структура контроллераParallel
(значение по умолчанию) | Ideal
Задайте, параллельна ли структура контроллера или идеальна.
Parallel
Контроллер вывод является суммой пропорционального, интеграла и производных действий, взвешенных независимо P, мной и D, соответственно. Например, для непрерывно-разового контроллера ПИДа параллельной формы, передаточная функция:
Для контроллера параллельной формы дискретного времени передаточная функция:
где метод Интегратора и параметры метода Фильтра определяют α (z) и β (z), соответственно.
Ideal
Пропорциональное усиление P действует на сумму всех действий. Например, для непрерывно-разового контроллера ПИДа идеальной формы, передаточная функция:
Для контроллера идеальной формы дискретного времени передаточная функция:
где метод Интегратора и параметры метода Фильтра определяют (z) и b (z), соответственно.
Передаточная функция контроллера для текущих настроек отображена в разделе формулы Компенсатора блочных параметров и под маской.
Блочный параметр: Controller |
Ввод: строка, вектор символа |
Значения: "Параллель" , "Идеал" |
Значение по умолчанию: "Parallel" |
Time domain
— Задайте дискретное время или непрерывно-разовый контроллерDiscrete-time
(значение по умолчанию) | Continuous-time
Когда вы выбираете Discrete-time
, рекомендуется, чтобы вы задали явную частоту дискретизации для блока. Смотрите Частоту дискретизации (-1 для наследованного) параметр. Выбор Discrete-time
также включает метод Интегратора и параметры метода Фильтра.
Когда блок PID Controller находится в модели с синхронным государственным контролем (см. блок State Control), вы не можете выбрать Continuous-time
.
Контроллер ПИДа и Дискретные блоки Контроллера ПИДа идентичны за исключением значения по умолчанию этого параметра.
Блочный параметр:
TimeDomain |
Ввод: строка, вектор символа |
Значения:
"Непрерывно-разовое" , "Дискретное время" |
Значение по умолчанию:
"Continuous-time" |
Sample time (-1 for inherited)
— Дискретный интервал между выборкамиЗадайте частоту дискретизации путем ввода положительного скалярного значения, такой как 0,1. Дискретная частота дискретизации по умолчанию –1 среднего значения, что блок наследовал свою частоту дискретизации от восходящих блоков. Однако рекомендуется, чтобы вы установили частоту дискретизации контроллера явным образом, особенно если вы ожидаете, что частота дискретизации восходящих блоков изменится. Эффект коэффициентов контроллера P, я, D, и N зависим от частоты дискретизации. Таким образом, для данного набора содействующих значений, изменяя частоту дискретизации изменяет производительность контроллера.
См. Настройку времени выборки для получения дополнительной информации.
Чтобы реализовать непрерывно-разовый контроллер, установите Временной интервал на Continuous-time
.
Если вы хотите запустить блок с внешне заданной или переменной частотой дискретизации, установите этот параметр на –1 и поместите блок в Инициированную Подсистему. Затем инициируйте подсистему в желаемой частоте дискретизации.
Чтобы включить этот параметр, установите Временной интервал на Discrete-time
.
Блочный параметр: 'SampleTime' |
Ввод: скаляр |
Значения:-1 , положительный скаляр |
Значение по умолчанию: -1 |
Integrator method
— Метод для вычислительного интеграла в контроллере дискретного времениForward Euler
(значение по умолчанию) | Backward Euler
| Trapezoidal
В дискретное время интегральный термин передаточной функции контроллера является Iα (z), где α (z) зависит от метода интегратора, вы задаете с этим параметром.
Forward Euler
Передайте прямоугольное (левое) приближение,
Этот метод является лучшим в течение маленького времени выборки, где предел Найквиста является большим по сравнению с пропускной способностью контроллера. В течение большего времени выборки метод Forward Euler
может привести к нестабильности, дискретизировав систему, которая стабильна в непрерывное время.
Backward Euler
Обратное прямоугольное (правое) приближение,
Преимущество метода Backward Euler
состоит в том, что дискретизация стабильной непрерывно-разовой системы с помощью этого метода всегда приводит к стабильному результату дискретного времени.
Trapezoidal
Билинейное приближение,
Преимущество метода Trapezoidal
состоит в том, что дискретизация стабильной непрерывно-разовой системы с помощью этого метода всегда приводит к стабильному результату дискретного времени. Из всех доступных методов интегрирования метод Trapezoidal
приводит к самому близкому соответствию между свойствами частотного диапазона дискретизированной системы и соответствующей непрерывно-разовой системы.
Формула контроллера для текущей установки отображена в разделе формулы Компенсатора блочных параметров и под маской.
Для BackwardEuler
или методов Trapezoidal
, вы не можете сгенерировать HDL-код для блока если также:
Предел вывод выбран и Антизаключительный Метод, является чем-либо кроме none
.
Включите режим отслеживания, выбран.
Для получения дополнительной информации об интегрировании дискретного времени, смотрите страницу с описанием блока Discrete-Time Integrator.
Чтобы включить этот параметр, установите Временной интервал на Discrete-time
и установите Контроллер на тип контроллера с интегральным действием.
Блочный параметр: IntegratorMethod |
Ввод: строка, вектор символа |
Значения: "Передайте Эйлеру" , "обратный Эйлер" , "трапециевидный" |
Значение по умолчанию: "Forward Euler" |
Filter method
— Метод для вычислительной производной в контроллере дискретного времениForward Euler
(значение по умолчанию) | Backward Euler
| Trapezoidal
В дискретное время производный термин передаточной функции контроллера:
где α (z) зависит от метода фильтра, вы задаете с этим параметром.
Forward Euler
Передайте прямоугольное (левое) приближение,
Этот метод является лучшим в течение маленького времени выборки, где предел Найквиста является большим по сравнению с пропускной способностью контроллера. В течение большего времени выборки метод Forward Euler
может привести к нестабильности, дискретизировав систему, которая стабильна в непрерывное время.
Backward Euler
Обратное прямоугольное (правое) приближение,
Преимущество метода Backward Euler
состоит в том, что дискретизация стабильной непрерывно-разовой системы с помощью этого метода всегда приводит к стабильному результату дискретного времени.
Trapezoidal
Билинейное приближение,
Преимущество метода Trapezoidal
состоит в том, что дискретизация стабильной непрерывно-разовой системы с помощью этого метода всегда приводит к стабильному результату дискретного времени. Из всех доступных методов интегрирования метод Trapezoidal
приводит к самому близкому соответствию между свойствами частотного диапазона дискретизированной системы и соответствующей непрерывно-разовой системы.
Формула контроллера для текущей установки отображена в разделе формулы Компенсатора блочных параметров и под маской.
Для получения дополнительной информации об интегрировании дискретного времени, смотрите страницу с описанием блока Discrete-Time Integrator.
Чтобы включить этот параметр, установите Временной интервал на Discrete-time
и установите Контроллер на тип контроллера с производным действием.
Блочный параметр: FilterMethod |
Ввод: строка, вектор символа |
Значения: "Передайте Эйлеру" , "обратный Эйлер" , "трапециевидный" |
Значение по умолчанию: "Forward Euler" |
Source
— Источник для усилений контроллера и коэффициента фильтраВключение внешних входных параметров для параметров позволяет вам вычислять усиления ПИДа и коэффициенты фильтра внешне к блоку и предоставлять их блоку как входные параметры сигнала.
internal
Задайте усиления контроллера и отфильтруйте коэффициент с помощью блочных параметров P, меня, D, и N.
external
Задайте усиления ПИДа и отфильтруйте коэффициент внешне с помощью блочных входных параметров. Дополнительный входной порт появляется на блоке для каждого параметра, который требуется для текущего типа контроллера.
Внешний входной параметр усиления полезен, например, когда это необходимо чтобы сопоставить различную параметризацию ПИДа с усилениями ПИДа блока. Можно также использовать внешний входной параметр усиления, чтобы реализовать запланированное на усиление управление ПИДом. В запланированном на усиление управлении вы определяете усиления ПИДа логикой или другим вычислением в вашей модели и подаете их к блоку.
Когда вы предоставляете усиления внешне, изменения времени в интегральных и производных значениях усиления интегрируются и дифференцируются, соответственно. Этот результат происходит, потому что и в непрерывное время и в дискретное время, усиления применяются к сигналу перед интегрированием или дифференцированием. Например, для непрерывно-разового контроллера ПИДа с внешними входными параметрами, термин интегратора реализован как показано на следующей иллюстрации.
В блоке входной сигнал u умножается на внешне предоставленное усиление интегратора, меня, перед интегрированием. Эта реализация урожаи:
Таким образом усиление интегратора включено в интеграл. Точно так же в производном термине блока, умножение производным усилением предшествует дифференцированию, которое заставляет производное усиление D дифференцироваться.
Блочный параметр: ControllerParametersSource |
Ввод: строка, вектор символа |
Значения: "внутренний" , "внешний" |
Значение по умолчанию: "internal" |
Proportional (P)
— Пропорциональное усилениеЗадайте конечное, действительное значение усиления для пропорционального усиления. Когда форма Контроллера:
Parallel
— Пропорциональное действие независимо от интегральных и производных действий. Например, для непрерывно-разового параллельного контроллера ПИДа, передаточная функция:
Для контроллера параллельной формы дискретного времени передаточная функция:
где метод Интегратора и параметры метода Фильтра определяют α (z) и β (z), соответственно.
Ideal
— Пропорциональные множители усиления интегральные и производные условия. Например, для непрерывно-разового идеального контроллера ПИДа, передаточная функция:
Для контроллера идеальной формы дискретного времени передаточная функция:
где метод Интегратора и параметры метода Фильтра определяют α (z) и β (z), соответственно.
Настраиваемый: да
Чтобы включить этот параметр, во вкладке Main, устанавливают Источник параметров контроллера на internal
и устанавливают Контроллер на PID
, PD
, PI
или P
.
Блочный параметр: P |
Ввод: скаляр, вектор |
Значение по умолчанию: 1 |
Integral (I)
— Интегральное усилениеЗадайте конечное, действительное значение усиления для интегрального усиления.
Настраиваемый: да
Чтобы включить этот параметр, во вкладке Main, устанавливают Источник параметров контроллера на internal
и устанавливают Контроллер на тип, который имеет интегральное действие.
Блочный параметр: I |
Ввод: скаляр, вектор |
Значение по умолчанию: 1 |
Derivative (D)
— Производное усилениеЗадайте конечное, действительное значение усиления для производного усиления.
Настраиваемый: да
Чтобы включить этот параметр, во вкладке Main, устанавливают Источник параметров контроллера на internal
и устанавливают Контроллер на PID
или PD
.
Блочный параметр: D |
Ввод: скаляр, вектор |
Значение по умолчанию: 0 |
Use filtered derivative
— Примените фильтр к производному терминуon
(значение по умолчанию) | off
Для контроллеров ПИДа дискретного времени только, очистите эту опцию, чтобы заменить отфильтрованную производную на неотфильтрованный дифференциатор дискретного времени. Когда вы делаете так, производный термин передаточной функции контроллера становится:
Для непрерывно-разовых контроллеров ПИДа всегда фильтруется производный термин.
Чтобы включить этот параметр, установите Временной интервал на Discrete-time
и установите Контроллер на тип, который имеет производное действие.
Блочный параметр: UseFilter |
Ввод: строка, вектор символа |
Значения: "на" , "прочь" |
Значение по умолчанию: "on" |
Filter coefficient (N)
— Производный коэффициент фильтраЗадайте конечное, действительное значение усиления для коэффициента фильтра. Коэффициент фильтра определяет местоположение полюса фильтра в производном действии блока. Местоположение полюса фильтра зависит от параметра области Времени.
Когда Временным интервалом является Continuous-time
, местоположением полюса является s = -N
.
Когда Временным интервалом является Discrete-time
, местоположение полюса зависит от параметра метода Фильтра.
Отфильтруйте метод | Местоположение полюса фильтра |
---|---|
Forward Euler | |
Backward Euler | |
Trapezoidal |
Блок не поддерживает N = Inf
(идеал неотфильтрованная производная). Когда Временным интервалом является Discrete-time
, можно очиститься, Использование отфильтровало производную, чтобы демонтировать производный фильтр.
Настраиваемый: да
Чтобы включить этот параметр, во вкладке Main, устанавливают Источник параметров контроллера на internal
и устанавливают Контроллер на PID
или PD
.
Блочный параметр: N |
Ввод: скаляр, вектор |
Значение по умолчанию: 100 |
Select tuning method
— Инструмент для автоматической настройки коэффициентов контроллераTransfer Function Based (PID Tuner App)
(значение по умолчанию) | Frequency Response Based
Если у вас есть программное обеспечение Simulink Control Design, можно автоматически настроить коэффициенты ПИДа. Для этого используйте этот параметр, чтобы выбрать настраивающий инструмент и нажать Tune.
Transfer Function Based (PID Tuner App)
Используйте Тюнер ПИДа, который позволяет вам в интерактивном режиме настроить коэффициенты ПИДа при исследовании соответствующих системных ответов, чтобы подтвердить производительность. По умолчанию Тюнер ПИДа работает с линеаризацией вашей модели объекта управления. Для моделей, которые не могут линеаризоваться, можно настроить коэффициенты ПИДа против модели объекта управления, оцененной от моделируемых или измеренных данных ответа. Для получения дополнительной информации смотрите Введение в Основанный на модели ПИД, Настраивающий Simulink (Simulink Control Design).
Frequency Response Based
Используйте основанный на частотной характеристике Тюнер ПИДа, который настраивает коэффициенты контроллера ПИДа на основе данных оценки частотной характеристики, полученных моделированием. Этот настраивающий подход особенно полезен для заводов, которые не linearizable или которые линеаризуют, чтобы обнулить. Для получения дополнительной информации смотрите Контроллер ПИДа Дизайна от Данных Частотной характеристики Завода (Simulink Control Design).
Оба из этих настраивающих методов принимают одноконтурную настройку управления. Программное обеспечение Simulink Control Design включает другие настраивающие подходы, которые удовлетворяют более комплексным настройкам. Для получения информации о других способах настроить блок PID Controller, смотрите, Выбирают Control Design Approach (Simulink Control Design).
Enable zero-crossing detection
— Обнаружьте нулевые пересечения на сбросе и при вводе или отъезде состояния насыщенностиon
(значение по умолчанию) | off
Обнаружение пересечения нулем может точно определить местоположение разрывов сигнала, не обращаясь к чрезмерно маленьким временным шагам, которые могут привести к длинным временам симуляции. Если вы выбираете Limit вывод или активируете Внешний сброс в вашем блоке PID Controller, активирование обнаружения пересечения нулем может уменьшить время вычисления в вашем моделировании. Выбор этого параметра активирует обнаружение пересечения нулем:
В сбросе начального состояния
При вводе верхнего или более низкого состояния насыщенности
При отъезде верхнего или более низкого состояния насыщенности
Для получения дополнительной информации об обнаружении пересечения нулем, смотрите Обнаружение Пересечения нулем.
Блочный параметр: ZeroCross |
Ввод: строка, вектор символа |
Значения: "на" , "прочь" |
Значение по умолчанию: "on" |
Source
— Источник для интегратора и производных начальных условийinternal
(значение по умолчанию) | external
Симулинк использует начальные условия, чтобы инициализировать интегратор и производный фильтр (или неотфильтрованная производная) вывод в начале моделирования или в заданном триггерном событии. (См. Внешний параметр сброса.) Эти начальные условия определяют начальный блок вывод. Используйте этот параметр, чтобы выбрать, как предоставить начальные значения условия к блоку.
internal
Задайте начальные условия с помощью условия Начальной буквы Интегратора и параметров условия Начальной буквы Фильтра. Если отфильтрованная производная Использования не выбрана, используйте параметр Дифференциатора, чтобы задать начальное условие для неотфильтрованного дифференциатора вместо условия начальной буквы фильтра.
external
Задайте начальные условия внешне с помощью блочных входных параметров. Дополнительные входные порты Io и Действительно появляются на блоке. Если отфильтрованная производная Использования не выбрана, предоставьте начальное условие для неотфильтрованного дифференциатора в, Делают вместо условия начальной буквы фильтра.
Блочный параметр:
InitialConditionSource |
Ввод: строка, вектор символа |
Значения:
"внутренний" , "внешний" |
Значение по умолчанию:
"internal" |
Integrator
— Условие начальной буквы интегратораСимулинк использует условие начальной буквы интегратора инициализировать интегратор в начале моделирования или в заданном триггерном событии (см. Внешний сброс). Условие начальной буквы интегратора и условие начальной буквы фильтра определяют начальный вывод блока контроллера ПИДа.
Условием начальной буквы интегратора не может быть NaN
или Inf
.
Чтобы использовать этот параметр, во вкладке Initialization, устанавливают Источник на internal
и устанавливают Контроллер на тип, который имеет интегральное действие.
Блочный параметр: InitialConditionForIntegrator |
Ввод: скаляр, вектор |
Значение по умолчанию: 0 |
Фильтр
Отфильтруйте начальное условиеСимулинк использует условие начальной буквы фильтра инициализировать производный фильтр в начале моделирования или в заданном триггерном событии (см. Внешний сброс). Условие начальной буквы интегратора и условие начальной буквы фильтра определяют начальный вывод блока контроллера ПИДа.
Условием начальной буквы фильтра не может быть NaN
или Inf
.
Чтобы использовать этот параметр, во вкладке Initialization, устанавливают Источник на internal
и используют контроллер, который имеет производный фильтр.
Блочный параметр: InitialConditionForFilter |
Ввод: скаляр, вектор |
Значение по умолчанию: 0 |
Differentiator
— Начальное условие для неотфильтрованной производнойКогда вы используете неотфильтрованную производную, Симулинк использует этот параметр, чтобы инициализировать дифференциатор в начале моделирования или в заданном триггерном событии (см. Внешний сброс). Условие начальной буквы интегратора и производное начальное условие определяют начальный вывод блока контроллера ПИДа.
Производным начальным условием не может быть NaN
или Inf
.
Чтобы использовать этот параметр, установите Временной интервал на Discrete-time
, очиститесь, Использование отфильтровало производный флажок, и во вкладке Initialization, Источнике набора к internal
.
Блочный параметр: DifferentiatorICPrevScaledInput |
Ввод: скаляр, вектор |
Значение по умолчанию: 0 |
Initial condition setting
— Местоположение, в котором применяется начальное условиеState (most efficient)
(значение по умолчанию) | Output
Используйте этот параметр, чтобы задать, применить ли условие Начальной буквы Интегратора и параметр условия Начальной буквы Фильтра к соответствующему блочному состоянию или вывести. Можно изменить этот параметр в командной строке только, с помощью set_param
, чтобы установить параметр InitialConditionSetting
блока.
State (most efficient)
Используйте эту опцию во всех ситуациях кроме тех случаев, когда блок находится в инициированной подсистеме или подсистеме вызова функций, и упрощенный режим инициализации включен.
Вывод
Используйте эту опцию, когда блок находится в инициированной подсистеме или подсистеме вызова функций, и упрощенный режим инициализации включен.
Для получения дополнительной информации о Начальном параметре установки условия, смотрите блок Discrete-Time Integrator.
Этот параметр только доступен посредством программируемого использования.
Блочный параметр: InitialConditionSetting |
Ввод: строка, вектор символа |
Значения: "состояние" , "вывод" |
Значение по умолчанию: "state" |
External reset
— Инициируйте для сброса интегратора и отфильтруйте значенияnone
(значение по умолчанию) | rising
| falling
| either
| level
Задайте триггерное условие, которое заставляет блок сбрасывать интегратор и фильтр к начальным условиям. (Если отфильтрованная производная Использования не выбрана, триггер сбрасывает интегратор и дифференциатор к начальным условиям.) Выбирающий любую опцию кроме none
включает порт Reset на блоке для внешнего сигнала сброса.
'none'
Интегратор и фильтр (или дифференциатор) выходные параметры установлены в начальные условия в начале моделирования и не сбрасываются во время моделирования.
rising
Сбросьте выходные параметры, когда сигнал сброса будет иметь возрастающий край.
falling
Сбросьте выходные параметры, когда сигнал сброса будет иметь падающий край.
either
Сбросьте выходные параметры, когда сброс будет сигнализировать или о повышениях или о падениях.
level
Сбросьте выходные параметры, когда сброс будет сигнализировать также:
Является ненулевым на шаге текущего времени
Изменения от ненулевого на предыдущем временном шаге, чтобы обнулить на шаге текущего времени
Эта опция содержит выходные параметры к начальным условиям, в то время как сигнал сброса является ненулевым.
Чтобы включить этот параметр, установите Контроллер на тип, который имеет производное или интегральное действие.
Блочный параметр: ExternalReset |
Ввод: строка, вектор символа |
Значения:
"ни один" , "повышение" , "падение" , "также" , "уровень" |
Значение по умолчанию: 'none' |
Ignore reset when linearizing
— Обеспечьте линеаризацию, чтобы проигнорировать сбросoff
(значение по умолчанию) | on
Выберите, чтобы обеспечить команды линеаризации Simulink и Simulink Control Design, чтобы проигнорировать любой механизм сброса, заданный во Внешнем параметре сброса. Игнорирование состояний сброса позволяет вам линеаризовать модель вокруг рабочей точки, даже если та рабочая точка заставляет блок сбрасывать.
Блочный параметр: IgnoreLimit |
Ввод: строка, вектор символа |
Значения: "прочь" , "на" |
Значение по умолчанию: 'off' |
Enable tracking mode
— Активируйте отслеживание сигналаoff
(значение по умолчанию) | on
Отслеживание сигнала позволяет блоку вывод, следуют, отслеживание сигнализируют, что вы обеспечиваете в порте TR. Когда отслеживание сигнала активно, различие между сигналом отслеживания и блоком вывод возвращено к входному параметру интегратора с усилением Kt
, заданный усилением Отслеживания (Kt) параметр. Отслеживание сигнала имеет несколько приложений, включая завершение передачи и предотвращения управления bumpless в многоконтурных управляющих структурах.
Используйте отслеживание сигнала, чтобы достигнуть передачи управления bumpless в системах, которые переключаются между двумя контроллерами. Предположим, что вы хотите передать управление между контроллером ПИДа и другим контроллером. Для этого подключая контроллер вывод к входному параметру TR как показано на следующей иллюстрации.
Для получения дополнительной информации см. Передачу Управления Bumpless.
Используйте отслеживание сигнала, чтобы предотвратить блочное завершение в многоконтурных подходах управления, как в следующей модели.
Подсистема Внутреннего цикла содержит блоки, показанные в следующей схеме.
Поскольку контроллер ПИДа отслеживает вывод внутреннего цикла, его вывод никогда не превышает влажный внутренний цикл вывод. Для получения дополнительной информации смотрите, Предотвращают Блочное Завершение в Многоконтурном Управлении.
Чтобы включить этот параметр, установите Контроллер на тип, который имеет интегральное действие.
Блочный параметр:
TrackingMode |
Ввод: строка, вектор символа |
Значения: "прочь" , "на" |
Значение по умолчанию: 'off' |
Tracking coefficient (Kt)
— Усиление отслеживающей сигнал обратной связиКогда вы выбираете режим отслеживания Enable, различие между TR сигнала и блоком вывод возвращено к входному параметру интегратора с усилением Kt
. Используйте этот параметр, чтобы задать усиление в той обратной связи.
Чтобы включить этот параметр, выберите режим отслеживания Enable.
Блочный параметр: Kt |
Ввод: скаляр |
Значение по умолчанию: 1 |
Limit Output
— Limit вывод к заданным степеням насыщенияoff
(значение по умолчанию) | on
Активация этой опции ограничивает блок вывод внутренне к блоку, так, чтобы вам не был нужен отдельный блок Saturation после контроллера. Это также позволяет вам активировать антизаключительный механизм, встроенный в блок (см. Антизаключительный параметр метода). Задайте пределы насыщенности с помощью Более низкого предела насыщенности и Верхних предельных параметров насыщенности.
Блочный параметр: LimitOutput |
Ввод: строка, вектор символа |
Значения: "прочь" , "на" |
Значение по умолчанию: 'off' |
Upper limit
— Верхний предел насыщенности для блока выводитсяInf
(значение по умолчанию) | скалярЗадайте верхний предел для блока вывод. Блок вывод сохранен в Верхнем пределе насыщенности каждый раз, когда взвешенная сумма пропорционального, интеграла и производных действий превышает то значение.
Чтобы включить этот параметр, выберите Limit вывод.
Блочный параметр: UpperSaturationLimit |
Ввод: скаляр |
Значение по умолчанию: Inf |
Lower limit
— Более низкий предел насыщенности для блока выводится-Inf
(значение по умолчанию) | скалярЗадайте нижний предел для блока вывод. Блок вывод сохранен в Более низком пределе насыщенности каждый раз, когда взвешенная сумма пропорционального, интеграла и производных действий понижается то значение.
Чтобы включить этот параметр, выберите Limit вывод.
Блочный параметр: LowerSaturationLimit |
Ввод: скаляр |
Значение по умолчанию: Inf |
Ignore saturation when linearizing
— Обеспечьте линеаризацию, чтобы проигнорировать выходные пределыoff
(значение по умолчанию) | on
Обеспечьте Simulink, и команды линеаризации Simulink Control Design, чтобы проигнорировать блокируют выходные пределы, заданные в параметрах Верхнего предела и Нижнего предела. Игнорирование выходных пределов позволяет вам линеаризовать модель вокруг рабочей точки, даже если та рабочая точка заставляет блок, превышают выходные пределы.
Чтобы включить этот параметр, выберите Предельный выходной параметр.
Блочный параметр: LinearizeAsGain |
Ввод: строка, вектор символа |
Значения: "прочь" , "на" |
Значение по умолчанию: 'off' |
Anti-windup method
— Антизаключительный метод интегратора none
(значение по умолчанию) | back-calculation
| clamping
Когда вы выбираете Limit, вывод и взвешенная сумма компонентов контроллера превышают заданные выходные пределы, блок вывод содержит в заданном пределе. Однако интегратор вывод может продолжить расти (завершение интегратора), увеличив различие между блоком вывод и суммой блочных компонентов. Другими словами, внутренние сигналы в блоке могут быть неограниченными, даже если вывод кажется ограниченным пределами насыщенности. Без механизма, чтобы предотвратить завершение интегратора, два результата возможны:
Если знак входного сигнала никогда не изменяется, интегратор продолжает интегрироваться, пока это не переполняется. Значение переполнения является максимальным или минимальным значением для типа данных интегратора вывод.
Если знак изменений входного сигнала однажды взвешенная сумма вырос вне выходных пределов, может требоваться много времени, чтобы раскрутить интегратор и возвратить взвешенную сумму в блочном пределе насыщенности.
В любом случае может пострадать производительность контроллера. Чтобы сражаться с эффектами завершения без антизаключительного механизма, может быть необходимо расстроить контроллер (например, путем сокращения усилений контроллера), приведения к вялому контроллеру. Чтобы избежать этой проблемы, активируйте антизаключительный механизм с помощью этого параметра.
'none'
Не используйте антизаключительный механизм.
back-calculation
Раскрутите интегратор, когда блок вывод будет насыщать путем возвращения к интегратору различия между влажным и ненасыщенным управляющим сигналом. Следующая схема представляет схему обратной связи заднего вычисления для непрерывно-разового контроллера. Чтобы видеть фактическую схему обратной связи для вашей настройки контроллера, щелкните правой кнопкой по блоку и выберите Mask> Look Under Mask.
Используйте коэффициент Обратного вычисления (Кбит) параметр, чтобы задать усиление антизаключительной схемы обратной связи. Это обычно удовлетворительно, чтобы установить Kb = I
, или для контроллеров с производным действием, Kb = sqrt(I*D)
. Обратное вычисление может быть эффективным для заводов с относительно большой потерей времени [1].
clamping
Интегрирование останавливается, когда сумма блочных компонентов превышает выходные пределы и интегратор, вывод и блочный входной параметр имеют тот же знак. Интегрирование возобновляет, когда сумма блочных компонентов превышает выходные пределы и интегратор, вывод и блочный входной параметр имеют противоположный знак. Фиксация иногда упоминается как условное интегрирование.
Фиксация может быть полезна для заводов с относительно маленькими потерями времени, но может привести к плохому переходному ответу в течение больших потерей времени [1].
Чтобы включить этот параметр, выберите Предельный выходной параметр.
Блочный параметр:
AntiWindupMode |
Ввод: строка, вектор символа |
Значения:
"ни один" , "заднее вычисление" , "фиксируя" |
Значение по умолчанию:
'none' |
Back-calculation coefficient (Kb)
— Получите коэффициент антизаключительной обратной связиАнтизаключительный метод back-calculation
раскручивает интегратор, когда блок вывод насыщает. Это делает так путем возвращения к интегратору различия между влажным и ненасыщенным управляющим сигналом. Используйте коэффициент Обратного вычисления (Кбит) параметр, чтобы задать усиление антизаключительной схемы обратной связи. Для получения дополнительной информации смотрите Антизаключительный параметр метода.
Чтобы включить этот параметр, выберите Предельный выходной параметр и установите Антизаключительный параметр метода на back-calculation
.
Блочный параметр: Kb |
Ввод: скаляр |
Значение по умолчанию: 1 |
Параметры в этой вкладке имеют, в основном, использование в генерации фиксированной точки с помощью Фиксированной точки Designer™. Они задают, как числовые количества, сопоставленные с блоком, сохранены и обрабатываются, когда вы генерируете код.
Если необходимо сконфигурировать типы данных для генерации фиксированной точки, нажмите Open Fixed-Point Tool и используйте тот инструмент, чтобы сконфигурировать остальную часть параметров во вкладке. Для получения информации об использовании Fixed-Point Tool смотрите Автомасштабирующиеся Объекты данных Использовать Fixed-Point Tool (Fixed-Point Designer).
После того, как вы будете использовать Fixed-Point Tool, можно использовать параметры в этой вкладке, чтобы внести изменения в настройки типа данных фиксированной точки при необходимости. Для каждого количества, сопоставленного с блоком, можно задать:
Тип данных или фиксированной точки с плавающей точкой, включая то, наследован ли тип данных от восходящих значений в блоке.
Минимальные и максимальные значения для количества, которые определяют, как количество масштабируется для представления фиксированной точки.
Для помощи в выборе соответствующих значений щелкните, чтобы открыть Ассистент Типа данных по соответствующему количеству. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.
Определенные количества, перечисленные во вкладке Data Types, отличаются в зависимости от того, как вы конфигурируете блок контроллера ПИДа. В целом можно сконфигурировать типы данных для следующих типов количеств:
Продукт вывод — Хранилища результат умножения выполняется под блочной маской. Например, P продукт выводит, хранит вывод блока усиления, который умножает блочный входной параметр с пропорциональным усилением P.
Параметр — Хранилища значение числового блочного параметра, такие как P, я или D.
Блочный вывод — Хранилища вывод блока, который находится под блочной маской контроллера ПИДа. Например, используйте Integrator вывод, чтобы задать тип данных вывода блока под названием Интегратор. Этот блок находится под маской в подсистеме Интегратора и вычисляет срок интегратора действия контроллера.
Аккумулятор — значения Хранилищ сопоставлены с блоком суммы. Например, Аккумулятор SumI2 устанавливает тип данных аккумулятора, сопоставленного с блоком SumI2 суммы. Этот блок находится под маской в Обратной подсистеме Вычисления Антизаключительной подсистемы.
В целом можно найти блок сопоставленным с любым перечисленным параметром путем взгляда под маской блока PID Controller и исследования ее подсистем. Можно также использовать Образцовый Проводник, чтобы искать под маской перечисленное название параметра, такое как SumI2
. (См. Поиск и Редактирование Используя Образцовый Проводник.)
Соответствие с входным параметром и внутренними типами данных
По умолчанию все типы данных в блоке установлены в Inherit: Inherit via internal rule
. С этой установкой Симулинк выбирает типы данных, чтобы сбалансировать числовую точность, производительность и размер сгенерированного кода, при объяснении свойств аппаратных средств целевого процессора.
При некоторых условиях несовместимость может произойти между типами данных в блоке. Например, в непрерывное время, блок Integrator под маской может принять только сигналы типа double
. Если блочный входной сигнал является типом, который не может быть преобразован в double
, такой как uint16
, внутренние правила для наследования типа генерируют ошибку, когда вы генерируете код.
Чтобы избежать таких ошибок, можно использовать настройки Data Types, чтобы обеспечить преобразование типа данных. Например, можно явным образом установить продукт P вывод, я продукт вывод и продукт D вывод к double
, гарантировав, что сигналы, достигающие непрерывно-разовых интеграторов, имеют тип double
.
В целом не рекомендуется использовать блок в непрерывное время для приложений генерации кода. Однако подобные ошибки типов данных могут произойти в дискретное время, если вы явным образом устанавливаете некоторые значения к типам данных, которые несовместимы с нисходящими ограничениями сигнала в блоке. В таких случаях используйте настройки Data Types, чтобы гарантировать, что все типы данных внутренне совместимы.
Integer rounding mode
— Rounding для операций фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).
Блокируйте параметры всегда вокруг к самому близкому представимому значению. Чтобы управлять округлением блочного параметра, введите выражение с помощью функции округления MATLAB® в поле маски.
Блочный параметр:
RndMeth |
Ввод: символьный вектор |
Значения:
'Потолок' | 'Конвергентный' | 'Пол' | 'Самый близкий' | 'Вокруг' | 'Самый Простой' | 'Нуль' |
Значение по умолчанию:
пол |
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
— Препятствуйте тому, чтобы Fixed-Point Tool заменили типы данныхoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на этом блоке. Для получения дополнительной информации смотрите Блокировку Установка Типа Выходных данных (Fixed-Point Designer).
Блочный параметр: LockScale |
Ввод: символьный вектор |
Значения: 'off' | 'on' |
Значение по умолчанию: 'off' |
Параметры в этой вкладке имеют, в основном, использование в генерации кода.
State name (e.g., 'position')
— Назовите для состояний стационарного фильтра и интегратора''
(значение по умолчанию) | вектор символаПрисвойте уникальное имя состоянию, сопоставленному с интегратором или фильтром для непрерывно-разовых контроллеров ПИДа. (Для получения информации об именах состояния в контроллере ПИДа дискретного времени смотрите параметр имени состояния.) Имя состояния используется, например:
Для соответствующей переменной в сгенерированном коде
Как часть устройства хранения данных называют при журналировании состояний во время моделирования
Поскольку соответствующее состояние в линейной модели получает путем линеаризации блока
Допустимое имя состояния начинается с буквенного символа или символа подчеркивания, сопровождаемого алфавитно-цифровыми символами или символами подчеркивания.
Чтобы включить этот параметр, установите Временной интервал на Continuous-time
.
Параметр: IntegratorContinuousStateAttributes , FilterContinuousStateAttributes |
Ввод: символьный вектор |
Значение по умолчанию: '' |
State name
— Имена для состояний фильтра и интегратора дискретного времениПрисвойте уникальное имя состоянию, сопоставленному с интегратором или фильтром для контроллеров ПИДа дискретного времени. (Для получения информации об именах состояния в непрерывно-разовом контроллере ПИДа смотрите имя состояния (e. g., 'положение') параметр.)
Допустимое имя состояния начинается с буквенного символа или символа подчеркивания, сопровождаемого алфавитно-цифровыми символами или символами подчеркивания. Имя состояния используется, например:
Для соответствующей переменной в сгенерированном коде
Как часть устройства хранения данных называют при журналировании состояний во время моделирования
Поскольку соответствующее состояние в линейной модели получает путем линеаризации блока
Для получения дополнительной информации об использовании имен состояния в генерации кода, смотрите, Применяют Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Simulink Coder).
Чтобы включить этот параметр, установите Временной интервал на Discrete-time
.
Параметр: IntegratorStateIdentifier , FilterStateIdentifier |
Ввод: строка, вектор символа |
Значение по умолчанию: "" |
State name must resolve to Simulink signal object
— Потребуйте, чтобы имя состояния решило к объекту сигналаoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы потребовать, чтобы имя состояния интегратора или фильтра дискретного времени решило к объекту Сигнала Simulink.
Включить этот параметр для состояния интегратора или фильтра дискретного времени:
Установите Временной интервал на Discrete-time
.
Задайте значение для интегратора или отфильтруйте имя состояния.
Установите образцовое разрешение Сигнала параметра конфигурации значения кроме None
.
Установка этого флажка отключает класс памяти Генерации кода для соответствующего состояния интегратора или фильтра.
Блочный параметр: IntegratorStateMustResolveToSignalObject , FilterStateMustResolveToSignalObject |
Ввод: строка, вектор символа |
Значения: "прочь" , "на" |
Значение по умолчанию: 'off' |
Code generation storage class
— Класс памяти для генерации кодаAuto
(значение по умолчанию) | ExportedGlobal
| ImportedExtern
| ImportedExternPointer
Выберите класс памяти состояния для генерации кода. Если вы не должны взаимодействовать через интерфейс к внешнему коду, выберите Auto
.
Для получения дополнительной информации смотрите, Применяют Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Simulink Coder) и Применяют Пользовательские Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Embedded Coder).
Включить этот параметр для состояния интегратора или фильтра дискретного времени:
Установите Временной интервал на Discrete-time
.
Задайте значение для интегратора или отфильтруйте имя состояния.
Установите образцовое разрешение Сигнала параметра конфигурации значения кроме None
.
Блочный параметр: IntegratorRTWStateStorageClass , FilterRTWStateStorageClass |
Ввод: строка, вектор символа |
Значения: "Автоматический" , "ExportedGlobal" , "ImportedExtern" | "ImportedExternPointer" |
Значение по умолчанию: 'auto' |
Code generation storage type qualifier
— Спецификатор типа хранения"const"
| "volatile"
|...Задайте спецификатор типа хранения, такой как const
или volatile
.
Этот параметр будет удален в будущем релизе. Чтобы применить спецификаторы типа хранения к данным, используйте разделы custom storage classes и memory. Если вы не используете основанную на ERT цель генерации кода со Встроенным Coder®, разделы custom storage classes и memory не влияют на сгенерированный код.
Чтобы включить этот параметр, установите класс памяти Генерации кода на любое значение кроме Auto
.
Блочный параметр: IntegratorRTWStateStorageTypeQualifier , FilterRTWStateStorageTypeQualifier |
Ввод: строка, вектор символа |
Значения:"" ", const" , "энергозависимый" |
Значение по умолчанию: "" |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
[1] Visioli, A., "Измененная антизаключительная схема контроллеров ПИДа", продолжения IEE - теория управления и приложения, издание 150, номер 1, январь 2003
Для непрерывно-разовых контроллеров ПИДа (Набор области времени к Continuous-time
):
Рассмотрите использование Образцового Discretizer, чтобы сопоставить непрерывно-разовые блоки с дискретными эквивалентами та генерация кода поддержки. К Модели доступа Discretizer, от вашей модели, выбирают Analysis> Control Design> Analysis> Model Discretizer.
Не рекомендуемый для производственного кода.
Для контроллеров ПИДа дискретного времени (Набор области времени к Discrete-time
):
Зависит от абсолютного времени, когда помещено в инициированной иерархии подсистемы.
Сгенерированный код полагается на memcpy
или функции memset
(string.h
) при определенных обстоятельствах.
Генерация HDL-кода поддержана для контроллеров ПИДа дискретного времени только (Набор области времени к Discrete-time
).
Если метод Интегратора установлен в BackwardEuler
или Trapezoidal
, вы не можете сгенерировать HDL-код для блока ни при одном из следующих условий:
Предел вывод выбран и Антизаключительный Метод, является чем-либо кроме none
.
Включите режим отслеживания, выбран.
Генерация фиксированной точки поддержана для контроллеров ПИДа дискретного времени только (Набор области времени к Discrete-time
).
Дискретная производная | Дискретный контроллер ПИДа (2DOF) | Интегратор дискретного времени | Усиление | Контроллер ПИДа
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.