Упаковать отдельные сигналы в сообщение CAN
Блоки MSG Simulink в реальном времени/CAN/CAN
Набор инструментов для сети транспортных средств/CAN-связь
Встроенный кодер/Встроенные цели/Связь с хостом


Блок CAN Pack загружает данные сигнала в сообщение через определенные интервалы во время моделирования.
Для использования этого блока необходимо иметь лицензию на программное обеспечение Simulink ®.
Блок CAN Pack поддерживает:
Simulink Accelerator™ режиме быстрого ускорения. Можно ускорить выполнение моделей Simulink.
Ссылка на модель. Модель может включать другие модели Simulink в качестве модульных компонентов.
Дополнительные сведения см. в разделе Проектирование модели для эффективного ускорения.
Совет
Для работы с J1939 сообщениями используйте блоки в библиотеке блоков J1939 Communication вместо этого блока.
input - ввод сообщения CANПо умолчанию блок CAN Pack имеет один входной порт. Количество входов блока является динамическим и зависит от количества сигналов, заданных для блока. Например, если блок имеет четыре сигнала, он имеет четыре входа.
Блок поддерживает следующие типы данных входного сигнала: одиночный, двойной, int8, int16, int32, int64, uint8, uint16, uint32, uint64 и boolean. Блок не поддерживает типы данных с фиксированной точкой.
Создание кода для развертывания моделей на целевых объектах. Если информация о сигнале состоит из подписанных или неподписанных целых чисел длиной более 32 бит, генерация кода не поддерживается.
output - вывод сообщения CANЭтот блок имеет один выходной порт CAN Msg. Блок CAN Pack принимает заданные входные параметры и упаковывает сигналы в сообщение.
Data input as - Выберите сигнал данныхraw data (по умолчанию) | manually specified signals | CANdb specified signalsraw data: Ввод данных в виде векторного массива uint8. При выборе этой опции указываются только поля сообщений. все остальные поля параметров сигнала недоступны. Эта опция открывает только один входной порт в блоке.
Формула преобразования:
raw_value = (physical_value - Offset) / Factor
physical_value - исходное значение сигнала и raw_value - значение упакованного сигнала.manually specified signals: Позволяет указать определения сигналов данных. При выборе этой опции используйте таблицу Сигналы (Signals) для создания сигналов. Количество входов блоков зависит от указанного количества сигналов.
CANdb specified signalsПозволяет указать файл базы данных CAN, содержащий определения сообщений и сигналов. Если выбран этот вариант, выберите файл CANdb. Количество входов блоков зависит от количества сигналов, указанных в файле CANdb для выбранного сообщения.
Параметр блока:
DataFormat
|
CANdb file - файл базы данных CANЭта опция доступна, если указать, что данные вводятся через файл CANdb в списке Данные вводятся как. Нажмите кнопку Обзор, чтобы найти файл CANdb в системе. Список сообщений, указанный в файле CANdb, заполняет раздел сообщения диалогового окна. Файл CANdb также заполняет таблицу Сигналы для выбранного сообщения.
Имена файлов, содержащие не алфавитно-цифровые символы, такие как знаки равенства, амперсанды и т. д., не являются допустимыми именами файлов базы данных CAN. В имени базы данных можно использовать точки. Перед использованием файлов базы данных CAN переименуйте их с помощью буквенно-цифровых символов.
Параметр блока:
CANdbFile
|
Message list - список сообщений CANЭта опция доступна, если указать, что данные вводятся через файл CANdb в поле Данные вводятся как, и выбрать файл CANdb в поле Файл CANdb. Выберите сообщение для отображения подробных данных сигнала в таблице Сигналы (Signals).
Параметр блока:
MsgList
|
Name - имя сообщения CANCAN Msg (по умолчанию) | символьный векторУкажите имя сообщения CAN. Значение по умолчанию: CAN Msg. Эта опция доступна, если вы хотите ввести необработанные данные или вручную указать сигналы. Эта опция недоступна, если вы решили использовать сигналы из файла CANdb.
Параметр блока:
MsgName
|
Identifier type - тип идентификатора CANStandard (11-bit identifier) (по умолчанию) | Extended (29-bit identifier)Укажите, является ли идентификатор сообщения CAN Standard или Extended тип. Значение по умолчанию: Standard. Стандартный идентификатор является 11-битным идентификатором, а расширенный идентификатор является 29-битным идентификатором. Эта опция доступна, если вы хотите ввести необработанные данные или вручную указать сигналы. Для CANdb specified signalsтип идентификатора наследует тип из базы данных.
Параметр блока:
MsgIDType
|
CAN Identifier - идентификатор сообщения CAN0 (по умолчанию) | 0 .. 536870911Укажите идентификатор сообщения CAN. Это число должно быть положительным целым числом от 0 до 2047 для стандартного идентификатора и от 0 до 536870911 для расширенного идентификатора. Можно также указать шестнадцатеричные значения с помощью hex2dec функция. Эта опция доступна, если вы хотите ввести необработанные данные или вручную указать сигналы.
Параметр блока:
MsgIdentifier
|
Length (bytes) - длина сообщения CAN8 (по умолчанию) | 0 .. 8Укажите длину сообщения CAN от 0 до 8 байт. Если используется CANdb specified signals для ввода данных в файле CANdb определяется длина сообщения. Если нет, это поле по умолчанию имеет значение 8. Эта опция доступна, если вы хотите ввести необработанные данные или вручную указать сигналы.
Параметр блока:
MsgLength
|
Remote frame - сообщение CAN как удаленный кадрoff (по умолчанию) | onУкажите сообщение CAN в качестве удаленного кадра.
Параметр блока:
Remote
|
Output as bus - сообщение CAN как шинаoff (по умолчанию) | onВыберите этот параметр для блока вывода сообщений CAN в виде сигнала шины Simulink. Дополнительные сведения об объектах шины Simulink см. в разделе Составные сигналы.
Параметр блока:
BusOutput
|
Add signal - Добавить сигнал CANДобавьте сигнал в таблицу сигналов.
Параметр блока:
AddSignal
|
Delete signal - Снять сигнал CANУдалите сигнал из таблицы сигналов.
Параметр блока:
DeleteSignal
|
Signals - Таблица сигналовЭта таблица появляется, если вы решили задать сигналы вручную или определить сигналы с помощью файла CANdb.
Если вы используете файл CANdb, данные в файле заполняют эту таблицу, и вы не можете редактировать поля. Для редактирования информации о сигналах переключитесь на указанные вручную сигналы.
Если выбрано задание сигналов вручную, создайте сигналы в этой таблице. Каждый создаваемый сигнал имеет следующие значения:
Укажите описательное имя для сигнала. Это имя отображается в блоке Simulink модели. Значение по умолчанию: Signal [row number].
Укажите начальный бит данных. Начальный бит - это младший бит, отсчитываемый от начала данных сообщения. Начальный бит должен быть целым числом от 0 до 63.
Укажите количество битов, занимаемых сигналом в сообщении. Длина должна быть целым числом от 1 до 64.
Выберите один из следующих вариантов:
LE: Где порядок байтов в формате little-endian (Intel ®). В этом формате вы считываете биты от младшего бита до старшего бита. Например, при упаковке одного байта данных в формате little-endian с начальным битом 20 таблица битов данных напоминает этот рисунок.
Порядок байтов Little-Endian, отсчитанных от бита с наименьшим значением до самого высокого адреса
BE: Где порядок байтов в формате big-endian (Motorola ®). В этом формате вы считываете биты от младшего бита до старшего бита. Например, при упаковке одного байта данных в формате big-endian с начальным битом 20 таблица битов данных напоминает этот рисунок.
Big-Endian Byte Order подсчитан от младшего бита до наименьшего адреса
Укажите, как сигнал интерпретирует данные в выделенных битах. Выберите один из следующих вариантов:
signed (по умолчанию)
unsigned
single
double
Укажите, как блок упаковывает сигналы в сообщение CAN на каждом шаге времени:
Standard: Сигнал упаковывается на каждом временном шаге.
Multiplexor: Multiplexor сигнал или сигнал режима упакован. Можно указать только один Multiplexor сигнал на сообщение.
Multiplexed: Сигнал упаковывается, если значение Multiplexor сигнал (сигнал режима) во время выполнения соответствует сконфигурированному мультиплексному значению этого сигнала.
Например, сообщение имеет эти сигналы со следующими типами и значениями.
| Имя сигнала | Тип мультиплексора | Мультиплексное значение |
|---|---|---|
| Сигнал-А | Стандарт | Неприменимо |
| Сигнал-B | Мультиплексированный | 1 |
| Сигнал-С | Мультиплексированный | 0 |
| Сигнал-D | Мультиплексор | Неприменимо |
В этом примере:
Блок упаковывает сигналы Signal-A (стандартный сигнал) и Signal-D (мультиплексный сигнал) на каждом шаге времени.
Если значение Signal-D равно 1 на конкретном временном шаге, то блок упаковывает Signal-B вместе с Signal-A и Signal-D на этом временном шаге.
Если значение Signal-D равно 0 на конкретном временном шаге, то блок упаковывает Signal-C вместе с Signal-A и Signal-D на этом временном шаге.
Если значение Signal-D не равно 1 или 0, блок на этом временном шаге не выполняет пакетную обработку ни одного из мультиплексированных сигналов.
Эта опция доступна только в том случае, если выбран тип мультиплексора Multiplexed. Указанное значение должно соответствовать Multiplexor значение сигнала во время выполнения для блока, чтобы упаковать Multiplexed сигнал. Значение Multiplex должно быть положительным целым или нулевым.
Укажите значение коэффициента, применяемое для преобразования физического значения (значения сигнала) в исходное значение, упакованное в сообщение. Дополнительные сведения см. в разделе Ввод данных как формула преобразования параметров.
Укажите значение смещения, применяемое для преобразования физического значения (значения сигнала) в исходное значение, упакованное в сообщение. Дополнительные сведения см. в разделе Ввод данных как формула преобразования параметров.
Определите диапазон значений сигнала. Настройки по умолчанию: -Inf (отрицательная бесконечность) и Infсоответственно. Для сигналов, указанных в CANdb, эти настройки считываются из базы данных CAN. Для указанных вручную сигналов можно указать минимальное и максимальное физическое значение сигнала. По умолчанию эти настройки не отсекают значения сигналов, превышающие настройки.
Параметр блока:
SignalInfo
|
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.