1.概要
外部I/Oを取り込んでアプリケーションで判断を行うためには
PCにI/Oポートがない場合が多いので専用のデバイスが必要になります。
使用するデバイスについては選択肢は多くありますが
今回は【CONTEC】のデジタル入出力ユニットである
【DIO-0808LY-USB】を使ってみようかと思います。
使えるようにするまでの環境設定や
コーディング前の下準備に少し手間取ったので
備忘録として残しておこうかと思います。
2.ドライバーのインストール
PCにUSBでデバイスを接続すると
ドライバーがインストールされていないので
デバイスマネージャでは
下図のとおり不明なデバイス扱いされてしまいます。
ですので、添付されているCDからドライバをインストールします。
CDをセットすると自動的に
【CONTEC API-USBP(WDM) DRIVER LIBRARY】
が起動します。
メニューの中にある【実行環境または開発環境のインストール】を選択します。
今回はデジタル入出力ユニットなので
【API-DIO(WDM)】にチェックを入れて
【インストール】をクリックします。
CONTEC API-USBP(WDM)...が起動しますので
アナウンスに従い先にすすんでいきます。
次に、API-DIO(WDM)インストーラーが起動しますので
これもアナウンスに従い進めていきます。
インストールが完了すると
デバイスマネ―ジャーでドライバが認識できたことが確認出来ます。
3.動作確認
ドライバーのインストールが確認出来たら、動作確認を行います。
デバイスマネージャーから【DIO DIO-0808LY-USB "DIO000"】のプロパティを開き
【診断】をクリックします。
ここで出力の制御や入力のモニタなどが簡易的に行えます。
例えば入力ポートのBit0をGNDレベルに落とすと
下図のようにBit0が赤色に変わり、デバイスが動作していることが確認出来ます。
4.プロジェクトにクラスライブラリの追加
動作確認が出来たのでアプリケーションを作成していきます。
その下準備としてクラスライブラリである【CdioCs.cs】というファイルを
プロジェクトに追加していきます。
まずは任意のプロジェクトを作成します。
プロジェクトを作成したら
下記のパスにある【CdioCs.cs】を追加していきます。
【C:\Program Files (x86)\CONTEC\API-USBP(WDM)\Dio\Samples\Vcs2005\SimpleIO】
追加すると
【アンセーフコードは/unsafeでコンパイルした場合のみ有効です】
のエラーが出てしまいます.
ですので、これは下記の記事のとおり対応して回避します。
これで下準備は完了になります。
5.まとめ
後は上記パスにある【SimpleIO.cs】に記述されているのをパクッてやるだけになります。
割り込み処理なども出来ますので
目的のコードをサンプルからパクッてカスタムしていけばいいかと思います。