12

バックグラウンド

CANopenメッセージを送受信するには、ラップトップでJavaプログラムを作成する必要があります。

ネットワークの物理メディアとしてRJ45が選択されています。CANopenとJava通信プログラミングは初めてです。

私が未経験であるように見えるならば、私を許してください。実は、私はたくさん読んでいますが、どうやって始めたらいいのかまだわかりません。

質問

  1. PCをCANbusネットワークに接続する以外に、CAN-PCアダプターは他に何をしますか?
  2. CAN-PCアダプターなしでラップトップをCANbusネットワークに接続することは可能ですか?
  3. CAN-PCアダプターが必要な場合、どのようなアダプターを使用すればよいですか?PCMCIA、パラレル、シリアル、USBなど?
  4. CANopenメッセージをリッスン/書き込みするJavaプログラムの作成を開始するにはどうすればよいですか?
  5. どのライブラリを使用する必要がありますか?
  6. 独自のドライバーを作成する必要がありますか?
  7. 私のプログラムは心拍数の監視、エラー検出などを処理する必要がありますか?または、これらはCAN-PCアダプターによって処理されますか?
  8. CANbusノードから特定の情報を取得するにはどうすればよいですか?
  9. EDSファイルとオブジェクトディクショナリはどのように作成されますか?すべてのノードがそれらを必要としますか?
    1. CANハードウェアを購入せずにCANネットワークをシミュレートしてJavaプログラムをテストするにはどうすればよいですか?
4

1 に答える 1

12

それはたくさんの質問です。Java で CAN 関連のプログラミングを行ったことはありませんが、どのような質問に答えることができるか見てみましょう。

1) PC を CANbus ネットワークに接続する以外に、CAN-PC アダプターは何をしますか?

主に、アダプターに組み込まれている CAN コントローラーによって異なります。ただし、基本的には、バスの調停、エラー処理、再送信、メッセージのバッファリングなどの低レベルのものを処理するだけです。

2) CAN-PC アダプタなしでラップトップを CANbus ネットワークに接続することは可能ですか?

いいえ。

3) CAN-PC アダプターが必要な場合、どのようなアダプターを使用すればよいですか? PCMCIA、パラレル、シリアル、USB など?

ラップトップで?私ならUSBインターフェースを選びます。私は、Kvaser のインターフェースについて十分な経験を持っています。

4) CANopen メッセージをリッスン/ライトするための Java プログラムの作成を開始するにはどうすればよいですか?

アダプターの API によって異なります。API は C ベースになる可能性が高いので、少なくともいくつかの単純な C テスト プログラムから始めます。CAN インターフェイスのサプライヤには、おそらくいくつかの良い例があります。

5) どのライブラリを使用すればよいですか?

おそらく、少なくとも基本的なCAN部分については、CANインターフェースに付属しているものです。CANopen の部分については、いくつかの商用 CANopen スタックが利用可能であり、無料のものもあります。Javaで書かれたものはないと思います。簡単な通信のみを行う場合は、CANopen スタックの必要な部分を自分で実装することもできます。

6) 独自のドライバーを作成する必要がありますか?

一般的にいいえ。オペレーティング システムと CAN インターフェース モデルによって異なります。お使いのオペレーティング システム用のドライバーを備えた CAN インターフェイスを選択します。

7) 私のプログラムはハートビート監視/エラー検出などを処理する必要がありますか? それとも、これらは CAN-PC アダプターによって処理されますか?

CANopen スタックは、CANopen レベルでそれを処理する必要があります。低レベルの CAN バス エラー処理は、インターフェイスによって処理されます。

8) CANbus ノードから特定の情報を取得するにはどうすればよいですか?

ここで何を意味するのかわかりません。必要な情報の種類に応じて、PDO または SDO。

9) EDS ファイルとオブジェクト ディクショナリはどのように作成されますか? すべてのノードでそれらが必要ですか?

通常、EDS ファイルを作成する必要はありませんが、文書化の目的で役立つ場合があります。オブジェクト辞書はソフトウェアで実装されます。標準に準拠したものを作成する場合、OD の一部は必須です。

10) CAN ハードウェアを購入せずに、CAN ネットワークをシミュレートして Java プログラムをテストするにはどうすればよいですか?

私はしません...意味のあるバスシミュレーターは、おそらくCANアダプターを購入するよりも開発に費用がかかります。多くの CAN アダプタにはデュアル インターフェイスが含まれているため、アダプタと 2 つの終端抵抗だけで、実際の CAN バス上で通信テストを行うことができます。

于 2009-01-08T23:27:19.130 に答える