В этом примере показов способы передачи данных через шину CAN с использованием типа CAN_MESSAGE данных и блоков CAN Pack и CAN Unpack, доступных в Vehicle Network Toolbox™ библиотеки блоков. Тип CAN_MESSAGE данных может быть непосредственно обработан блоками Simulink Desktop Real-Time™.
Пример также показывает различие в способности передачи данных между протоколами CAN и CAN FD. Максимальный размер данных протокола CAN составляет 8 байт. Этот протокол способен отправить восемь значений двойной точности, значения должны быть масштабированы и преобразованы в тип данных uint8, потеряв некоторую точность. Максимальный размер данных протокола CAN FD составляет 64 байта. Этот протокол способен передавать восемь значений двойной точности в их родном формате без какого-либо преобразования и потери точности.
Модель отправляет данные в пределах одного компьютера, от одного виртуального канала CAN к другому. Два канала CAN могут быть как виртуальными каналами, так и физическими каналами на двухканальном устройстве CAN. Можно изменить модель, чтобы связаться между двумя компьютерами, разделив эту модель на части отправки и получения и запустив модели на двух компьютерах.
Желтые блоки используются для отправки данных. Синие блоки используются для приема данных.
Примечание.Эта модель работает только в Microsoft Windows.
Чтобы переключиться в режим normal mode, на вкладке Simulation, выберите Режим normal mode.
Чтобы начать выполнение в реальном времени, на вкладке Simulation, нажмите запуск.
Чтобы начать выполнение в реальном времени во режиме external mode, на вкладке Desktop Real-Time, нажмите Run in Real Time. Модель строит, соединяется с Simulink во режиме external mode и запускается.
Эти команды открывают модель и подавляют предупреждение о том, что плата не установлена.
w = warning('off', 'sldrt:blkgui:boardnotonlist'); open_system(fullfile(matlabroot,'toolbox','sldrt','sldrtexamples','sldrtex_canmessage')); warning(w);
close_system(find_system(gcs ,'BlockType', 'Scope'));
clear close all bdclose all