IghEtherCatマスターオープンソースEthercatマスター通信制御テストを備えたLinuxCNC



Linuxcnc With Igh Ethercat Master Open Source Ethercat Master Communication Control Test



ハードウェア環境:

  • 1、Raspberry Pi 3BがPREEMPTリアルタイムパッチにヒットしました(特定のパッチプロセスをオンラインで)
  • 2.デルタASDA-A2-Eサーボドライブ
  • 3、ベッコフEK1100、EL1008、EL2008標準IO入力および出力モジュール

ソフトウェア環境:



  • 1、LinuxCNC2.7バージョン:インストールチュートリアルリファレンス http://linuxcnc.org/docs/2.7/html/getting-started/getting-linuxcnc.html
  • 2、IghEthercatMaster:インストールチュートリアルリファレンス https://blog.csdn.net/scyhk/article/details/51672136
  • 3、 linuxcnc-ethercat これは、LinuxcncでIghを駆動するために使用されるHALドライバーです。それは外国の神々によって書かれています。実際、ドライバーはcompコンパイルを作成することもできますが、外国の神は非常に完璧で非常に使いやすいものを作成しました。ここでは主に外国の神のドライブの使用について話します。
  • HAL_ihgMasterは、halcomplierによってコンパイルされたLinuxCNCのドライバーであり、PREEMPTはユーザーモードです。コンパイルにより、lcec.soおよびlcec_confスクリプトファイルが生成されます。例としてデルタサーボを取り上げます。スレーブモジュールを駆動するには、次の3つのファイルを作成する必要があります。名前は、Linuxcncのconfigフォルダーに任意に配置できます。

ステップ

1.ハードウェアがEthercatスレーブに接続されたら、Ighマスターステーションを起動します。「/ etc / init.d / ethercatstart」、「Starting EtherCAT master 1.5.2 done」というプロンプトが表示され、サーボネットワークポートが点灯していることがわかります。点滅を開始し、実行中であることを示します。正常。



2、ターミナル入力はethercatスレーブであり、ethercat pdosはスレーブステーションの基本情報を表示できます。PDO出力情報は、この情報を製造元のXML記述ファイルと組み合わせて、外部の神のxml構成ファイル構成PDOおよびその他のEthercatデータの相互作用を変更する必要があります。

ighとBeckhoffのEthercatマスターステーションの違いを説明する必要がありますBeckhoffとSOEMは、バス上のスレーブステーションのpdo情報がメーカーのプロファイル構成によって実装されていることを確認し、ighはスレーブの情報をリアルタイムで読み取ってpdo情報をルーティングするためです。ここで問題が発生しました。使用したDeltaASDAサーボのEEPROM情報が不完全であるため、ethercat pdosを使用すると、pdo情報が表示されず、駆動できず、BeckhoffTwincatが発生します。問題はありません。その後、比較的完全なEEPROM情報をDeltaサーボに再適用して、ighを使用しました。

3.例としてDeltaサーボを取り上げます:(すべてLinuxcncのAxisインターフェースによってテストされています)



1)、deltapos.xml

このxmlファイル形式は外国の神によって設定されており、CIA402を理解していれば、各項目の意味をほとんどの人が理解しているはずです。 Vidとpidは、サーボのいくつかの基本情報を参照します。製造元のXMLファイルまたはethercatスレーブコマンドが表示されている必要があります。このモジュールの定義が一般的な方法であることを示す 'type =' generic ''もあります。 SDOを使用して自分で構成する必要があります。 PDOのグループ化。もちろん、このタイプには他のデフォルトのベッコフモジュール(EL1008、EL2008、DeltaのASDAなど。拡張を容易にするための一般的なデモンストレーションがあります)があります。PDOのサーボ制御用にCia402に名前を付ける必要があります。 halpin名は、halファイル内の他のLinuxcncピンに接続するために使用されます(Linuxcncの基本的な動作原理を理解する必要があります)。たとえば、6060のデフォルト値は8に設定されており、サーボ動作モードがCSP同期位置モードであることを示し、60C2はスキャンサイクルを示します。 2msの場合、6040はサーボ制御ワード、607Aは目標位置などです。通常、CSPモードではこれら4つしか使用できません。速度フィードフォワードまたはトルクフィードフォワード補正を追加する必要がある場合は、1601で対応する項目を追加できます。はい、フォーマットはテスト用に自己参照されます。ピンの命名はご容赦ください。 。 。 。 。 。無視してください。 。 。

2)、deltapos.hal

halは、大きな神のlcec_confスクリプトを呼び出して、上記のdeltapos.xmlファイルを読み取ってethercatを構成し、loadrtがlcecモジュールをロードします。スレーブのプロパティ呼び出しメソッドは非常に規則的です。以下を参照して理解してください。次のlcec.0.0.pos、poscommandなどを使用して、ターゲットの場所やフィードバックの場所など、linuxcncのAxisインターフェイスのいくつかのパラメーターに関連付けます。ドライブ制御制御ワードLinuxcncの軸有効化ボタンはビット操作によって関連付けられているため、クリックインターフェイスの有効化はサーボによって有効化され、もう一方は基本操作であり、テストは問題ありません。

3)、axis_deltax.ini

このファイルはlinuxcncによって呼び出されます。 Linuxcncのconfigフォルダーに入ると、スタートアッププロジェクトの選択インターフェイスにaxis_deltaxオプションがあります。あなたはそれを選択することができます。 Axis構成ファイルを使用して簡単な変更を加えました。主なことは、halへの呼び出しを追加することです。

4.例としてBeckhoffIOモジュールを取り上げます(XMLファイルとHalファイル)

ほら、XMLファイルはデフォルト設定EK1100、EL1008、EL2008を使用しています。関連付けは特に単純ではありません。何をするかを設定する必要はありません。デフォルトの入力および出力ハルピン命名方法に注意してください。神のソースコードが理解できることを参照してください。彼の考え。

5、上記の理解は純粋にゲーム後の個人的な興味の経験からのものです、矛盾がある場合は私を訂正してください~~