Hit Crossing

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

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

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

    HDL Coder / Разрывы

    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 поразите пересечение, NegativeToPositive хит не зарегистрирован.

Примечание

В блоке SimEvents, если Crossing Type из сущности NegativeToPositive hitcrossing затем entity.CrossingType == slHitCrossingType.NegativeToPositive возвращает логическую единицу (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 чтобы проверять на и, в случае необходимости, создают хит, пересекающий объект шины сообщения в базовом рабочем пространстве.

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

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

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