Обнаружение точки пересечения
Simulink/Разрывы
Simulink/Сообщения и события
HDL-кодер/разрывы
SimEvents
Блок Hit Crossing обнаруживает, когда вход достигает значения параметров Hit crossing offset в направлении, заданном свойством Hit crossing direction.
Можно сконфигурировать блок, чтобы вывести 1
или 0
сигнал, SimEvents® сообщение или событие вызова функции. Дополнительные сведения см. в разделе Выходе.
Port_1
- Входной сигналВходной сигнал, который блок обнаруживает, когда он достигает смещения в заданном направлении.
Типы данных: double
Port_1
- Выходной сигналВыход, указывающий, пересек ли входной сигнал смещение удара. Этот порт видим только, когда вы устанавливаете флажок Show output port параметра.
Выходные данные сигнала
Если вы установите флажок Show output port и установите параметр Output type равным Signal
выход блока указывает, когда происходит пересечение.
Если входной сигнал является в точности значением смещения после обнаружения пересечения удара в заданном направлении, блок продолжает выводить значение 1.
Если входные сигналы в двух смежных точках заключают в скобки значение смещения, блок выводит значение 1 на втором временном шаге.
Если флажок Show output port не установлен, блок гарантирует, что симуляция находит точку пересечения, но не генерирует выход.
Если начальный сигнал равен значению смещения, блок выводит 1 только, если для свойства Hit crossing direction задано значение either
.
Если логические сигналы включены, то выходом является Boolean
.
Выход сообщения SimEvents
Блок Hit Crossing может также выводить сообщение SimEvents, когда параметру Output type задано значение Message
.
Если входной сигнал пересекает значение смещения в заданном направлении, блок выводит сообщение.
Если входной сигнал достигает значения смещения в заданном направлении и остается там, блок выводит одно сообщение во время хита и одно сообщение, когда сигнал оставляет значение смещения.
Если начальный входной сигнал равен значению смещения, блок выводит сообщение со Crossing Type
значение None
только если для Hit crossing direction задано значение either
.
Выходной сигнал сообщения SimEvents является struct
с четырьмя полями.
Вызов функции Выхода
Блок Hit Crossing может также выводить событие вызова функции, когда параметр Output type установлен в Function-Call
.
Каждый раз, когда входной сигнал пересекает значение смещения в заданном направлении, блок выводит одно событие вызова функции.
Событие вызова функции может быть отправлено на входной порт вызова функции подсистемы вызова функций или модели вызова функции.
Выход эквивалентен выходу блока Function-Call Generator на каждом временном шаге с параметром Number of iterations этого блока на 1
.
CrossingType
- Направление пересечения нулемNone
| NegativeToPositive
| NegativeToZero
| ZeroToPositive
| PositiveToNegative
| PositiveToZero
| ZeroToNegative
Это поле показывает направление, в котором сигнал пересекает Hit crossing offset значение. Отрицательные, Нулевые и Положительные заданы относительно значения смещения. Тип данных slHitCrossingType
который является enumerated data type. Смотрите Использование перечисленных данных в моделях Simulink для получения дополнительной информации. Для примера, если HitCrossingOffset
устанавливается равным 2, увеличивающийся сигнал, пересекающий это значение смещения, будет записан как NegativeToPositive
ударную переправу.
Примечание
Пересечение хита регистрируется на основе настройки Hit crossing direction. Другими словами, если вы задаете Hit crossing direction, чтобы обнаружить falling
hit crossing, a NegativeToPositive
hit не записан.
Примечание
В блоке SimEvents, если Crossing Type
сущности является NegativeToPositive
затем гиткроссинг entity.CrossingType == slHitCrossingType.NegativeToPositive
возвращает логический 1 (true)
.
Если сигнал достигает HitCrossingOffset
значение и удерживает его, одно NegativeToZero
или PositiveToZero
, в зависимости от направления, попадание регистрируется в момент пересечения удара.
Типы данных: slHitCrossingType
Index
- Индекс входного сигнала, при котором происходит событие пересечения хитаДля n сигналов, переданных в блок Hit Crossing, это поле обозначает, какой сигнал имел событие пересечения удара. Для матричного входа это поле следует за MATLAB® линейная индексация. См. Раздел Индексация массивов.
Типы данных: uint32
Time
- Время пересечения хитаВременная T события пересечения хита.
Типы данных: double
Offset
- Значение пересечения ударов для обнаружения0
(по умолчанию) | вещественные значенияЗначение смещения пересечения удара задается параметром Смещение пересечения удара.
Типы данных: double
Типы данных: double
| Boolean
| struct
Примечание
Если сообщение SimEvents выхода сигнал пересекает модель-ссылку контуров или используется как вход в Stateflow® на графике необходимо создать объект шины для сообщения. См. «Советы».
Hit crossing offset
- Значение пересечения ударов для обнаружения0
(по умолчанию) | вещественные значенияЗадайте значение, которое блок обнаруживает, когда вход пересекает в направлении, заданном Hit crossing direction.
Параметры блоков: HitCrossingOffset |
Тип: Вектор символов |
Значения: действительные значения |
По умолчанию: '0' |
Hit crossing direction
- Направление входного сигнала для столкновения с пересечениемeither
(по умолчанию) | falling
| rising
Направление, от которого входной сигнал приближается к смещению пересечения столкновения для обнаружения пересечения.
Когда установлено значение either
, блок служит почти равным блоком, полезным при работе с ограничениями в конечной математике и компьютерной точности. Используемый по этим причинам, этот блок может быть более удобным, чем добавление логики к вашей модели, чтобы обнаружить это условие.
Когда для свойства Hit crossing direction задано значение either
и модель использует решатель с фиксированным шагом, блок имеет следующее поведение. Если выходной сигнал равен 1, блок устанавливает выходной сигнал равным 0 на следующем временном шаге, если только входной сигнал не равен значению смещения.
Параметры блоков: HitCrossingDirection |
Тип: Вектор символов |
Значения: 'either' | 'rising' | 'falling' |
По умолчанию: 'either' |
Show output port
- отображение выходного портаoff
(по умолчанию) | on
Если выбран, создайте выход порт на значке блока.
Параметры блоков: ShowOutputPort |
Тип: Вектор символов |
Значения: 'off' | 'on' |
По умолчанию: 'on' |
Output type
- Выберите сигнал, сообщение или выход функцииSignal
(по умолчанию для Simulink®) | Message
(по умолчанию для SimEvents) | Function-Call
Когда Output type установлено на Signal
сигнал выхода устанавливается на единицу каждый раз, когда входной сигнал пересекает Hit crossing offset значение в Hit crossing direction и равен нулю в другое время.
Когда для Output type задано значение Message
сигнал выхода становится сообщением SimEvents.
Когда Output type установлено на Function-Call
сигнал выхода становится событием вызова функции.
Параметры блоков: HitCrossingOutputType |
Тип: Вектор символов |
Значения: 'Signal' | 'Message' | 'Function-Call' |
По умолчанию: 'Signal' |
Enable zero-crossing detection
- Включить обнаружение пересечения нулемon
(по умолчанию) | off
Выберите, чтобы включить обнаружение пересечения нулем. Для получения дополнительной информации смотрите Обнаружение пересечения нулем.
Параметр:
ZeroCross
|
Тип: Вектор символов, строка |
Значения:
'on' | 'off' |
По умолчанию:
'on'
|
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Если блок Hit Crossing сконфигурирован для вывода сообщения SimEvents и сигнала выхода:
Пересекает или выходит из ссылочной модели
Подается на вход диаграммы Stateflow
затем необходимо создать шинный объект для сигнала сообщения. В Командном Окне MATLAB запустите Simulink.createHitCrossMessage
для проверки и, при необходимости, создания объекта hit crossing message bus в базовом рабочем пространстве.
Установите тип данных соответствующего порта равным Bus: HitCrossMessage
.
Не рекомендуемый для производственного кода.
Не поддерживает неплавающий тип данных для целевых объектов ert.
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет одну архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
Направление пересечения Хита должно быть rising
или falling
.
Генерация HDL-кода не поддерживается при Output Type
установлено в Message
.
Реализуйте логические сигналы как логические данные (против double) | Обнаружение пересечения нулем
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.