CANバス上のネットワーク層の選択


10

産業オートメーションアプリケーションでCANバスを使用することを計画していますが、ネットワークレイヤーの実装方法を決定するのに苦労しています。メッセージIDの割り当て方法とデータパケットのフォーマット方法のガイドラインを提供する、CANを介して使用する上位層プロトコルの推奨事項はありますか?独自のネットワークレイヤーを開発するか、CANopenなどの既存の標準を実装する必要がありますか?

回答:


7

あなたは間違いなく標準的なネットワーク層を選択したいと思うでしょう。私は人々が自分自身を巻き込んだいくつかの事例を見てきました、そしてしばしばプロトコルは非効率的で、結局それは時間の浪費です。実績のあるネットワークレイヤーは、組み込みデバイスとのネットワーキングで直面する可能性のある問題のほとんどを解決するための基本的な機能を提供し、最終的に貴重な時間とお金を節約します。

私はCANopenに精通しているので、ここで少し説明します。それがあなたが望む方法であるかどうかを判断するのに役立つかもしれません。それがあなたがする必要があることに合わないなら、私は何か他のものを見ます。

CANopenは非常にデータ中心です。すべてのCANopenスレーブノード(センサーやモータードライバーなど、マスターノードから制御するもの)は、ジョブを完了するために読み取り/書き込みが必要なすべての構成、制御、およびデータ取得データを含む辞書を提供します。次に、SDO(サービスデータオブジェクト)メカニズムを介してこれらのオブジェクトを個別に読み取り/書き込みするか、PDO(プロデューサーデータオブジェクト)メカニズムを介して定期的なCANメッセージ送信でこれらのオブジェクトを定期的に読み取り/書き込みできます。起動、シャットダウン、リセット、およびハートビート/ノードの誤動作の検出は、NMTサービスと、ノードID割り当てサービス(使用する場合)から提供されます。組み込みCANOpenライブラリを使用してデバイスを実装するには、基本的にオブジェクトディクショナリをセットアップし、定期的にデータ更新を送受信するようにPDOをセットアップします。これらのデータエントリに基づいて動作するユーザーコードを記述します。CANopenが提供するものは他にもありますが、それはその大部分です。 詳細については、この本を読んでください。


本はMicroCANopenと呼ばれるCANopenの実装について話します。CANopenのどの実装を使用していますか?
mjh2007

1
@ mjh2007-別のプロトコルと組み合わせて使用​​する必要があったため、独自に開発しました。
J. Polfer

"CANOpen"-> "CANopen"
Peter Mortensen

7

私はGM車のCANバスにアクセスするためのコードを書きます。GM車は、ほとんどが独自仕様のネットワーク層を使用しています。OpenCANを調べましたか?CANOpenやOpenCANなどのオープンスタンダードを選択します。それは、オートメーション環境で必要な制御レベルと柔軟性に本当に依存します。


7
OpenCANの他にCANOpenはありますか?ああ!恐ろしい命名。
Jason S

1
@ジェイソン、マイクロソフトのせいだ。
Kortuk

5

素晴らしい答えがありました。使用しているマイクロはわかりませんが、マイクロチップからの情報へのリンクがあります。

J1939ライブラリ

CAN搭載PIC18用DeviceNet™グループ2スレーブファームウェア

開けられる

それぞれに、コードと、それらを実装するために何が必要かを知らせる基本的なデータシートがあります。


1
実は私はマイクロチップを使っているのでとても助かります。ありがとう!
mjh2007

1
それらはすべてpic18用です。CANopenを使用すると、他の設定を変更するマスターを持っているように見えます。私のcanbusの使用に含まれるほとんどの場合、これは完全に適合します。
Kortuk

Microopenライブラリを使用してCANopenを実装していますか?
mjh2007

1
それを実装するプロセスでは、多くの異なる人々が私にシステム変更を行うようにコミットすることを要求するので、それは遅いプロセスです。それが役立つ場合は、実装時に更新します。
Kortuk

1
@ mjh2007、私はプロセッサのために働くのをやめ、以前のハードウェアを使用せずにもっと快適なものを購入する前に多くの人がそうであったように、引き継ぐ学生は決定しました。それでも、その教授プロジェクトには進展はありませんが、それは、教授が何が行われているのかわからず、年に1回、すべてを変更させるだけの場合に起こります。
Kortuk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.