MathWorks Virtual Channels

Описание

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

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

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

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

  • Несмотря на то, что можно соединить несколько каналов того же виртуального устройства в том же сеансе работы с 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);

Смотрите также

Функции

Похожие темы