Упакуйте отдельные сигналы в сообщение CAN
Vehicle Network Toolbox / Коммуникация CAN
Embedded Coder / Целевые процессоры / Коммуникация Хоста
Пакет поддержки Embedded Coder для процессоров Texas Instruments C2000 / целевая коммуникация
Simulink Real-Time / CAN / блоки сообщения CAN
Блок CAN Pack загружает данные сигнала в сообщение CAN в заданных интервалах во время симуляции.
Чтобы использовать этот блок, у вас должна быть лицензия на Simulink® программное обеспечение.
Поддержки блока CAN Pack:
Simulink Accelerator™ быстрый режим Accelerator. Можно ускорить выполнение моделей Simulink.
Ссылка модели. Ваша модель может включать другие модели Simulink как модульные компоненты.
Для получения дополнительной информации см. Проект Ваша Модель для Эффективного Ускорения.
Совет
Этот блок может использоваться, чтобы кодировать сообщения групп параметра J1939 до 8 байтов. Однако, чтобы работать с сообщениями J1939, желательно использовать блоки в Коммуникационной библиотеке блоков J1939 вместо этого блока.
Data
— Вход сигнала сообщения CANБлок CAN Pack имеет один входной порт по умолчанию. Количество входных параметров блока является динамическим и зависит от количества сигналов, которые вы задаете для блока. Например, если ваше сообщение имеет четыре сигнала, блок может иметь четыре входных порта.
Блок поддерживает следующие типы данных входного сигнала: один, дважды, int8, int16, int32, int64, uint8, uint16, uint32, uint64, и boolean. Блок не поддерживает типы данных с фиксированной точкой.
Генерация кода, чтобы развернуть модели в цели. Если ваша информация сигнала состоит из целых чисел со знаком или беззнакового целого, больше, чем 32 бита длиной, генерация кода не поддерживается.
CAN Msg
— Сообщение CAN выводитсяCAN_MESSAGE
| CAN_MESSAGE_BUS
Этот блок имеет один выходной порт, сообщение CAN. Блок CAN Pack берет заданные входные сигналы и упаковывает их в сообщение CAN. Тип выходных данных определяется установкой параметра Output as bus.
Data input as
— Выберите свой сигнал данныхraw data
(значение по умолчанию) | manually specified signals
| CANdb specified signals
raw data
: Входные данные как uint8 векторный массив. Если вы выбираете эту опцию, вы только задаете поля сообщения. все другие поля параметра сигнала недоступны. Эта опция открывает только один входной порт на вашем блоке.
Формула преобразования:
raw_value = (physical_value - Offset) / Factor
physical_value
исходное значение сигнала и raw_value
упакованное значение сигналов.manually specified signals
: Позволяет вам задавать определения сигнала данных. Если вы выбираете эту опцию, используйте таблицу Signals, чтобы создать ваши сигналы. Количество входных параметров блока зависит от количества сигналов, которые вы задаете.
CANdb specified signals
: Позволяет вам задавать файл базы данных CAN, который содержит сообщение и определения сигнала. Если вы выбираете эту опцию, выберите файл CANdb. Количество входных параметров блока зависит от количества сигналов, заданных в файле CANdb для выбранного сообщения.
Параметры блоков:
DataFormat
|
Ввод:
string | character vector
|
Значения:
'raw data' | 'manually specified signals' | 'CANdb specified signals'
|
Значение по умолчанию:
'raw data'
|
CANdb file
— Файл базы данных CANЭта опция доступна, если вы указываете, что ваши данные вводятся через файл CANdb в списке Data is input as. Нажмите Browse, чтобы найти файл CANdb в вашей системе. Список сообщений, заданный в файле CANdb, заполняет раздел Message диалогового окна. Файл CANdb также заполняет таблицу Signals для выбранного сообщения.
Имена файлов, которые содержат неалфавитно-цифровые символы, такие как знаки "равно", амперсанды, и так далее не являются допустимыми именами файлов базы данных CAN. Можно использовать периоды на имя базы данных. Прежде чем вы будете использовать файлы базы данных CAN, переименуйте их с неалфавитно-цифровыми символами.
Параметры блоков:
CANdbFile
|
Ввод:
string | character vector
|
Message list
— Список сообщений CANЭта опция доступна, если вы указываете, что ваши данные вводятся через файл CANdb в поле Data is input as, и вы выбираете файл CANdb в поле CANdb file. Выберите сообщение, чтобы отобразить детали сигнала в таблице Signals.
Параметры блоков:
MsgList
|
Ввод:
string | character vector |
Name
— Имя сообщения CANCAN Msg
(значение по умолчанию) | вектор символовЗадайте имя для своего сообщения CAN. Значением по умолчанию является CAN Msg
. Эта опция доступна, если вы принимаете решение ввести необработанные данные или вручную задать сигналы. Эта опция не доступна, если вы принимаете решение использовать сигналы из файла CANdb.
Параметры блоков:
MsgName |
Ввод:
string | character vector |
Identifier type
— Тип идентификатора CANStandard (11-bit identifier)
(значение по умолчанию) | Extended (29-bit identifier)
Задайте, является ли вашим идентификатором сообщения CAN Standard
или Extended
ввод. Значением по умолчанию является Standard
. Стандартный идентификатор является 11-битным идентификатором, и расширенный идентификатор является 29-битным идентификатором. Эта опция доступна, если вы принимаете решение ввести необработанные данные или вручную задать сигналы. Для CANdb specified signals
, Identifier type наследовал тип от базы данных.
Параметры блоков:
MsgIDType |
Ввод:
string | character vector |
Значения:
'Standard (11-bit identifier)' | 'Extended (29-bit identifier)' |
Значение по умолчанию:
'Standard (11-bit identifier)'
|
CAN Identifier
— ID сообщения CAN
(значение по умолчанию) | 0
к 536870911
Задайте свой ID сообщения CAN. Этот номер должен быть положительным целым числом от 0 до 2047 для стандартного идентификатора и от 0 до 536870911 для расширенного идентификатора. Можно также задать шестнадцатеричные значения при помощи hex2dec
функция. Эта опция доступна, если вы принимаете решение ввести необработанные данные или вручную задать сигналы.
Параметры блоков:
MsgIdentifier |
Ввод:
string | character vector |
Значения:
'0' к '536870911' |
Length (bytes)
— Длина сообщения CAN
(значение по умолчанию) | 0
к 8
Задайте длину своего сообщения CAN от 0 до 8 байтов. Если вы используете CANdb specified signals
для вашего ввода данных файл CANdb задает длину вашего сообщения. В противном случае это поле значения по умолчанию к 8
. Эта опция доступна, если вы принимаете решение ввести необработанные данные или вручную задать сигналы.
Параметры блоков:
MsgLength |
Ввод:
string | character vector |
Значения:
'0' к '8' |
Значение по умолчанию:
'8'
|
Remote frame
— Сообщение CAN как удаленная система координатoff
(значение по умолчанию) | on
Задайте сообщение CAN как удаленную систему координат.
Параметры блоков:
Remote |
Ввод:
string | character vector |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off'
|
Output as bus
— Сообщение CAN как шинаoff
(значение по умолчанию) | on
Выберите эту опцию для блока, чтобы вывести сообщения CAN как сигнал шины Simulink. Для получения дополнительной информации об объектах шины Simulink смотрите Составные Сигналы.
Параметры блоков:
BusOutput |
Ввод:
string | character vector |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off'
|
Add signal
— Добавьте сигнал CANДобавьте новый сигнал в таблицу сигнала.
'none'
Delete signal
— Удалите сигнал CANУдалите выбранный сигнал из таблицы сигнала.
'none'
Signals
— Таблица SignalsЭта таблица появляется, если вы принимаете решение задать сигналы вручную или задать сигналы при помощи файла CANdb.
Если вы используете файл CANdb, данные в файле заполняют эту таблицу, и вы не можете отредактировать поля. Чтобы отредактировать информацию сигнала, переключитесь на вручную заданные сигналы.
Если вы выбрали, чтобы задать сигналы вручную, создайте свои сигналы в этой таблице. Каждый сигнал, что вы создаете, имеет эти значения:
Задайте описательное имя для своего сигнала. Блок Simulink в вашей модели отображает это имя. Значением по умолчанию является Signal [row number]
.
Задайте старт-бит данных. Старт-бит является младшим значащим битом, считаемым от запуска данных о сообщении. Старт-бит должен быть целым числом от 0 до 63.
Задайте количество битов, которые сигнал занимает в сообщении. Длина должна быть целым числом от 1 до 64.
Выберите любую из этих опций:
LE
: Где порядок байтов находится в формате с прямым порядком байтов (Intel®). В этом формате вы считаете биты от младшего значащего бита к старшему значащему биту. Например, если вы упаковываете один байт данных в формате с прямым порядком байтов со старт-битом в 20, таблица бита данных напоминает этот рисунок.
Прямой порядок байтов, считаемый от младшего значащего бита до самого высокого адреса
BE
: Где порядок байтов находится в формате с обратным порядком байтов (Motorola®). В этом формате вы считаете биты от младшего значащего бита до старшего значащего бита. Например, если вы упаковываете один байт данных в формате с обратным порядком байтов со старт-битом в 20, таблица бита данных напоминает этот рисунок.
Обратный порядок байтов, считаемый от младшего значащего бита до самого низкого адреса
Задайте, как сигнал интерпретирует данные в выделенных битах. Выберите из:
signed
(значение по умолчанию)
unsigned
single
double
Задайте, как блок упаковывает сигналы в сообщение CAN на каждом временном шаге:
Standard
: Сигнал упаковывается на каждом временном шаге.
Multiplexor
: Multiplexor
сигнал или сигнал режима упаковывается. Можно задать только один Multiplexor
сигнал на сообщение.
Multiplexed
: Сигнал упаковывается если значение Multiplexor
сигнал (сигнал режима) во время выполнения совпадает со сконфигурированным Multiplex value этого сигнала.
Например, сообщение имеет эти сигналы со следующими типами и значениями.
Имя сигнала | Мультиплексный тип | Мультиплексное значение |
---|---|---|
Сигнал-A | Стандарт | Не применяется |
Сигнал-B | Мультиплексированный | 1 |
Сигнал-C | Мультиплексированный | 0 |
Сигнал-D | Мультиплексор | Не применяется |
В этом примере:
Блок упаковывает Сигнал-A (Стандартный сигнал) и Сигнал-D (Сигнал мультиплексора) в каждом временном шаге.
Если значение-сигнала-D 1 на шаге определенного времени, то Сигнал-B пакетов блока наряду с Сигналом-A и Сигналом-D в том временном шаге.
Если значение-сигнала-D 0 на шаге определенного времени, то Сигнал-C пакетов блока наряду с Сигналом-A и Сигналом-D в том временном шаге.
Если значение-сигнала-D не 1 или 0, блок не упаковывает ни один из Мультиплексированных сигналов в том временном шаге.
Эта опция доступна, только если вы выбрали Multiplex type, чтобы быть Multiplexed
. Значение, которое вы вводите, должно совпадать с the Multiplexor
значение сигналов во время выполнения для блока, чтобы упаковать Multiplexed
сигнал. Multiplex value должен быть положительным целым числом или нулем.
Задайте значение Factor, чтобы применяться, чтобы преобразовать физическое значение (значение сигналов) в необработанное значение, упакованное в сообщении. Для получения дополнительной информации смотрите формулу преобразования параметра Data input as.
Задайте значение Offset, чтобы применяться, чтобы преобразовать физическое значение (значение сигналов) в необработанное значение, упакованное в сообщении. Для получения дополнительной информации смотрите формулу преобразования параметра Data input as.
Задайте область значений значений сигналов. Настройками по умолчанию является -Inf
(отрицательная бесконечность) и Inf
, соответственно. Для CANdb specified signals эти настройки читаются из базы данных CAN. Для manually specified signals можно задать минимальное и максимальное физическое значение сигнала. По умолчанию эти настройки не отсекают значения сигналов, которые превышают настройки.
Параметры блоков:
SignalInfo |
Ввод:
string | character vector |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.