exponenta event banner

Виртуальные каналы MathWorks

Описание

Для упрощения прототипирования кода и моделирования модели без аппаратного обеспечения Vehicle Network Toolbox™ предоставляет виртуальному устройству MathWorks ® CAN два канала. Эти каналы идентифицируются с поставщиком"MathWorks" и устройство "Virtual 1"и доступны как в MATLAB ®, так и в Simulink ®.

Эти виртуальные каналы поддерживают CAN, CAN FD и J1939 связь в Windows ®, а также CAN и CAN FD в Linux ®. Многие примеры в документации показывают, как использовать эти виртуальные каналы, чтобы их можно было запустить в собственной системе.

Два виртуальных канала принадлежат общему устройству, поэтому можно отправить сообщение по каналу 1 и получить это сообщение по каналу 1 и каналу 2. Но поскольку виртуальное устройство является представлением на уровне приложения шины CAN/CAN FD без фактической шины, применяются следующие ограничения:

  • Виртуальный интерфейс не выполняет низкоуровневые операции протокола, такие как арбитраж, кадры ошибок, подтверждение и т.д.

  • Хотя можно подключить несколько каналов одного виртуального устройства в одной сессии MATLAB или в моделях Simulink, работающих в этой сессии MATLAB, нельзя использовать виртуальные каналы для обмена данными между различными сессиями MATLAB.

Примеры

Вы можете просмотреть устройство и каналы в MATLAB с помощью canChannelList функция.

canChannelList
ans =

  2×6 table

      Vendor         Device       Channel    DeviceModel    ProtocolMode     SerialNumber
    ___________    ___________    _______    ___________    _____________    ____________

    "MathWorks"    "Virtual 1"       1        "Virtual"     "CAN, CAN FD"        "0"     
    "MathWorks"    "Virtual 1"       2        "Virtual"     "CAN, CAN FD"        "0"

Создайте виртуальный канал CAN.

canch = canChannel("MathWorks","Virtual 1",1);

Создайте виртуальный канал CAN FD.

canfdch = canFDChannel("MathWorks","Virtual 1",2);

Создание виртуального канала J1939.

db = canDatabase([(matlabroot) '/examples/vnt/data/J1939.dbc']);
jch = j1939Channel(db,"MathWorks","Virtual 1",1);

См. также

Функции

Связанные темы