Задержка входа сигнала по переменному периоду дискретизации и сброс с внешним сигналом
Simulink/Дискретный
HDL-кодер/дискретный
Блок Resettable Delay является вариантом блока Delay, у которого источник начального условия установлен на Input port
и внешний алгоритм сброса установлен в Rising
, по умолчанию.
u
- Входной сигнал данныхВходные данные задерживаются в соответствии с настройками параметров.
Типы данных: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| string
| Boolean
| fixed point
| enumerated
| bus
d
- Длина задержкиДлина задержки, заданная как унаследованная от входа порта. Включено, когда вы выбираете параметр Delay length: Source следующим Input port
.
Типы данных: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Enable
- Внешний сигнал включенияВключите сигнал, который включает или отключает выполнение блока. Чтобы создать этот порт, выберите параметр Show enable port.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
External reset
- Внешний сигнал сбросаВнешний сигнал, который сбрасывает выполнение блока в начальное условие. Чтобы создать этот порт, выберите параметр External reset.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
x0
- Начальное условиеНачальное условие задано как унаследованное от входа порта. Включено, когда вы выбираете параметр Initial Condition: Source следующим Input port
.
Типы данных: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Port_1
- Выходной сигналВыходной сигнал, который является входным сигналом, задержанным на длительность времени, заданную параметром Delay length. Начальное значение выходного сигнала зависит от нескольких условий. См. Начальный Блок Выхода.
Типы данных: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
Delay length
- Длина задержкиDialog
(по умолчанию) | Input port
Укажите, вводить ли длину задержки непосредственно в диалоговом окне (фиксированная задержка) или наследовать задержку от входа порта (переменная задержка).
Если вы задаете Source Dialog
, введите длину задержки в поле редактирования под Value.
Если вы задаете Source Input port
, проверьте, что сигнал в восходящем направлении задает длину задержки для d
входной порт. Можно также задать его максимальное значение путем определения Upper limit параметра.
Задайте скалярную длину задержки как действительное, неотрицательное целое число. Значение вне области допустимого или нецелое в диалоговом окне (фиксированная задержка) возвращает ошибку. Значение вне области допустимого от входа порта (переменная задержка) приводит его к области значений. Нецелочисленное значение из входа порта (переменная задержка) обрезает его до целого числа.
Параметры блоков: DelayLengthSource |
Тип: Вектор символов |
Значения: 'Dialog' | 'Input port' | |
По умолчанию: 'Dialog' |
Параметры блоков: DelayLength |
Тип: Вектор символов |
Значения: скаляр |
По умолчанию: '2' |
Параметры блоков: DelayLengthUpperLimit |
Тип: Вектор символов |
Значения: скаляр |
По умолчанию: '100' |
Initial condition
- Начальное условиеInput port
(по умолчанию) | Dialog
Укажите, вводить ли начальное условие непосредственно в диалоговом окне или наследовать начальное условие от входа порта.
Если вы задаете Source Dialog
введите начальное условие в поле редактирования под Value.
Если вы задаете Source Input port
, проверьте, что сигнал в восходящем направлении подает начальное условие для x0
входной порт.
Simulink® преобразует в автономном режиме тип данных Initial condition в тип данных входного сигнала u
использование круглосуточной операции и насыщения.
Примечание
Когда State name must resolve to Simulink signal object выбран на панели State Attributes, блок копирует начальное значение объекта сигнала в параметр Initial condition. Однако, когда источник для Initial condition Input port
блок игнорирует начальное значение объекта сигнала.
Параметры блоков: InitialConditionSource |
Тип: Вектор символов |
Значения: 'Dialog' | 'Input port' | |
По умолчанию: 'Input Port' |
Параметры блоков: InitialCondition |
Тип: Вектор символов |
Значения: скаляр |
По умолчанию: '' |
Input processing
- Задайте обработку на основе выборок или фреймовElements as channels (sample based)
(по умолчанию) | Columns as channels (frame based)
Укажите, выполняет ли блок обработку на основе выборок или фреймов:
Columns as channels (frame based)
- Обрабатывайте каждый столбец входа как отдельный канал (обработка на основе фрейма).
Примечание
Для обработки на основе фрейма требуется лицензия DSP System Toolbox™.
Для получения дополнительной информации смотрите Концепции на основе выборок и фреймов (DSP System Toolbox).
Elements as channels (sample based)
- Обработайте каждый элемент входа как отдельный канал (основанная на выборке обработка).
Используйте Input processing, чтобы определить, выполняет ли блок обработку на основе выборок или фреймов. Блок принимает основанные на кадрах сигналы для входа u
. Все другие входные сигналы должны быть основаны на дискретизации.
Входной сигнал u | Режим обработки входных параметров | Блок работает? |
---|---|---|
Основанный на выборке | Основанный на выборке | Да |
Основанный на системах координат | Нет, вызывает ошибку | |
Основанный на выборке | Основанный на системах координат | Да |
Основанный на системах координат | Да |
Для получения дополнительной информации об этих двух режимах обработки смотрите Концепции на основе выборок и фреймов (DSP System Toolbox).
Параметры блоков: InputProcessing |
Тип: Вектор символов |
Значения: 'Columns as channels (frame based)' | 'Elements as channels (sample based)' |
По умолчанию: 'Elements as channels (sample based)' |
Use circular buffer for state
- Кольцевой буфер для хранения состоянияoff
(по умолчанию) | on
Выберите, чтобы использовать циклический буфер для хранения состояния в симуляции и генерации кода. В противном случае буфер массива сохраняет состояние.
Использование кругового буфера может улучшить скорость выполнения, когда длина задержки большая. Для буфера массива количество операций копирования увеличивается, когда длина задержки увеличивается. Для кругового буфера количество операций копирования является постоянным для увеличения длины задержки.
Если одно из следующих условий является true, буфер массива всегда сохраняет состояние, потому что циклический буфер не улучшает скорость выполнения:
Для сигналов, основанных на дискретизации, длина задержки равна 1.
Для сигналов, основанных на кадрах, длина задержки не больше, чем формат кадра.
Параметры блоков: UseCircularBuffer |
Тип: Вектор символов |
Значения: 'off' | 'on' |
По умолчанию: 'off' |
Prevent direct feedthrough
- Предотвратите прямое сквозное соединениеoff
(по умолчанию) | on
Выберите, чтобы увеличить длину задержки с нуля до нижнего предела для Input processing режима:
Для сигналов, основанных на дискретизации, увеличьте минимальную длину задержки до 1.
Для сигналов, основанных на кадрах, увеличьте минимальную длину задержки до длины системы координат.
Установка этого флажка препятствует прямому сквозному соединению от порта входа, u
, к порту выхода. Однако этот флажок не может предотвратить прямое сквозное соединение от порта начальных условий, x0
, к порту выхода.
Чтобы включить этот параметр, установите Delay length: Source равным Input port
.
Параметры блоков: PreventDirectFeedthrough |
Тип: Вектор символов |
Значения: 'off' | 'on' |
По умолчанию: 'off' |
Remove delay length check in generated code
- Удалите проверку длины задержки вне области допустимого значенияoff
(по умолчанию) | on
Выберите, чтобы удалить код, который проверяет длину задержки вне области допустимого.
Флажок | Результат | Когда использовать |
---|---|---|
Отобранный | Сгенерированный код не включает условные операторы для проверки на длину задержки вне области допустимого значения. | Для эффективности кода |
Очищенный | Сгенерированный код включает условные операторы для проверки на длину задержки вне области допустимого. | Для критически важных приложений |
Чтобы включить этот параметр, установите Delay length: Source равным Input port
.
Параметры блоков: RemoveDelayLengthCheckInGeneratedCode |
Тип: Вектор символов |
Значения: 'off' | 'on' |
По умолчанию: 'off' |
Diagnostic for delay length
- Диагностические проверки на длину задержкиNone
(по умолчанию) | Warning
| Error
Задайте, выдавать ли предупреждение или ошибку, когда вход d
меньше нижнего предела или больше Delay length: Upper limit. Нижний предел зависит от настройки Prevent direct feedthrough.
Если флажок снят, нижний предел равен нулю.
Если флажок установлен, нижний предел равен 1 для сигналов на основе дискретизации и длина системы координат для сигналов на основе кадра.
Опции для диагностики включают:
None
- Программное обеспечение Simulink не принимает никаких действий.
Warning
- Программное обеспечение Simulink отображает предупреждение и продолжает симуляцию.
Error
- Программа Simulink завершает симуляцию и отображает ошибку.
Чтобы включить этот параметр, установите Delay length: Source равным Input port
.
Параметры блоков: DiagnosticForDelayLength |
Тип: Вектор символов |
Значения: 'None' | 'Warning' | 'Error' |
По умолчанию: 'None' |
Show enable port
- Создайте порт включенияoff
(по умолчанию) | on
Выберите для управления выполнением этого блока с портом включения. Блок считается активным, когда вход к этому порту ненулевый, и отключается, когда вход 0
. Значение входа проверяется в том же временном шаге, что и выполнение блока.
Параметры блоков:
ShowEnablePort
|
Тип: Вектор символов |
Значения:
'off' | 'on'
|
По умолчанию:
'off'
|
External reset
- Сброс внешнего состоянияRising
(по умолчанию) | None
| Falling
| Either
| Level
| Level hold
Задайте событие триггера, которое будет использоваться для сброса состояний к начальным условиям.
Режим сброса | Поведение |
---|---|
None | Сброс отсутствует. |
Rising | Сброс на приподнятом ребре. |
Falling | Сброс на падающем ребре. |
Either | Сбросьте либо на поднимающийся, либо на падающее ребро. |
Level | Сброс в любом из следующих случаев:
|
Level hold | Сброс, когда сигнал сброса ненулевой на текущем временном шаге |
Сигнал сброса должен быть скаляром типа single
, double
, boolean
, или integer
. Типы данных с фиксированной точкой, кроме ufix1
, не поддерживаются.
Параметры блоков: ExternalReset |
Тип: Вектор символов |
Значения: 'None' | 'Rising' | 'Falling' | 'Either' | 'Level' | 'Level hold' |
По умолчанию: 'Rising' |
Sample time (-1 for inherited)
- Дискретный интервал между попаданиями шаг расчета-1
(по умолчанию) | scalar
Задайте временной интервал между выборками. Чтобы наследовать шаг расчета, установите этот параметр равным -1
. Этот блок поддерживает дискретный шаг расчета, но не непрерывный шаг расчета.
Параметры блоков: SampleTime |
Тип: Вектор символов |
Значение: действительный скаляр |
По умолчанию: '-1' |
State name
- Уникальное имя для состояния блока''
(по умолчанию) | алфавитно-цифровую строкуИспользуйте этот параметр, чтобы присвоить уникальное имя состоянию блока. Значение по умолчанию является ' '
. Когда это поле не заполнено, имя не присваивается. При использовании этого параметра запоминайте следующие факторы:
Допустимый идентификатор начинается с буквенного символа или символа подчеркивания, за которым следуют алфавитно-цифровые символы или символы подчеркивания.
Имя состояния применяется только к выбранному блоку.
Этот параметр включает State name must resolve to Simulink signal object при нажатии кнопки Apply.
Для получения дополнительной информации смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Simulink Coder).
Параметры блоков: StateName |
Тип: Вектор символов |
Значения: уникальное имя |
По умолчанию: '' |
State name must resolve to Simulink signal object
- Требуется разрешение имен состояний для объекта сигналаoff
(по умолчанию) | on
Установите этот флажок, чтобы потребовать, чтобы имя состояния разрешилось к объекту сигнала Simulink.
Чтобы включить этот параметр, задайте значение для State name. Этот параметр появляется только, если вы задаете значение параметра конфигурации модели Signal resolution отличное от None
.
Установка этого флажка отключает Code generation storage class.
Параметры блоков: StateMustResolveToSignalObject |
Тип: Вектор символов |
Значения:
'off' | 'on'
|
По умолчанию: 'off' |
Signal object class
- Имя пользовательского пакета класса памятиSimulink.Signal
(по умолчанию) | <StorageClass.PackageName>
Выберите пользовательский пакет класса памяти путем выбора класса объекта сигнала, заданного целевым пакетом. Например, применить пользовательские классы памяти из встроенного пакета mpt
, выберите mpt.Signal
. Если вы не используете цель генерации кода на основе ERT с Embedded Coder®пользовательские классы памяти не влияют на сгенерированный код.
Чтобы использовать пакет класса памяти, отличный от пакета Simulink, необходимо загрузить пакет в словарь Embedded Coder Dictionary модели. Смотрите Загрузку пакетов класса памяти в словарь встраиваемого кодера (Embedded Coder).
Для получения информации о конфигурировании данных моделей с помощью классов памяти смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Embedded Coder). Для получения дополнительной информации о пользовательских классах классов памяти раздел Организация данных в структуры в Сгенерированном коде (Embedded Coder).
Параметры блоков: StateSignalObject |
Тип: Вектор символов |
Значения:
'Simulink.Signal' | '<StorageClass.PackageName>' |
По умолчанию: 'Simulink.Signal' |
Code generation storage class
- класс памяти состояний для генерации кодаAuto
(по умолчанию) | Model default
| ExportedGlobal
| ImportedExtern
| ImportedExternPointer
| BitField (Custom)
| Model default
| ExportToFile (Custom)
| ImportFromFile (Custom)
| FileScope (Custom)
| AutoScope (Custom)
| Struct (Custom)
| GetSet (Custom)
| Reusable (Custom)
Выберите класс памяти состояний для генерации кода.
Auto
- соответствующий класс памяти для состояний, которые не должны взаимодействовать с внешним кодом.
применяет класс памяти или пользовательский класс памяти, выбранный из списка. Для получения информации о классах памяти смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Simulink Coder). Для получения дополнительной информации о пользовательских классах памяти смотрите Организовать данные параметра в структуру при помощи класса Struct Storage Class (Embedded Coder).StorageClass
Используйте Signal object class, чтобы выбрать пользовательские классы памяти из пакета, отличного от Simulink
.
Чтобы включить этот параметр, задайте значение для State name.
Параметры блоков:
StateStorageClass
|
Тип: Вектор символов |
Значения:
'Auto' | 'Model default' | 'ExportedGlobal' | 'ImportedExtern' | 'ImportedExternPointer' | 'Custom' | ... |
По умолчанию: 'Auto' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Рассмотрите использование Дискретизатора Модели, чтобы преобразовать эти непрерывные блоки в дискретные эквиваленты, которые поддерживают генерацию кода. Из модели, на вкладке Apps, под Control Systems, нажмите Model Discretizer.
Не рекомендуемый для производственного кода.
Для получения информации о генерации HDL-кода см. раздел «Генерация HDL-кода» на странице Delay.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.