exponenta event banner

Переход удара

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

  • Библиотека:
  • Симулинк/разрывы

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

    Кодер HDL/Прерывание работы

    SimEvents

  • Hit Crossing block

Описание

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

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

Порты

Вход

развернуть все

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

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

Продукция

развернуть все

Выходной сигнал, указывающий, пересекает ли входной сигнал смещение попадания. Этот порт отображается только при установке флажка Show output port parameter.

Выход сигнала

Если установлен флажок Show output port и для параметра Output type установлено значение Signal, выходной сигнал блока указывает, когда происходит пересечение.

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

  • Если входные сигналы в двух соседних точках ограничивают значение смещения, блок выдает значение 1 на втором временном шаге.

  • Если флажок Показать выходной порт (Show output port) не установлен, блок гарантирует, что при моделировании будет найдена точка пересечения, но не будет генерироваться выходной сигнал.

  • Если начальный сигнал равен значению смещения, блок выводит 1, только если свойство Hit crossing direction имеет значение either.

  • Если логические сигналы Boolean включены, то на выходе отображается Boolean.

Вывод сообщения SimEvents

Блок пересечения совпадений может также выводить сообщение SimEvents, если для параметра Output type установлено значение Message.

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

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

  • Если начальный входной сигнал равен значению смещения, блок выдает сообщение с Crossing Type стоимость None только если для направления пересечения «Попадание» установлено значение either.

Выходной сигнал сообщения SimEvents представляет собой struct с четырьмя полями.

Вывод вызова функции

Блок пересечения совпадений может также выводить событие вызова функции, если для параметра Output type установлено значение Function-Call.

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

  • Событие function-call может быть передано во входной порт function-call подсистемы function-call или модели function-call.

  • Выходной сигнал эквивалентен выходному сигналу блока генератора вызовов функций на каждом шаге времени с параметром Number of iterations этого блока, равным 1.

Это поле показывает направление, в котором сигнал пересекает значение смещения пересечения хита. Отрицательные, нулевые и положительные определяются относительно значения смещения. Тип данных: slHitCrossingType который является перечисляемым типом данных. Дополнительные сведения см. в разделе Использование перечисляемых данных в моделях Simulink. Например, если HitCrossingOffset установлено на 2, растущий сигнал, пересекающий это значение смещения, будет записан как NegativeToPositive ударный переход.

Примечание

Пересечение попаданий записывается на основе настройки направления пересечения попаданий. Другими словами, если задать направление пересечения «Попадание» для обнаружения falling переход удара, a NegativeToPositive попадание не зафиксировано.

Примечание

В блоке SimEvents, если Crossing Type объекта является NegativeToPositive Хиткроссинг тогда entity.CrossingType == slHitCrossingType.NegativeToPositive возвращает логический 1 (true).

Если сигнал достигает HitCrossingOffset значение и держит его, один NegativeToZero или PositiveToZeroв зависимости от направления удар регистрируется в момент пересечения удара.

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

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

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

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

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

Значение смещения пересечения совпадений, заданное параметром смещения пересечения попаданий.

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

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

Примечание

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

Параметры

развернуть все

Укажите значение, определяемое блоком при пересечении входных данных в направлении, заданном параметром «Направление пересечения ударов».

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

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

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

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

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

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

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

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

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

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

Если для параметра «Тип вывода» установлено значение Signalвыходной сигнал устанавливается равным единице всякий раз, когда входной сигнал пересекает значение смещения пересечения хита в направлении пересечения хита и равен нулю в другое время.

Если для типа Output установлено значение Messageвыходной сигнал становится сообщением SimEvents.

Если для параметра «Тип вывода» установлено значение Function-Callвыходной сигнал становится событием вызова функции.

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

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

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

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

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

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

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

Типы данных

double

Прямой проход

yes

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

no

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

no

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

yes

Совет

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

  • Переход в ссылочную модель или выход из нее

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

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

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

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

.
Представлен до R2006a