検索
連載

ご主人様とメイドはテレパシー通信をしている?江端さんのDIY奮闘記 EtherCATでホームセキュリティシステムを作る(4)(5/9 ページ)

さて、今回はEtherCATのメモリについてお話します。EtherCATのPDO通信、SDO通信は、ご主人様(マスタ)とメイド(スレーブ)は、このメモリを介した“テレパシー通信”によって、完璧なコミュニケーションを実現しています。それを説明した後に、いよいよ、本連載の山場の1つとして、SOEM(Simple Open EtherCAT Master)のデバッグ&トレース環境の作り方を紹介します。

Share
Tweet
LINE
Hatena

【Step 6】

3つのプロジェクトをバラバラに管理すると面倒なので、simple_testのプロジェクトに3つのプロジェクトを集めます。

一度、Microsoft Visual C++ 2010 Expressを落としてから、C:\SOEM1.3.0\test\win32\simple_test\ simple_test.slnをクリックして、simple_testのプロジェクトを立ち上げてください。

さらに、ファイル(F)→追加(D)→既存のプロジェクト(E)から、C:\SOEM1.3.0\test\win32\slaveinfoの中にできている、slaveinfo.vcxprojを選んで、「開く」を押してください。

同様に、「ファイル(F)」→「追加(D)」→「既存のプロジェクト(E)」から、C:\SOEM1.3.0\soemの中にある、soem.vcxprojを選んで「開く」を押してください。

これで、simple_test(簡易EtherCATテストプログラム)のプロジェクトで、slaveinfoプロジェクト(スレーブ情報収集プログラム)と、soemプロジェクト(SOEM)ライブラリのプロジェクトを同時に管理できるようになります。

【Step 7】

photo

Simple_testの設定を開始します。


【Step 8】

photo

「構成プロパティ」→「全般」として「アプリケーション(.exe)」、「文字セット」→「マルチバイト文字セットを使用する」→「適用(A)」


【Step 9】

photo

「デバッグ」→「コマンド引数」→使用するNICアダプタを入力する→「適用(A)」(こちらを参照

ちなみに、下図のNICは、あなたのPC環境のものを入力してください)


【Step 10】

photo

「C/C++」→「追加のインクルードディレクトリ」に、5つのディレクトリ名を入力してください。→「適用(A)」


【Step 11】

photo

「リンカー」→「システム」→「サブシステム」が「コンソール(/SUBSYSTEM:CONSOLE)」になっていることを確認してください。


【Step 12】

photo

「リンカー」→「入力」→「追加の依存ファイル」に、あなたの環境での下図の5つのファイル名を入力。

これで、プロジェクト”simple_test”についての設定は完了です。


【Step 13】

photo

slaveinfoの設定を開始してください。

Step.8〜12と同じ設定を行ってください。


【Step 14】

photo

soem(ライブラリ)に必要なファイルを追加してください。


【Step 15】

photo

soemに必要な、以下の3つのファイルを追加してください。

C:\SOEM1.3.0\oshw\win32\nicdrv.c

C:\SOEM1.3.0\osal\win32\osal.c

C:\SOEM1.3.0\oshw\win32\oshw.c

また、ヘッダファイルは、最初はほっといてもよいでしょう(コンパイルエラーが教えてくれるので、その時追加してもよいです)。


【Step 16】

photo

soemの設定を開始する。


【Step 17】

photo

「構成プロパティ」→「全般」→「構成の種類」として「スタティックライブラリ(.lib)」、「文字セット」→「マルチバイト文字セットを使用する」、出力ディレクトリ→“C:\SOEM1.3.0\lib\win32”

「ターゲット名」→“libsoem”


【Step 18】

photo

「C/C++」→「全般」→「追加のインクルードディレクトリ」に、5つのディレクトリ名を入力

 この設定が終了したら、最初にsoemプロジェクトのビルドを実施します。成功した後、slaveinfo, simple_testのプロジェクトでビルドしてください(ビルドの順番に注意してください)。これで、slaveinfo, simple_testのデバッグ&トレース環境の構築が構築できていると思います。


 この環境を立ち上げるときは、C:\SOEM1.3.0\test\win32\simple_test\simple_test.slnを叩けば、3つのプロジェクトが同時に表示されます(simple_test.slnは、C:\SOEM1.3.0あたりに、ショートカットを張っておくと便利です)。

 もしうまく環境が構築できなかったらご連絡ください。メールベースで可能な限りサポート致します(なにしろ私の手元には、実際に動いているデバッグ&トレース環境がありますし)。

 ただ、私は、親切心からあなたをサポートをするわけではありません。

 これは、私の計画「老人ホーム4.0」に、あなたを巻き込むための布石です。

 来週からは、このデバッグ&トレース環境環境を使って、EtherCATの動きを一つ一つ見ながら、理解を深めていきたいと思います。


では、今回のコラムの内容をまとめます。

(1)EtherCATは、APIとメモリとNICの3つが、お互いの存在を無視するかのようにバラバラに動き、その事によって、抜群のリアルタイム性能と同期性能を実現している
(2)EtherCATは、既存の制御ネットワークのデバイスプロファイルをパクる……もとい、活用することで、デバイスの相互利用性を担保している
(3)SOEM(Simple Open EtherCAT Master)のデバッグ&トレース環境の構築は、結構面倒くさい(―― ですが、なんとか頑張って構築してみてください)

特別協力:

本連載では、スレーブの提供などでベッコフオートメーションにご協力いただいております。


 それでは、次ページから「付録」を開始します。準備はいいですか?

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る