Hit Crossing

Обнаружение точки пересечения

  • Библиотека:
  • Simulink/Разрывы

    Simulink/Сообщения и события

    HDL-кодер/разрывы

    SimEvents

  • Hit Crossing block

Описание

Блок Hit Crossing обнаруживает, когда вход достигает значения параметров Hit crossing offset в направлении, заданном свойством Hit crossing direction.

Можно сконфигурировать блок, чтобы вывести 1 или 0 сигнал, SimEvents® сообщение или событие вызова функции. Дополнительные сведения см. в разделе Выходе.

Порты

Вход

расширить все

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

Типы данных: double

Выход

расширить все

Выход, указывающий, пересек ли входной сигнал смещение удара. Этот порт видим только, когда вы устанавливаете флажок 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.

Это поле показывает направление, в котором сигнал пересекает 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

Для n сигналов, переданных в блок Hit Crossing, это поле обозначает, какой сигнал имел событие пересечения удара. Для матричного входа это поле следует за MATLAB® линейная индексация. См. Раздел Индексация массивов.

Типы данных: uint32

Временная T события пересечения хита.

Типы данных: double

Значение смещения пересечения удара задается параметром Смещение пересечения удара.

Типы данных: double

Типы данных: double | Boolean | struct

Примечание

Если сообщение SimEvents выхода сигнал пересекает модель-ссылку контуров или используется как вход в Stateflow® на графике необходимо создать объект шины для сообщения. См. «Советы».

Параметры

расширить все

Задайте значение, которое блок обнаруживает, когда вход пересекает в направлении, заданном Hit crossing direction.

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

Параметры блоков: HitCrossingOffset
Тип: Вектор символов
Значения: действительные значения
По умолчанию: '0'

Направление, от которого входной сигнал приближается к смещению пересечения столкновения для обнаружения пересечения.

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

Когда для свойства Hit crossing direction задано значение either и модель использует решатель с фиксированным шагом, блок имеет следующее поведение. Если выходной сигнал равен 1, блок устанавливает выходной сигнал равным 0 на следующем временном шаге, если только входной сигнал не равен значению смещения.

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

Параметры блоков: HitCrossingDirection
Тип: Вектор символов
Значения: 'either' | 'rising' | 'falling'
По умолчанию: 'either'

Если выбран, создайте выход порт на значке блока.

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

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

Когда Output type установлено на Signalсигнал выхода устанавливается на единицу каждый раз, когда входной сигнал пересекает Hit crossing offset значение в Hit crossing direction и равен нулю в другое время.

Когда для Output type задано значение Messageсигнал выхода становится сообщением SimEvents.

Когда Output type установлено на Function-Callсигнал выхода становится событием вызова функции.

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

Параметры блоков: HitCrossingOutputType
Тип: Вектор символов
Значения: 'Signal' | 'Message' | 'Function-Call'
По умолчанию: 'Signal'

Выберите, чтобы включить обнаружение пересечения нулем. Для получения дополнительной информации смотрите Обнаружение пересечения нулем.

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

Параметр: ZeroCross
Тип: Вектор символов, строка
Значения: 'on' | 'off'
По умолчанию: 'on'

Примеры моделей

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

Типы данных

double

Прямое сквозное соединение

yes

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

no

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

no

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

yes

Совет

Если блок Hit Crossing сконфигурирован для вывода сообщения SimEvents и сигнала выхода:

  • Пересекает или выходит из ссылочной модели

  • Подается на вход диаграммы Stateflow

затем необходимо создать шинный объект для сигнала сообщения. В Командном Окне MATLAB запустите Simulink.createHitCrossMessage для проверки и, при необходимости, создания объекта hit crossing message bus в базовом рабочем пространстве.

Установите тип данных соответствующего порта равным Bus: HitCrossMessage.

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

.
Введенный в R2018a