0

ネットワーク デバイスに基づく EK1101、EL6002、EL2034 モジュールがあります。これらのモジュールは、イーサネット ケーブルを介して PC のイーサネット ポートに接続されます。これらのモジュールをいくつかのアプリケーション プログラムでテストしましたが、私の PC では問題なく動作しています。

カプラーとして機能するEK1101。PC イーサネット ポートと他のスレーブ モジュール (EL6002、EL2034、..) を接続します。

EL6002 は RS232 通信として機能します。EL2034 はデジタル I/O として機能します。同様に、10 種類以上のデバイスがあります。これらのモジュールは、同時に EK1101 カプラーと連動します。

Linux ドライバーとして実装するにはどうすればよいですか? 既存のネットワーク ドライバーを変更するか、新しいドライバーを最初から開始しますか? どのタイプの文字またはネットワーク ドライバーを作成する必要がありますか? そのキャラクター ドライバーの場合、どうすればイーサネット ポート経由でデータを転送できますか?

4

1 に答える 1

0

シリアル スライス (EL6002) を使用すると、各ポートの交換ごとに 22 バイト (各方向) しか送信できません。1kHz で更新する完全なシリアル帯域幅 (115k) では、送信機を枯渇させたり、受信機にデータを落としたりすることなく、更新を見逃すことはできません。それが懸念される場合は、おそらく、EtherCAT ループをマスターするために使用されているイーサネット ポートを排他的に制御する必要があるでしょう。これには何らかの形式のルート権限が必要です。そうしないと、誰かが常にポート経由でパケットを送信しようとする可能性があり、タイミングに影響を与えます. アプリケーションやタイミングの要件についてあまり詳しく説明していないので、それは重要ではないかもしれません。

私は Etherlab IgH オープン ソース スタックを使用してきました。これには、基になるスタックを実装するカーネル モジュールをロードするためのルート権限が必要です。それが完了したら、ルート権限なしでユーザー空間から実行するように他のすべてを設定できます。

アプリケーションがマスター スタックへのアクセスを取得したら、データ交換ドメイン (TwinCat がタスクと呼ぶもの) をセットアップすると、EtherCAT フレーム データの監視に使用できる共有メモリの領域ができます。アプリケーションは、ドメインの更新をいつ送受信するかを決定する責任があります。

于 2015-07-01T01:42:40.487 に答える