Обнаружьте точку пересечения
Simulink / Разрывы
HDL Coder / Разрывы
SimEvents
Блок Hit Crossing обнаруживает, когда вход достигает значения параметров Hit crossing offset в направлении, заданном свойством Hit crossing direction.
Можно сконфигурировать блок, чтобы вывести 1 или 0 signal
или 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
с четырьмя полями.
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
, хит NegativeToPositive
не зарегистрирован.
В блоке SimEvents, если Crossing Type
сущности является NegativeToPositive
hitcrossing затем, entity.CrossingType == slHitCrossingType.NegativeToPositive
возвращает логическую единицу (true)
.
Если сигнал достигает значения HitCrossingOffset
и содержит его, один NegativeToZero
или PositiveToZero
, в зависимости от направления, хит указан во время пересечения хита.
Типы данных: slHitCrossingType
Index
— Индекс входного сигнала, в котором событие пересечения хита имеет местоДля сигналов n, передаваемых блоку Hit Crossing, это поле обозначает, какой сигнал имел событие пересечения хита. Для матричного входа это поле следует за MATLAB® линейная индексация. Смотрите Индексацию массива (MATLAB).
Типы данных: uint32
Время
Время события пересечения хитаВремя 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' |
'OutputType'
Выберите сигнал или сообщение выводКогда Output type установлен в Signal
, выходной сигнал установлен в тот каждый раз, когда входной сигнал пересекает значение Hit crossing offset в Hit crossing direction и является нулем в других случаях.
Когда Output type установлен в Message
, выходной сигнал становится сообщением SimEvents.
Параметры блоков: HitCrossingOutputType |
Ввод: символьный вектор |
Значения: 'Signal' | 'Message' |
Значение по умолчанию: 'Signal' |
Enable zero-crossing detection
— Включите обнаружение пересечения нулемon
(значение по умолчанию) | булевская переменнаяВыберите, чтобы включить обнаружение пересечения нулем. Для получения дополнительной информации смотрите Обнаружение Пересечения нулем.
Параметры блоков: ZeroCross |
Ввод: вектор символов, строка |
Значения: 'off' | 'on' |
Значение по умолчанию: 'on' |
'SampleTime'
Задайте шаг расчета как значение кроме -1
-1
(значение по умолчанию) | скалярЗадайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки.
Этот параметр не видим, если он явным образом не установлен в значение кроме -1
. Чтобы узнать больше, смотрите Блоки, для Которых Не Рекомендуется Шаг расчета.
Параметры блоков:
SampleTime |
Ввод: символьный вектор |
Значения: скаляр |
Значение по умолчанию:
'-1' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Если блок Hit Crossing сконфигурирован, чтобы вывести сообщение SimEvents и выходной сигнал:
Кресты в или из модели, на которую ссылаются,
Питается вход диаграммы Stateflow
затем необходимо создать объект шины для сигнала сообщения. В Окне Команды MATLAB запустите Simulink.createHitCrossMessage
, чтобы проверять на и, в случае необходимости, создать хит, пересекающий объект шины сообщения в базовом рабочем пространстве.
Установите тип данных соответствующего порта к Bus: HitCrossMessage
.
Не рекомендуемый для производственного кода.
Не поддерживает не плавающий тип данных для целей ert.
Не поддерживаемый для сообщений SimEvents.
Реализуйте логические сигналы как булевы данные (по сравнению с двойным) | Обнаружение пересечения нулем
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.