20

モーターコントローラーが通信にCANopenを使用するロボットプロジェクトがあります。マスター マイクロコントローラーを使用して、これらのモーター コントローラーと通信する必要があります。問題は、このマイクロコントローラーで CANopen レイヤーを開発する必要があることですが、低レベル (CAN) で送受信する方法しか知りません。

CANopen (PDO、SDO、Heartbeat、オブジェクト辞書など) についてはよくわかりません。CiAの仕様書を読んでみましたが、とても複雑でした。誰かが私を正しい方向に向けたり、簡単なCANopenレイヤーをプログラムするための良いチュートリアルを教えてくれたりしてくれれば幸いです.

4

7 に答える 7

4

組み込みARMデバイスとWindowsPCデバイスの両方にCANopenレイヤーを最初から実装しました。以前の答えがあなたに考えさせるかもしれないのとは異なり、それは不可能ではありません。CANopenの基本的な機能だけが必要で、プロトコルの概念をすばやく習得できる場合は、かなり迅速に稼働させることができます。

あなたはCiA仕様を読まなければならないでしょう、それを避ける方法はありません、しかし最初はそれは幾分圧倒的であることがわかるかもしれません。Pfeiffer、Ayre、Keydelによる「CANとCANopenを使用したEmbeddedNetworking」を読むことから始めることをお勧めします。基本的な概念をうまく説明しているので、仕様をよりよく理解するのに役立ちます。

于 2012-06-21T22:03:57.273 に答える
3

CanFestival スタックを試してみてください。これは無料であり、Linux などの OS からティック タイマーだけを備えたベア マシンに簡単に移植できます。

4 ~ 6 か月は少し長すぎるように思えます。必要なのはマスターまたはスレーブだけかもしれません。C++ でのマスターのみの実装は 3 ~ 4 週間で完了しました。

于 2014-10-04T03:09:41.867 に答える
1

残念ながら、単純なCANopen レイヤーはありません。CANopen をサポートするには、すべてを実装する必要があります。

サードパーティ ベンダーから CANopen ライブラリを購入することをお勧めします。通常、それらは安くはありませんが、これを自分で実装するために必要な時間を考えると、その時間の給与よりも安くなります.

私たちはPORT GmbH のANSI-C CANopen ライブラリライブラリを使用してきました。このライブラリは、試した他のライブラリと比較して、手頃な価格でバグがほとんどありません。

于 2009-08-05T11:39:51.157 に答える
1

ここから、Manager アドオンで MicroCANopen スタックを使用しています: http://www.canopenstore.com/pip/microcanopen.html

他のスタックに比べて比較的安価ですが、ネットワーク内のすべてのノードで使用しているため、他の CANOpen 準拠デバイスでどのように動作するかについての証言を提供することはできません.

于 2009-12-08T19:52:41.487 に答える
0

これが商業的なものである場合、CANopen の実装は考えません。これには、(サブセットであっても) 4 ~ 6 か月かかります (実際に機能させたい場合)。あなたの時給と市場投入までの所要時間はわかりません。自分で計算する必要があります。

于 2009-08-05T11:43:50.760 に答える
0

私が使用したもう 1 つの商用ソリューションは、IXXAT の CANopen ソフトウェアです。多くの異なるプラットフォーム用のポートを提供します。

すでに述べたように、無料でも安価でもありません。しかし、数か月の開発期間と比較して、数千米ドルはいくらですか?

于 2009-08-24T13:30:43.373 に答える