exponenta event banner

Вывод пакетов

Запись двоичных данных или сообщения CAN в канал связи

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

  • Packet Output block

Описание

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

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

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

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

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

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

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

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

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

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

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

Любой последовательный выходной порт может передавать данные с частотой дискретизации до 500 Гц. Чтобы включить более высокую частоту дискретизации до 10 кГц для некоторых выходных последовательных портов, нажмите Установить новую плату, выберите Стандартные устройства > Последовательный порт и выберите Прямой доступ к порту.

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

Порты

Вход

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

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

  • CAN_MESSAGE тип данных

  • CAN_MESSAGE_BUS тип данных

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

Типы данных: single | double | int8 | uint8 | int16 | uint16 | int32 | uint32

Продукция

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

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

Зависимость

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

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

Зависимость

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

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

Зависимость

При выборе параметра 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 вектор и символьный вектор '4*int8'. Четыре целые числа преобразуются в int8 перед записью в пакет. Результирующие данные занимают 4 байта в выходном пакете.

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

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

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

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

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

  • Big Endian - Получать многобайтовые значения в формате big-endian.

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

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

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

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

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

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

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

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

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

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

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

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

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

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