exponenta event banner

Ввод пакетов

Считывание двоичных данных или сообщения CAN из канала связи

  • Библиотека:
  • Настольный компьютер Simulink в реальном времени

  • Packet Input block

Описание

Считывание неформатированных двоичных данных из порта или файла. После добавления блока пакетного ввода в модель дважды щелкните блок, чтобы задать его параметры.

Драйвер должен быть одним из следующих:

  • Стандартные устройства > Файл

  • Стандартные устройства > Последовательный порт

  • Стандартные устройства > Протокол TCP

  • Стандартные устройства > Протокол UDP

  • Квазер > Устройство CAN

  • PEAK-System > Устройство CAN

  • Вектор > CAN-устройство

  • MathWorks > Виртуальный CAN (требуется Toolbox™ автомобильной сети)

При установке устройства UDP введите адреса портов в десятичном формате в диалоговом окне «Стандартный протокол UDP устройств».

Порты

Продукция

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

Значения данных, которые были получены от канала связи как неформатированные двоичные данные. Для устройств CAN или Virtual CAN этот порт поддерживает:

  • CAN_MESSAGE тип данных

  • CAN_MESSAGE_BUS тип данных

  • CAN_FD_MESSAGE_BUS тип данных в режиме CAN FD

Этот порт сигнализирует 1 если блок имеет новые доступные данные и 0 в противном случае.

Зависимость

При выборе команды Show «Data Ready» (показать порт готовности данных) этот порт отображается.

Этот порт сигнализирует 1 при возникновении ошибки данных и 0 в противном случае.

Зависимость

При выборе команды Show «Data Error» (Показать порт ошибки данных) этот порт отображается.

Этот порт показывает метку времени для пакетов сообщений CAN.

Зависимость

При выборе Show packet timestamp port этот порт отображается.

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

Зависимость

При выборе параметра Show «Missed Ticks» (Показать пропущенные засечки) этот порт становится видимым.

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

Параметры

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

При нажатии кнопки Install new board отображается список производителей поддерживаемых плат. При выборе производителя программа отображает список плат, доступных у этого производителя. При выборе платы программное обеспечение добавляет плату в список зарегистрированных плат и делает ее текущей платой.

По умолчанию начальный выбор в списке зарегистрированных плат: < no board selected >.

Зависимость

При выборе платы в списке зарегистрированных плат доступны кнопки Delete current board и Board setup.

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

Параметр блока: DrvName

Для удаления текущей платы нажмите эту кнопку. Первоначальный выбор списка зарегистрированных плат изменяется на < no board selected >.

Зависимость

Для активизации этого параметра выберите плату в списке зарегистрированных плат.

При удалении текущей платы кнопки Delete current board и Board setup становятся недоступными.

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

Параметр блока: DrvName

Для установки платы нажмите эту кнопку.

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

Зависимость

Для активизации этого параметра выберите плату в списке зарегистрированных плат.

Для деактивации этого параметра нажмите Delete current board.

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

Параметр блока: DrvAddress
Параметр блока: DrvOptions

Введите значение в секундах, представляющее частоту выполнения блока и взаимодействия с аппаратным обеспечением ввода-вывода. Блок синхронизирует модель с часами реального времени с такой частотой дискретизации.

При использовании решателя с фиксированным шагом введите значение, введенное в качестве параметра конфигурации Фиксированный размер шага (Fixed step size), или целое число, кратное этому значению.

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

Параметр блока: SampleTime

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

Во внешнем режиме программное обеспечение игнорирует это значение.

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

Параметр блока: MaxMissedTicks

В обычном режиме или режиме ускорителя установите этот флажок, чтобы отправить количество пропущенных засечек на выходной порт Missed Ticks.

Во внешнем режиме Missed Ticks порт равен нулю.

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

Параметр блока: ShowMissedTicks

В обычном режиме или режиме ускорения установите этот флажок, чтобы предоставить другим программам больше времени ЦП, пока ядро ожидает ответа от оборудования.

Во внешнем режиме программное обеспечение игнорирует это значение.

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

Параметр блока: YieldWhenWaiting

Введите идентификатор обрабатываемого пакета. Если протокол не имеет идентификаторов пакетов, этот параметр отключен.

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

Параметр блока: PacketID

Установите этот флажок, если идентификатор пакета является расширенным идентификатором.

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

Параметр блока: PacketID

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

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

Параметр блока: PacketSize

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

Каждый вектор символов имеет формат [n*]datatype. Данные, которые описывает символьный вектор, имеют тип, указанный datatype и ширина, указанная n. Если n не указан, ширина равна 1. Например, 'double' означает одно double значение, и '4*int8' означает вектор из четырех int8 значения. Также можно ввести 'CAN_MESSAGE' для указания одного CAN_MESSAGE значение.

Предоставляя массив ячеек таких символьных векторов, можно преобразовать входной пакет в требуемые типы, упакованные в векторы. Например, указание {'int16','int16','double'} создает три порта. Первый и второй выходные сигналы int16 значение, и третий вывод a double. Определение {'2*int16','double'} создает два порта: вектор из двух int16 значения и скаляр double.

Блок приводит значение вне диапазона к максимальному значению для этого типа данных.

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

Параметр блока: DataTypes

В списке выберите:

  • Little Endian (по умолчанию) - отправка многобайтовых значений в формате little-endian.

  • Big Endian - Отправка многобайтовых значений в формате big-endian.

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

Параметр блока: ByteOrder

При установке этого флажка блок делает видимым выходной порт Data Ready. Этот порт сигнализирует 1 когда блок имеет новые доступные данные и 0 в противном случае.

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

Параметр блока: ShowReady

При установке этого флажка блок делает видимым выходной порт Data Error. Этот порт сигнализирует 1 при возникновении ошибки данных и 0 в противном случае.

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

Параметр блока: ShowError

При установке этого флажка блок делает видимым выходной порт Timestamp. Этот порт отображает временные метки для пакетов сообщений CAN. Если протокол не имеет временных меток пакетов, блок игнорирует это значение.

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

Параметр блока: ShowTimestamp
Представлен в R2007b