exponenta event banner

переигровка

Повторная передача сообщений с шины CAN

Описание

пример

replay(canch,message) повторно передает сообщение или сообщения message на канале canch, основываясь на относительных различиях их временных меток. Функция воспроизведения также воспроизводит сообщения от MATLAB ® к Simulink ®.

Чтобы понять элементы сообщения, обратитесь к разделу canMessage.

Примеры

свернуть все

Используйте соединение с закольцовыванием между двумя каналами, чтобы:

  • Первый канал передает сообщения с интервалом в 2 секунды.

  • Второй канал принимает их.

  • replay функция повторно передает сообщения с исходной задержкой.

Разности временных меток между сообщениями в двух массивах приема, msgRx1 и msgRx2, равны.

ch1 = canChannel('Vector','CANcaseXL 1',1);
ch2 = canChannel('Vector','CANcaseXL 1',2);
start(ch1)
start(ch2)
msgTx1 = canMessage(500,false,8);
msgTx2 = canMessage(750,false,8);

% The first channel transmits messages 2 seconds apart.
transmit(ch1,msgTx1)
pause(2)
transmit(ch1,msgTx2)
%The second channel receives them
msgRx1 = receive(ch2,Inf);

% The replay function retransmits the messages with the original delay.
replay(ch2,msgRx1)
pause(2)
msgRx2 = receive(ch1,Inf);

Входные аргументы

свернуть все

Канал устройства CAN, указанный как объект канала CAN, по которому выполняется повторная передача.

Пример: canChannel('NI','CAN1')

Сообщения для воспроизведения, указанные как массив объектов сообщений.

См. также

Функции

Представлен в R2009a