Vehicle Network Toolbox™ позволяет использовать базу данных Vector CAN. База данных .dbc содержит определения сообщений и сигналов CAN. С помощью информации, определенной в файле базы данных, можно искать информацию о сообщениях и сигналах, а также создавать сообщения. Можно также представлять информацию о сообщениях и сигналах в технических единицах, чтобы не было необходимости манипулировать необработанными байтами данных.
Чтобы использовать файл базы данных CAN, загрузите базу данных в сеанс MATLAB ®. В командной строке MATLAB введите:
db = canDatabase('filename.dbc')Здесь db является переменной, выбранной для дескриптора базы данных, и filename.dbc - фактическое имя файла базы данных CAN. Если база данных CAN отсутствует в текущей рабочей папке, введите путь к базе данных:
db = canDatabase('path\filename.dbc')Совет
Имена файлов базы данных CAN, содержащие не алфавитно-цифровые символы, такие как знаки равенства, амперсанды и т.д., несовместимы с инструментарием сети транспортных средств. В имени базы данных можно использовать точки. Переименуйте любые файлы базы данных CAN с использованием символов, отличных от букв и цифр.
Эта команда возвращает объект базы данных, который можно использовать для создания и интерпретации сообщений CAN с использованием информации, хранящейся в базе данных. См. раздел canDatabase для получения дополнительной информации.
В этом примере показано, как создать сообщение с использованием базы данных, созданной специально для этого примера. Доступ к этой базе данных можно получить в папке Toolbox > VNT > VNTDemos в папке установки MATLAB. Эта база данных содержит сообщение, EngineMsg. Чтобы попробовать этот пример, создайте сообщения и сигналы, используя определения в собственной базе данных.
Создайте объект базы данных CAN.
cd ([matlabroot '\examples\vnt']) d = canDatabase('demoVNT_CANdbFiles.dbc');
Создайте сообщение CAN с использованием имени сообщения в базе данных.
message = canMessage(d,'EngineMsg');Можно получить доступ к двум сигналам, определенным для сообщения, созданного в базе данных примера. message. Можно также изменить значения для некоторых сигналов.
Для отображения сигналов в сообщении введите:
sig = message.Signals
sig =
struct with fields:
VehicleSpeed: 0
EngineRPM: 250Изменение значения EngineRPM сигнал:
message.Signals.EngineRPM = 300;
Переназначите сигналы и снова отобразите их, чтобы увидеть изменения.
sig = message.Signals
sig =
struct with fields:
VehicleSpeed: 0
EngineRPM: 300Добавление базы данных к каналу CAN canch, введите:
canch.Database = canDatabase('Mux.dbc')При внесении изменений в файл базы данных:
Перезагрузите файл базы данных в сеанс MATLAB с помощью canDatabase функция.
Повторно присоединить базу данных к сообщениям с помощью attachDatabase функция.