●はじめに
USBに接続するIOボード、USB-IOボードの入出力制御を行うDLLです。
USB-IOボードはKm2Net様で販売されています。
Km2Net様のサイトはこちらです。
http://km2net.com/
【インストール】
ダウンロードされたファイルは圧縮されています。
1)「スタート」-「ファイル名を指定して実行」でダウンロードファイルを選択し、「OK」ボタンをクリックしてください。
2)「解凍先の指定」が出ますのでそのままでよければ「OK」ボタンをクリックしてください。 これで解凍できます。
3)「usbioac.dll」をWindowsのSystemフォルダにコピーするか、DLLの宣言時パス指定をしてください。
・Systemフォルダにコピーした場合のExcel VBA宣言例
Public Declare Function usb_open Lib "usbioac.dll" () As
Long
・C:\usbio\フォルダで使用する場合のExcel VBA宣言例
Public Declare Function usb_open Lib "C:\usbio\usbioac.dll"
() As Long
【アンインストール】
インストール先のフォルダごと削除してください。
もしSystemフォルダにコピーされている場合は、「usbioac.dll」を削除してください。
レジストリは使用していません。
【ライセンス購入について】
「usbioac.dll」はフリーソフトウェアです。個人で使用される場合は自由にご利用ください。
しかしながら、ライセンス購入していただきますとExcelサンプルソフトを送付させていただきます。
企業での使用や商用使用される場合はライセンス購入してください。
この場合もExcelサンプルソフトを送付させていただきます。
【お読みください.TXT】
最新情報、使用条件、ライセンス購入方法等添付の「お読みください.TXT」を御覧ください。
●実行順序
プログラム開始時に初期化処理を行い、終了時には終了処理を行ってください。
・初期化処理
usb_open
・終了処理
usb_close
●関数
usb_open
使用開始時に実行します。
・Excel VBA宣言例
Public Declare Function usb_open Lib "usbioac.dll" () As Long
・Excel VBA使用例
Ret = usb_open
・戻り値
0:正常
1:Windows標準の「hid.dll」か「setupapi.dll」が見つからない
2:USB IOが見つからない
usb_getnum
接続されているUSB-IO数を取得します。
・Excel VBA宣言例
Public Declare Function usb_getnum Lib "usbioac.dll" () As
Long
・Excel VBA使用例
UsbMax = usb_getnum
・戻り値
接続されているUSB IO数
usb_getusbid
USBのNo.(0〜)で指定したUSB-IOのベンダーIDとプロダクトIDを取得します。
・Excel VBA宣言例
Public Declare Function usb_getusbid Lib "usbioac.dll" (ByVal
usbno As Long, ByRef vid As Long, ByRef pid As Long) As Long
・パラメータ
usbno:USBのNo.を指定します。 (0〜) USB-IOを1個のみ接続している場合は0になります。
vid:見つかった場合、ベンダーIDが格納されます。
pid:見つかった場合、プロダクトIDが格納されます。
・Excel VBA使用例
Dim v As Long
Dim p As Long
Ret = usb_getusbid(0, v, p)
Label11.Caption = Hex(v)
Label12.Caption = Hex(p)
・戻り値
0:正常
1:idが見つからない
usb_getusbno
ベンダーIDとプロダクトIDからUSBのNo.(0〜)を取得します。
・Excel VBA宣言例
Public Declare Function usb_getusbno Lib "usbioac.dll" (ByVal vid As Long, ByVal pid As Long) As Long
・パラメータ
vid:ベンダーIDを指定します。
pid:プロダクトIDを指定します。
・Excel VBA使用例
Dim v As Long
Dim p As Long
v=&H1352
p=&H100
Ret = usb_getusbno(0, v, p)
・戻り値
idを返します
usb_outbyte
指定usbno(0〜)の指定ポートにバイト出力します。
Excel VBA宣言例
Public Declare Function usb_outbyte Lib "usbioac.dll" (ByVal
usbno As Long, ByVal port As Byte, ByVal outdata As Byte) As Long
・パラメータ
usbno:USBのNo.を指定します。 (0〜) USB-IOを1個のみ接続している場合は0になります。
port:出力先ポートを指定します。0か1です。
outdata:出力データを指定します。
・Excel VBA使用例
Ret = usb_outbyte(0, 1, &h10)
・戻り値
0:正常に出力できなかった
1:正常
usb_inpbyte
指定usbno(0〜)の指定ポートからバイト入力します。
・Excel VBA宣言例
Public Declare Function usb_inpbyte Lib "usbioac.dll" (ByVal
usbno As Long, ByVal port As Byte, ByRef indata As Byte) As Long
・パラメータ
usbno:USBのNo.を指定します。 (0〜) USB-IOを1個のみ接続している場合は0になります。
port:出力先ポートを指定します。0か1です。
indata:入力データが格納されます。
・Excel VBA使用例
Dim inp As Byte
Ret = usb_inpbyte(0, 0, inp)
・戻り値
0:正常
1:正常に入力できなかった
usb_close
使用終了時に実行します。
・Excel VBA宣言例
Public Declare Function usb_close Lib "usbioac.dll" () As Long
・Excel VBA使用例
usb_close
・戻り値
0を返します。
●Excelサンプルソフト
ライセンス購入をしていただいた方には下記のExcel用サンプルソフトをメールにて送付させていただきます。
1.usb_open を実行します。
2.使用するUSB No.を選択します。
3.USB No.のベンダID、プロダクトIDを取得します。
4.USB No.で指定されたポート1の1〜4Bitに出力します。
5.USB No.で指定されたポート0の入力を連続し表示します。入力があるBitは青色表示となります。
6.usb_closeを実行します。
※.このソフトは、Port1を出力に、Port0を入力で使用しています。
このソフトは当方でテストした簡単な回路で動作を確認しました。