メインコンテンツ

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

can.Channel のプロパティ

can.Channel オブジェクトのプロパティ

次のプロパティを使用して、CAN チャネル設定を確認または構成します。canChannel を使用して CAN チャネル オブジェクトを作成します。タイミングパラメータを設定するには、configBusSpeed を使用します。

メモ

すべてのビットタイミングプロパティがすべてのベンダーおよびプロトコルモードで使用できるわけではありません。ビットタイミングプロパティの初期値を参照してください。

デバイス情報

すべて展開する

DeviceVendor プロパティは、デバイス ベンダーの名前を示します。

canChannel または j1939Channel 関数を使用してチャネルを構成すると、値が自動的に定義されます。

データ型: char

この プロパティ は読み取り専用です。

National Instruments™ デバイスの場合、Device プロパティにはハードウェア上のデバイス番号が表示されます。

その他のすべてのベンダーの場合、Device プロパティには、CAN または J1939 チャネルが接続されているデバイス タイプに関する情報が表示されます。

canChannel または j1939Channel 関数を使用してチャネルを構成すると、値が自動的に定義されます。

データ型: char

この プロパティ は読み取り専用です。

DeviceChannelIndex プロパティは、指定された CAN または J1939 チャネルが構成されているチャネル インデックスを示します。

canChannel または j1939Channel 関数を使用してチャネルを構成すると、値が自動的に定義されます。

データ型: double

この プロパティ は読み取り専用です。

DeviceSerialNumber プロパティには、CAN または J1939 チャネルに接続されたデバイスのシリアル番号が表示されます。

canChannel または j1939Channel 関数を使用してチャネルを構成すると、値が自動的に定義されます。

データ型: double | char

この プロパティ は読み取り専用です。

ProtocolMode プロパティは、CAN チャネルが構成されている通信プロトコル (CAN または CAN FD のいずれか) を示します。

値は、canChannel 関数を使用してチャネルを構成するときに定義されます。

データ型: char

ステータス情報

すべて展開する

この プロパティ は読み取り専用です。

Running プロパティは、次の値に従って、CAN または J1939 チャネルの状態を示します。

  • false (デフォルト) — チャネルはオフラインです。

  • true — チャネルはオンラインです。

start 関数を使用してチャネルをオンラインに設定します。

データ型: logical

この プロパティ は読み取り専用です。

MessagesAvailable プロパティは、CAN チャネルで受信できるメッセージの合計数を表示します。メッセージが利用できない場合、値は 0 になります。

データ型: double

この プロパティ は読み取り専用です。

MessagesReceived プロパティは、チャネルが最後に開始されてから受信したメッセージの合計数を示します。メッセージが受信されていない場合、値は 0 になり、チャネルが受信するメッセージの数に基づいて増加します。

データ型: double

この プロパティ は読み取り専用です。

MessagesTransmitted プロパティは、チャネルが最後に開始されてから送信されたメッセージの合計数を示します。メッセージが送信されていない場合のデフォルト値は 0 であり、チャネルが送信するメッセージの数に基づいて増加します。

データ型: double

必要な数のメッセージが利用可能になったときに、文字ベクトル、文字列、または関数ハンドルとして指定して実行するコールバック関数として MessageReceivedFcn を構成します。

MessageReceivedFcnCount プロパティは、構成された MessageReceivedFcn が実行される前に必要なメッセージ数を定義します。

たとえば、実行するコールバック関数を指定するには、次のようにします。

canch.MessageReceivedFcn = @Myfunction;

データ型: char | string | function_handle

MessageReceivedFcn コールバック関数がトリガーされる前に使用可能である必要があるメッセージの数に MessageReceivedFcnCount を設定します。

既定値は 1 です。MessageReceivedFcnCount には正の整数を指定できます。たとえば、コールバックをトリガーするために必要なメッセージ数を指定するには、次のようにします。

canch.MessageReceivedFcnCount = 55;

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

この プロパティ は読み取り専用です。

InitializationAccess プロパティは、次の値に従って、構成された CAN または J1939 チャネル オブジェクトがデバイス チャネルを完全に制御できるかどうかを示します。

  • true — ハードウェア チャネルを完全に制御し、プロパティ値を変更できます。

  • false — 完全な制御権限がないため、プロパティ値を変更できません。

オブジェクトがハードウェア チャネルを完全に制御できる場合にのみ、ハードウェア チャネルの一部のプロパティ値を変更できます。

メモ

デバイス上で作成された最初のチャネルにのみ初期化アクセスが許可されます。

データ型: logical

この プロパティ は読み取り専用です。

InitialTimestamp プロパティは、チャネルが start 関数によってオンラインに設定されたとき、またはその開始トリガーが受信されたときを示します。National Instruments デバイスの場合、時間はデバイス ドライバーから取得されます。他のベンダーのデバイスの場合、時間は MATLAB が実行されているオペレーティング システムから取得されます。

データ型: datetime

この プロパティ は読み取り専用です。

メッセージ受け入れフィルターの設定を示し、文字ベクトルとして返されます。このプロパティは、関数 filterAllowOnlyfilterAllowAll、および filterBlockAll によって実装された設定を示します。

例: 'Standard ID Filter: Allow All | Extended ID Filter: Allow All'

データ型: char

チャネル情報

すべて展開する

この プロパティ は読み取り専用です。

BusStatus プロパティは、CAN バスまたは J1939 バスの状態に関する情報を表示します。

  • 'N/A' — ベンダーによってサポートされていないプロパティ。

  • 'ErrorActive' — ノードはエラーを検出するとアクティブ エラー フラグを送信します。メモ: このステータスは、必ずしもエラーが実際に存在することを示すわけではなく、エラーがどのように処理されるかを示します。

  • 'ErrorPassive' — ノードはエラーを検出するとパッシブ エラー フラグを送信します。

  • 'BusOff' — ノードはバス上で何も送信しません。

データ型: char

次の値に従って、チャネルがサイレントで動作するかどうかを指定します。

  • false (デフォルト) — チャネルは通常モードまたはアクティブ モードです。このモードでは、チャネルは通常どおりにメッセージを送受信し、メッセージの確認やエラー フレームの作成など、ネットワーク上で他のタスクを実行します。

  • true — チャネルはサイレントモードです。ネットワークの状態や動作に影響を与えることなく、ネットワーク上のすべてのメッセージ アクティビティを観察し、解析を実行できます。このモードでは、メッセージの受信のみ可能で、送信はできません。

Kvaser チャネルをクリアして再作成すると、その SilentMode 設定は保持されます。SilentMode をサポートしていないデバイスでこれを指定すると、エラーが発生します。

データ型: logical

この プロパティ は読み取り専用です。

TransceiverName はデバイストランシーバーの名前を示します。デバイスのトランシーバーは、バスとの間で送受信されるデジタル ビット ストリームを、バス上に存在する実際の電気信号に変換します。

データ型: char

CAN または J1939 トランシーバーでモードを制御できる場合は、TransceiverState プロパティを使用してモードを設定できます。

各モードの数値プロパティ値は、トランシーバーの製造元によって定義されます。適切なトランシーバー モードについては、CAN トランシーバーのドキュメントを参照してください。指定された数値を表す可能なモードは次のとおりです。

  • high speed

  • high voltage

  • sleep

  • wake up

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

この プロパティ は読み取り専用です。

ReceiveErrorCount プロパティは、チャネルが最後に開始されてからメッセージ受信中に発生したエラーの合計数を示します。デフォルト値は 0 で、エラーの数に基づいて増加します。

データ型: double

この プロパティ は読み取り専用です。

TransmitErrorCount プロパティは、チャネルが最後に開始されてからメッセージ送信中に発生したエラーの合計数を示します。デフォルト値は 0 で、エラーの数に基づいて増加します。

データ型: double

この プロパティ は読み取り専用です。

BusSpeed プロパティは、メッセージが送信される速度をビット/秒単位で示します。デフォルト値はベンダー ドライバーによって割り当てられます。

configBusSpeed 関数を使用して、チャネル名とビット レート値を入力パラメータとして指定することで、BusSpeed をサポートされているビット レートに設定できます。たとえば、CANチャネルオブジェクトcanchのバス速度を250,000ビット/秒に変更し、結果を表示するには、次のように入力します。

configBusSpeed(canch,250000);
bs = canch.BusSpeed

データ型: double

この プロパティ は読み取り専用です。

SJW は、ビット時間セグメントの同期ジャンプ幅を表示します。オンチップ バス クロックを調整するために、コントローラはビットの長さを時間セグメントの整数倍に短縮または延長することができます。これらのビット時間調整の最大値は、同期ジャンプ幅または SJW と呼ばれます。

メモ

このプロパティは、National Instruments CAN デバイスでは使用できません。チャネルは値として NaN を表示します。

データ型: double

この プロパティ は読み取り専用です。

TSEG1 プロパティと TSEG2 プロパティは、ネットワークの遅延時間を再同期または補正するために、チャネルがサンプル時間をそれぞれ長くしたり短くしたりできるビット時間セグメントの量を示します。CAN チャネルのバス速度を構成すると、値が継承されます。

メモ

このプロパティは、National Instruments CAN デバイスでは使用できません。チャネルは値として NaN を表示します。

データ型: double

この プロパティ は読み取り専用です。

NumOfSamples プロパティは、ネットワーク上で読み取られる 1 ビットに対して実行されるビット サンプルの数を示すビット タイミング パラメータです。値は、チャネルのドライバー設定に基づく正の整数です。

メモ

このプロパティは、National Instruments CAN デバイスでは使用できません。チャネルの値として NaN が表示されます。

データ型: double

選択したデバイスのアービトレーション バス速度 (ビット/秒)。デフォルトの速度は選択したデバイスによって割り当てられます。

選択したデバイスのデータ バス速度 (ビット/秒)。デフォルトの速度は選択したデバイスによって割り当てられます。

(PEAK-System のみ)アービトレーション ビット レートのプリスケーラを指定します。

再同期の場合のアービトレーション同期ジャンプ幅、ビット時間調整の最大限度を指定します。値は、ビット時間量子セグメントの数を示す正の整数である必要があります。選択したバス速度設定によってデフォルト値が決まります。

サンプリング ポイントの前のビット時間量子の数を指定します。値は正の整数でなければなりません。通常、この値の調整は、ArbitrationTSEG2 の対応する逆調整とともに行われ、それらの合計が一定のままになります。選択したバス速度設定によってデフォルト値が決まります。

サンプリング ポイント後のビット時間量子の数を指定します。値は正の整数でなければなりません。通常、この値の調整は、ArbitrationTSEG1 の対応する逆調整とともに行われ、それらの合計が一定のままになります。選択したバス速度設定によってデフォルト値が決まります。

(PEAK-System のみ)データ ビット レートのプリスケーラを指定します。

データ同期ジャンプ幅、再同期の場合のビット時間調整の最大限度を指定します。値は、ビット時間量子セグメントの数を示す正の整数である必要があります。選択したバス速度設定によってデフォルト値が決まります。

サンプリング ポイントの前のビット時間量子の数を指定します。値は正の整数でなければなりません。通常、この値の調整は、DataTSEG2 の対応する逆調整とともに行われ、それらの合計が一定のままになります。選択したバス速度設定によってデフォルト値が決まります。

サンプリング ポイント後のビット時間量子の数を指定します。値は正の整数でなければなりません。通常、この値の調整は、DataTSEG1 の対応する逆調整とともに行われ、それらの合計が一定のままになります。選択したバス速度設定によってデフォルト値が決まります。

この プロパティ は読み取り専用です。

BusLoad プロパティは、Kvaser デバイス上のメッセージ トラフィックの CAN ネットワークの負荷に関する情報を提供します。CAN ネットワーク上の現在のメッセージ トラフィックは、0.00% から 100.00% の範囲のパーセンテージとして表されます。

データ型: double

OnboardTermination プロパティは、NI-XNET デバイスが CAN バスのオンボード終端を使用するかどうかを指定します。特定のデバイスの動作と特性の詳細については、ベンダーのドキュメントを参照してください。

データ型: logical

StartTriggerTerminal プロパティは、接続されたソース ターミナルで NI-XNET チャネルを開始するための同期トリガー接続を指定します。

NI-XNET CAN モジュール (NI 9862 など) を、外部シャーシ ターミナルで提供される外部信号トリガー イベントで収集を開始するように構成するには、CAN チャネルの StartTriggerTerminal プロパティを適切なターミナル名に設定します。NI MAX ユーティリティのシャーシ名とトリガー端子名を組み合わせて、プロパティ値の文字ベクトルを作成します (例: '/cDAQ3/PFI0')。

メモ

このプロパティは 1 回だけ構成できます。割り当てられた後は、プロパティは読み取り専用となり、変更できなくなります。異なる値を設定する唯一の方法は、チャネル オブジェクトを clear し、チャネルを canChannel で再作成し、そのプロパティを構成することです。

ターミナル /cDAQ3/PFI0 で NI-XNET CAN モジュールの開始トリガーを構成します。

ch1 = canChannel('NI','CAN1')
ch1.StartTriggerTerminal = '/cDAQ3/PFI0'
start(ch1)  % Acquisition begins on hardware trigger

ハードウェア トリガー構成では、InitialTimestamp 値は CAN チャネル取得がトリガーされた絶対時間を表します。受信した CAN メッセージの Timestamp 値はトリガーの瞬間を基準とします。

ch1.InitialTimestamp
messages = receive(ch1,Inf);
messages(1).Timestamp

データ型: char | string

その他の情報

すべて展開する

Database プロパティには、接続された CAN データベースに関する情報が格納されます。チャネル メッセージがデータベースに添付されていない場合、プロパティ値は空の構造体 [] になります。CAN チャネルの Database プロパティは編集できますが、CAN メッセージの Database プロパティは編集できません。

CAN メッセージに添付されたデータベースに関する情報を表示するには、次のように入力します。

message.Database

CAN チャネルのデータベース情報を C:\Database.dbc に設定するには、次のように入力します。

channel.Database = canDatabase('C:\Database.dbc')

ヒント

等号やアンパサンドなどの英数字以外の文字を含む CAN データベース ファイル名は、Vehicle Network Toolbox™ と互換性がありません。データベース名にピリオドを使用できます。CAN データベース ファイルを使用する前に、英数字以外の文字を含む名前に変更してください。

データ型: struct

UserData プロパティを使用して、CAN メッセージまたは J1939 パラメータ グループ、チャネル、またはデータベース オブジェクトに保存するカスタム データを入力します。UserData を指定してオブジェクトを保存すると、カスタム データが自動的に保存されます。UserData を指定してオブジェクトをロードすると、カスタム データが自動的にロードされます。

ヒント

UserData を使用してオブジェクトを保存および読み込むときに予期しない結果を回避するには、カスタム データを単純なデータ型と構造で指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | function_handle | categorical | datetime | duration | calendarDuration | fi
複素数のサポート: あり

ヒント

ビットタイミングプロパティの初期値

次の表は、ベンダーとプロトコル モードに応じた、バス速度とビット タイミング プロパティの初期値または既定値を示しています。

プロトコルモードベンダー初期値
CAN

MathWorks

PEAK-System

NI-XNET

    BusSpeed: 500000

Vector

Kvaser

    BusSpeed: 500000
         SJW: 1
       TSEG1: 4
       TSEG2: 3
NumOfSamples: 1
CAN FD

MathWorks

NI-XNET

Kvaser

 ArbitrationBusSpeed: 500000
        DataBusSpeed: 2000000
Vector
 ArbitrationBusSpeed: 500000
      ArbitrationSJW: 2
    ArbitrationTSEG1: 6
    ArbitrationTSEG2: 3

        DataBusSpeed: 2000000
             DataSJW: 2
           DataTSEG1: 6
           DataTSEG2: 3
PEAK-System
ArbitrationPrescaler: 5
      ArbitrationSJW: 1
    ArbitrationTSEG1: 5
    ArbitrationTSEG2: 2

       DataPrescaler: 2
             DataSJW: 1
           DataTSEG1: 3
           DataTSEG2: 1

バージョン履歴

R2009a で導入