NI-CANチャンネルAPIとフレームAPIの違いについて
使用ソフトウェア:
使用ソフトウェア・バージョン: 2.6.1
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A
ハードウェア: Industrial Communications>>CAN
問題: NI-CANのチャンネルAPIとフレームAPIの違いについて教えて下さい。。
解決策: チャンネルAPIかフレームAPIを使用するかは作成中のアプリケーションと Measurement&Automation Explorer(MAX) でデータベースファイルをインポートできるかに依存します。
チャンネルAPIの方が多くの場合好まれます。
その理由は簡単に使用することのできる単一の物理ユニットを使用してCANネットワークにアクセスできるからです。チャンネルAPIを使用する時、NI-CANソフトウェアはCANメッセージの生データをチャンネル構成の各チャンネルの物理ユニットから(へ)変換します。
ところが、フレームAPIはCANネットワークの低レベルにアクセスするので、チャンネルAPIよりも使用が推奨される場合があります。
以下はフレームAPIを使用したほうがいい場合の例です。
- NI-CAN バージョン1.6もしくはそれ以前のバージョンを使用している場合
- コマンド/応答を実行する必要がある場合
- デバイスにコマンドを送り、その後デバイスが応答を送信する場合
- デバイスでリモートフレームを使用する必要がある場合
チャンネルAPIはこの機能をサポートしてません
- DAQカードからのデータ集録とCAN通信を同期している場合
フレームAPIはチャンネルAPIに含まれるものより低レベルのRTSIの機能を提供しているので、高度な同期をするのに適しています。
- USB-847xデバイスを使用しているとき
USB-CAN製品はチャンネルAPIやCAN Objectをサポートしていません。フレームAPIを使用することはできますが、USB-CANに対しては関数の使用が制限されています。これらの関数のリストを見るためには下記の関連リンクをご覧ください。
フレームAPIを使用してメッセージを受信するときには、符号なし8ビットの文字の配列としてデータを受信します。各メッセージごとに8バイトの情報があるので、メッセージには複数のチャンネル情報が含まれています。
これによって、ひとつのCANフレームで複数の情報を持つことが可能になります。
チャンネルAPIは自動的にメッセージの各チャンネルを分解して、必要に応じてチャンネルをスケール出来ます。
この画像はフレームAPIが8バイトの情報を含んでいることを示します。
これはどのバイトが組みになっているか、つまり、バイトが入るべき順番、もしくはスケールの情報を含みません。MAX上でCANチャンネルを構成するとき、このすべての情報は自動的なフォーマットからユーザー指定のフォーマットに自動的にデータを入力することができます。
メモ: チャンネルAPIとフレームAPIの両方を同じCANインターフェイスで同時に使用することはできません。
もしあるアプリケーションがCAN0でフレームAPIを使用して実行されているのであれば、他のアプリケーションでCAN0上でチャンネルAPIを使用することはできません。
もし、2ポートのCANカードを使用しているのであれば、異なるインターフェイス上で別のアプリケーションを使用することができます。もしくは、そのアプリケーションを異なるタイミングで動作させることができます。
関連リンク:
添付:
報告日時: 01/24/2005
最終更新日: 04/28/2011
ドキュメントID: 3HNHF5HS
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.