Поразите пересечение

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

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

    HDL Coder / Разрывы

    SimEvents

Описание

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

Можно сконфигурировать блок, чтобы вывести 1 или 0 signal или 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 offset. Отрицательный, Нуль, и Положительный задан относительно значения смещения. Типом данных является slHitCrossingType, который является enumerated data type. Смотрите Использование Перечислимые Данные в Моделях Simulink (Simulink) для получения дополнительной информации. Например, если бы HitCrossingOffset установлен в 2, возрастающий сигнал, пересекающий это значение смещения, был бы зарегистрирован как пересечение хита NegativeToPositive.

Примечание

Пересечение хита зарегистрировано на основе установки Hit crossing direction. Другими словами, если вы устанавливаете Hit crossing direction обнаруживать пересечение хита falling, хит NegativeToPositive не зарегистрирован.

Примечание

В блоке SimEvents, если Crossing Type сущности является NegativeToPositive hitcrossing затем, entity.CrossingType == slHitCrossingType.NegativeToPositive возвращает логическую единицу (true).

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

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

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

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

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

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

Совершите нападки значение смещения пересечения, как задано Хитом, пересекающимся, сместило (Simulink) параметр.

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

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

Примечание

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

Параметры

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

Задайте значение, которое обнаруживает блок, когда вход пересекается в направлении, заданном 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.

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

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

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

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

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

Задайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки (Simulink).

Зависимости

Этот параметр не видим, если он явным образом не установлен в значение кроме -1. Чтобы узнать больше, смотрите Блоки, для Которых Шагу расчета Не Рекомендуют (Simulink).

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

Параметры блоков: SampleTime
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '-1'

Образцовые примеры

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

Типы данных

double

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

yes

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

no

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

no

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

yes

Советы

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

  • Кресты в или из модели, на которую ссылаются,

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

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

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

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

Введенный в R2018a