USBxRS-I/F の概要

1 USBxRS-I/F の特徴

  このインターフェイスを開発しようと決めた動機は、1990年代から造り続けているレガシー・インターフェイス(ISA, PCI, SCI)に接続されている拡張基板(I/O, A/D, D/A, AudioGenrator, UniversalLoop, etc….)類を有効に活用したいということです。一つの設備の役割が終了すると、その設備は廃棄処分になる場合が多いのですが、それを現仕様で新しい設備として復活させようということです。(モッタイナイ精神)

  時代の進展にともなってパソコンの仕様も著しく変化してまいりましたが、USBに関しては、今後も長く使用できると思います。

  速度に関しては、例えば SCIと比較すると、ほぼ同程度の稼動速度を実機動作で確認いたしました。ハードウェア・インターフェイス(ISA, PCI)は速いですが、その当時のパソコンに比較してPCの速度自体が飛躍的に速くなっていますので、実際には確認していませんが、そのころの全体速度と比較しても、返ってスピードアップしているであろうと考えております。

 インターフェイス基板は、サイズ・ネジ位置などが変わらないように製作いたしましたので、基本的にはそのまま取替え可能です。

 ソフトウェアの変更を極力簡単にするために、基本的にはモジュールの入替え・追加のみで行えるように努力しておりますが、一部の手直しが必要になるかもしれません。ただし、基本部分は、そのまま流用できます。(Windowsの場合)

 開発環境として、VB6VB.NET(VB2005)に対応します。VB6は、XPモードである必要がありますが、VB.NETではその必要はなく、VistaWindows 7などでも、そのままの環境で開発できます。( ただし、ドライバーが違いますからPlug & Playのセットアップ時にどちらを使うかを選択します)


2 USBxRS-I/Fのセットアップ

基板セットに電源(5V)を供給してください、USBxRS-IFボードの赤のLEDが点灯し、セットアップ待ちとなります。添付のCDをドライブに入れてください。

ここでは、VB.NETで動かすこととし、WinUSBをインストールするように説明いたしますがVB6でも同様に操作できます。次にUSBケーブルを接続します。「新しいハードウェアの検出」ウィザードが起動されます。

  

     

       

添付のCDをドライブに入れて「参照」のボタンをクリックしてVB.NETでインストールする場合は、CDのドライブの\DriverByWinUSB\DriverWinUSBホルダを指定します。(VB6でインストールする場合は、CDドライブの\DriverByApiDLL\DriverAPIホルダを指定)

インストール作業は、 OSによりやや表現の違いがありますが似ているので分かると思います。

「次へ」のボタンをクリックします。「Windowsセキュリティ」の画面が出ましたら「このドライバソフトウェアをインストールします」をクリックして下さい。インストールが開始されます。WinUSBのインストールには結構時間がかかります。(510分程度)

  

  

確認のために、デバイスマネージャを起動して下図のようにインストールされているのをご確認下さい。(コントロールパネル−システム−デバイスマネージャ)

   

   

                                

VB.NET(WinUSB)でセットアップした場合は 上図の表示、VB6(DLL) でセットアップした場合は 下図)の表示となります。この時、CPUボードの赤のLEDは消灯し、緑のLEDが点灯しています。これでUSBxRS-IFは、いつでも使える状態になっています。

将来、もしドライバーを入れ替える必要が生じた時は、切り替え可能です。(切替えはAppendix参照のこと)


3 】サンプルプログラムの操作

1.    サンプルソフトの配置と環境設定

CDの中にVB.NETのサンプルとして「\DriverByWinUSB\USBxRS_Mon(WU)」ホルダとVB6のサンプルとして「\DriverByApiDLL\USBxRS_Mon(dll)」ホルダがあります。必要な方をホルダ込コピーしてパソコンの任意(ご自分が使う場所)の位置に貼り付けて下さい。これらの中にサンプルソフトのソースを含めたファイル一式が納められています。

VB.NETの場合は、\USBxRS_Mon(WU)\bin\ IOMbyUSB.exeVB6の場合は、\USBxRS_Mon(dll)\IOMbyUSB.exeをダブルクリックして起動します。もし、VB.NETVB6がインストールされていない環境で実行される時は、CDの中の「EnviromentSetup」ホルダの中にある「EnvSetup.EXE」をダブルクリックして実行して下さい、これで実行に必要な環境が設定されます。

注!VB6の場合、ユーザーアカウント制御(UAC)のあるOS(Vista)は、これをOFFにするかXPモード (EXEファイルを右クリックしてプロパティ-互換性タブの「互換モードでこのプログラムを実行する」にチェックを入れる) にしてサンプルプログラムを実行して下さい。VB.NETはこの配慮は不要です。

2.    サンプルソフト(1)の実行

先に配置しましたサンプルをダブルクリックして起動して下さい。起動された画面と操作は、VB.NETVB6もまったく同じです。

Open」ボタンをクリックします、するとポートのモニターが開始されます。

  

上の画面では、10~15/20~25が選択されています(ラジオボタン)10~15で一枚のI/O基板を示し、20~25でもう一枚のI/O基板を示します。同時には、2枚のI/O基板がモニターできます。それぞれの基板が出力48, 入力48を持っています。出力は黄色のモニター、入力は水色のモニターになっています。30~35/40~45を選択すると、さらに拡張された2枚のI/O基板をモニターできます。

  [ モニターでの操作 ]

マウスのカーソルをOUT-0の第0ビットの'0'の上に持って行き、その状態でクリックして下さい、ピッと音がしてモニターは'10000000'と表示され第1番がONしたことが確認されます。同じビットをもう一度クリックすると、'0'に戻りOFFされます。この操作はトグルになっています。アクティブな、どの出力ビット(黄色)もこの操作ができます。この時にI/O基板の出力ピンにLEDなどの負荷を付けておけば’1’の時に点灯します。入力ピンをGNDに接続(入力ON)すると、そのビットが’1’になります。入力がONしたということです。

   3. サンプルソフト(2)の実行

さらに別のサンプルソフトとして、拡張基板(I/O基板の先に接続される基板)を操作し、その拡張基板の調整をするためのソフトもソース込みで提供いたしています。拡張基板には、I/Oの使用点数を削減するため、リレーやSWなどがシリアル設定になっている部分がかなりあり、それらの設定はコマンドでインターフェイス基板のCPUに操作させます。またA/Dの読み込みなども同様にコマンドで読み出せるようになっています。

WinUSBの場合ホルダー名は「ADJbyUSB(WinUSB)」で、DLLの場合「ADJbyUSB(dll)」になります。それを起動した画面を下に示します。

     

このソフトでは、単なる出力や入力のON/OFFだけではなく、A/Dの各種制御・読込みやAudio Generator の各種操作、Universal Loop の操作などが画面からできるようになっています。起動された画面と操作は、VB.NETVB6もほぼ同じです。

   4. アプリケーションへの組み込み

  [ VB.NETの場合 ]

これらのサンプルソフトのソリューション(.sln)を起動していただき、そのプロジェクトエクスプローラを見ていただきますとその中に、「clsDevice.vb」と「mduDevice.vb」が組み込まれています。この2つのファイルをご自分の開発ソリューションに追加するとUSBxRS-IFを通じて、I/O及び拡張基板をソフトから操作できるようになります。「mduDevice.vb」のテキストの上部の方に解説がありますのでご参照ください。

  [ VB6の場合 ]

このサンプルソフトのプロジェクトを起動すると、その中に「DecUSBxRS.bas」が組み込まれています。このファイル(標準モジュール)をご自分のプロジェクトに組み込んでください。このテキストの上部の方に解説がありますのでご参照ください。

VB6の場合は、mpusbapi_vb.dll をご自分のアプリケーションの実行ファイル(EXE)同じホルダーに入れて置く必要があります。

注!VB6の場合ユーザーアカウント制御(UAC)のあるOS(Vista)で、VB6のIDE環境から走らせる場合は、UACOFF するかVB6.EXEのプロパティのXP互換モードにチェックを入れる必要があります。そうしないと、IDEからはデバイスを認識できなくなります。

  [ソフトの解析 ]

 Visual Basic の開発環境のデザイン画面で、ボタンコントロールなどをダブルクリックするとその操作を実行するためのコード部分に移動します。その内容を読んでいただければ、ご自分のアプリケーションでどのようなコードを記述すれば良いかは、すぐにお判りいただけると思います。基本的にVisual Basic の基礎的な部分を習得されていれば、まったく問題なくご自分のアプリケーションに組み込めると思います。


4 】インターフェイス基板の取り付けについて

 取り付け状況

この基板のサイズは、レガシーインターフェイスのサイズとまったく同じになるように製作しました。ネジ位置も同じです。

下は、従来のSCIインターフェイスをケースに取り付けた状態の写真です。

  

SCIインターフェイスを取り外し、同じ場所にUSBxRS-IF基板を取り付けた状態の写真を下に示します。

  

パネルのシルクはSCIからUSBと書き換えなければなりませんが、そのまま収まることが分かると思います。


6 Appendix

(ドライバーの切り替え:  WinUSB -> DLL)

デバイスマネージャで現在のドライバー(WinUSB for VB.NET)を削除します。

 

  

 

ターゲットのUSBコネクタを抜き、3秒後くらい後に再度さしてPlug&Playを起動する。

 

 

 

 

 

 

 

 

 

戻 る