メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

replay

CAN バスからのメッセージの再送信

説明

replay(canch,msgs) は、タイムスタンプの相対的な差に基づいて、指定されたメッセージをチャネル canch で再送信します。replay 関数では、MATLAB® から Simulink® までのメッセージも再生されます。

メッセージの要素を理解するには、canMessage を参照してください。

すべて折りたたむ

次の目的で、2 つのチャネル間にループバック接続を使用します。

  • 最初のチャネルは 2 秒間隔でメッセージを送信します。

  • 2 番目のチャネルがそれを受信します。

  • replay 関数は、元の遅延でメッセージを再送信します。

2 つの受信配列 msgRx1msgRx2 内のメッセージ間のタイムスタンプの差は等しくなります。

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')

再生するメッセージ。CAN メッセージの timetable、メッセージ オブジェクト、またはメッセージ オブジェクトの配列として指定されます。

バージョン履歴

R2009a で導入