Interface USB Driver (I/O-CD) DPC-0401 USB 拡張 I/O 用 Windows ドライバ Help for Windows www.interface.co.jp
目次 第 1 章はじめに...3 1.1 概要...3 1.2 各 I/O に対応したドライバ...3 第 2 章製品仕様...4 2.1 基本仕様...4 2.2 製品構成...4 2.3 クラスライブラリの参照方法...5 第 3 章導入方法...6 3.1 インストール手順...6 3.2 制御方法...6 第 4 章リファレンス...7 4.1 関数一覧...7 4.2 関数個別説明...8 4.3 戻り値一覧...12 第 5 章サンプルプログラム...13 5.1 UsbPwrCtl...13 第 6 章重要な情報...14 2
第 1 章はじめに 1.1 概要 DPC-0401 は Windows 上のアプリケーションから 弊社 USB 拡張 I/O 製品の制御を行うためのソフトウェアです 弊社 USB 拡張 I/O 製品を Windows 上のアプリケーションから DLL をダイナミックリンクし API をコールすることにより制御します 本ドキュメントは Windows 上で USB 拡張 I/O 製品の電源制御を行なうための情報のみ掲載しています 各 I/O の機能や使用方法は 1.2 各 I/O に対応したドライバ の表を参考に 各ドライバの Help を参照してください 1.2 各 I/O に対応したドライバ 型式 I/O ドライバ DIO GPC-2000 IUC-x2934 AD GPC-3100 TIO-x2934x DA GPC-3300 IUC-x2937 TIO-x2937x IUC-x2980 TIO-x2980x IUC-x4668 TIO-x4668x DIO GPC-2000 AD GPC-3100 IUC-x3615 DA GPC-3300 TIO-x3615 カウンタ GPC-6204 IUC-x4676 DIO GPC-2000 TIO-x4676x HDLC GPC-4116 IUC-x4855 DIO GPC-2000 TIO-x4855x CAN GPC-4851 IUC-x4326 DIO GPC-2000 TIO-x4326x GPIB GPC-4301 IUC-x3215 TIO-x3215x IUC-x3216 TIO-x3216x AD DIO GPC-3100 GPC-2000 3
第 2 章製品仕様 2.1 基本仕様 最大デバイス数 USB デバイスの電源制御 最大 1 デバイス USB デバイスに対して 電源供給の ON/OFF を制御することが出来ます 各 I/O の基本仕様は 1.2 各 I/O に対応したドライバ の表を参考に 各ドライバの Help を参照してください 2.2 製品構成 製品構成 ファイル名 説明 弊社管理用ファイル DPC0401.VER 弊社ソフト管理用ファイル 最新情報ドキュメント README.HTM 最新ドキュメント掲載ファイル サンプルプログラム - - Visual C++ UsbPwrCtl USB デバイスの電源制御サンプルプログラム Visual C#.NET 1 IFCUSB クラスライブラリ (Visual C#.NET 用 ) UsbPwrCtl USB デバイスの電源制御サンプルプログラム Visual Basic.NET IFCUSB クラスライブラリ (Visual Basic.NET 用 ) 1 UsbPwrCtl USB デバイスの電源制御サンプルプログラム ライブラリ ifusbpwr.lib インポートライブラリファイル ヘッダファイル ifusbpwr.h Visual C++ 用ヘッダファイル ヘルプ HELP.PDF ヘルプ (PDF 形式 ) 1 Visual C#.NET,Visual Basic.NET 用サンプルプログラムは それぞれ Visual C#.NET 2003, Visual Basic.NET 2003 を使用して作成しています 4
2.3 クラスライブラリの参照方法本製品では クラスライブラリのソースファイルを用意しています ソースコードをビルドしてクラスライブライリを生成し 参照することで DLL 関数の定義を容易にすることができます (DLL 関数の呼び出しをカスタマイズしたい場合は クラスライブラリのソースを参照してください ) 1. クラスライブラリの作成方法.NET において DLL 関数を呼び出すには まずクラスライブラリを用意する必要があります Visual C#.NET の場合 Visual Studio を起動し 以下のプロジェクトファイルを開きます < インストール先 >\interface\dpc0401\samples\cs_net\ifcusb\ifcusb.csproj このプロジェクトをビルドすると bin フォルダにクラスライブラリ IFCUSB.dll が作成されます Visual Basic.NET の場合 Visual Studio を起動し 以下のプロジェクトファイルを開きます < インストール先 >\interface\dpc0401\samples\vb_net\ifcusb\ifcusb.vbproj このプロジェクトをビルドすると bin フォルダにクラスライブラリ IFCUSB.dll が作成されます 2. クラスライブラリの参照 Visual C#.NET, Visual Basic.NET の場合 Visual Studio のメニューの プロジェクト の 参照の追加 を選択してください 参照 ボタンをクリックして参照したいクラスライブラリ DLL を指定します 例 ) < インストール先 >\interface\dpc0401\samples\cs_net\ifcusb\bin\release\ifcusb.dll < インストール先 >\interface\dpc0401\samples\vb_net\ifcusb\bin\relaase\ifcusb.dll 選択されたコンポーネント に指定した DLL が表示されます OK ボタンをクリックすると設定は完了です 次にソースのヘッダで各言語毎に下記のように InterfaceCorpDllWrap の名前空間を追加すれば DLL 関数を次章の 使用例 の方法で呼び出すことができるようになります Visual C#.NET の場合 using InterfaceCorpDllWrap; Visual Basic.NET の場合 Imports InterfaceCorpDllWrap 5
第 3 章導入方法 3.1 インストール手順 README.HTM のインストール方法を参照してください 3.2 制御方法各 I/O の制御方法は 1.2 各 I/O に対応したドライバ の表を参考に 各ドライバの Help を参照してください 6
第 4 章リファレンス 4.1 関数一覧 No 関数名 機能 初期化関数 1 IfUsbDevicePowerCtl USB デバイスの電源を制御します 7
4.2 関数個別説明 1. IfUsbDevicePowerCtl 機能 USB デバイスに対する電源の状態を制御します 書式 Visual C++ int IfUsbDevicePowerCtl( int UsbNum, // USB 番号 int PwrCtl // 電源状態 ); Visual C#.NET [DllImport("ifusbpwr.dll")] int IfUsbDevicePowerCtl( int UsbNum, // USB 番号 int PwrCtl // 電源状態 ); Visual Basic.NET Declare Function CmlOpen Lib "ifusbpwr.dll"(_ ByVal UsbNum As Integer _ USB 番号 ByVal PwrCtl As Integer _ 電源状態 )As Integer パラメータ UsbNum USB 番号です 必ず 1 を指定して下さい PwrCtl 電源供給の状態を指定します 識別子 値 内容 IFUSBPWR_POWER_OFF 00000001h USB デバイスに供給する電源を停止します IFUSBPWR_POWER_ON 00000002h USB デバイスに電源を供給します 戻り値 正常に終了した場合には IFUSBPWR_ERROR_SUCCESS が返ります IFUSBPWR_ERROR_SUCCESS 以外の値が返された場合については 4.3 戻り値一覧 をご参照ください 8
注意事項 USB デバイスに対する電源供給状態を制御するため USB デバイス制御中に応答がなくなってしまった USB デバイスの状態をリセットしたいといった場合に有効です ただし USB デバイスの電源供給を停止した場合 USB デバイスに搭載されているの全ての I/O 機能が使用できなくなります ご使用の際は USB デバイスから応答がなくなってしまった場合を除いて 全ての I/O 機能を正常に終了させてからご使用ください 使用例 Visual C++ using namespace System; using namespace System::Threading; int _tmain() { int ret; Console::WriteLine(L"USB Power OFF\n"); // USB Power OFF ret = IfUsbDevicePowerCtl(1, IFUSBPWR_POWER_OFF); if(ret){ Console::WriteLine("IfUsbDevicePowerCtl Error ret[{0}]", ret.tostring("x")); } Thread::Sleep(1000); Console::WriteLine(L"USB Power ON\n"); // USB Power ON ret = IfUsbDevicePowerCtl(1, IFUSBPWR_POWER_ON); if(ret){ Console::WriteLine("IfUsbDevicePowerCtl Error ret[{0}]", ret.tostring("x")); } } return 0; 9
Visual C#.NET using System; using InterfaceCorpDllWrap; using System.Threading; static void Main(string[] args) { int ret; Console.WriteLine("USB Power OFF"); // USB Power OFF ret = IFCUSB.IfUsbDevicePowerCtl(1, IFCUSB.IFUSBPWR_POWER_OFF); if(ret!= IFCUSB.IFUSBPWR_ERROR_SUCCESS){ Console.WriteLine("IfUsbDevicePowerCtl Error ret[{0:x}]", ret); } Thread.Sleep(1000); Console.WriteLine("USB Power ON"); } // USB Power ON ret = IFCUSB.IfUsbDevicePowerCtl(1, IFCUSB.IFUSBPWR_POWER_ON); if(ret!= IFCUSB.IFUSBPWR_ERROR_SUCCESS) { Console.WriteLine("IfUsbDevicePowerCtl Error ret[{0:x}]", ret); } return; 10
Visual Basic.NET Imports System Imports System.Threading Imports InterfaceCorpDllWrap Sub Main() Dim ret As Integer Console.WriteLine("USB Power OFF") ' USB Power OFF ret = IFCUSB.IfUsbDevicePowerCtl(1, IFCUSB.IFUSBPWR_POWER_OFF) If ret <> IFCUSB.IFUSBPWR_ERROR_SUCCESS Then Console.WriteLine("IfUsbDevicePowerCtl Error ret[{0:x}]", ret) End If Thread.Sleep(1000) Console.WriteLine("USB Power ON") ' USB Power ON ret = IFCUSB.IfUsbDevicePowerCtl(1, IFCUSB.IFUSBPWR_POWER_ON) If ret <> IFCUSB.IFUSBPWR_ERROR_SUCCESS Then Console.WriteLine("IfUsbDevicePowerCtl Error ret[{0:x}]", ret) End If End Sub USB デバイスの電源状態を制御します 11
4.3 戻り値一覧 エラー識別子 値 意味 IFUSBPWR_ERROR_SUCCESS 0 正常終了 IFUSBPWR_ERROR_FAILED_OPEN_IFCMGR 1h ドライバのオープンに失敗しました IFUSBPWR_ERROR_FAILED_USBPWR_CTL 2h 正常に電源制御が行えませんでした IFUSBPWR_ERROR_NOT_SUPPORT 3h 未対応の機能です 12
第 5 章サンプルプログラム 以下 各サンプルプログラムの概要を説明します 5.1 UsbPwrCtl 概要 USB デバイスの電源制御を行ないます 実行手順 サンプルプログラムには実行形式のファイルが付属していません ソースコードをコンパイルして実行ファイルを生成してから 動作させてください Visual C++ の場合 (Microsoft Visual C++.NET 2003~2008) Visual Studio を起動し ファイル メニューから 開く プロジェクト を選び プロジェクトファイル *.vcproj を開き ビルドしてください Visual C++ の場合 (Microsoft Visual C++.NET 2010 以降 ) Visual Studio を起動し ファイル メニューから 開く プロジェクト を選び プロジェクトファイル *.vcxproj を開き ビルドしてください *.vcxproj ファイルは Visual Studio 2010 で作成しております Visual Studio 2010 より新しい Version で実行する場合には 下記設定を行ってください Visual Studio のメニューから プロジェクト - プロパティ - 構成プロパティ - 全般 を開き プラットフォームツールセット を使用している環境に合わせて変更 例 ) Visual Studio 2012 を使用している場合 Visual Studio 2012(v110) を選択 ( プルダウンメニューより選択できます ) Visual C#.NET Visual Studio を起動し ファイル メニューから 開く プロジェクト を選び プロジェクトファイル *.csproj を開き ビルドしてください Visual Basic.NET Visual Studio を起動し ファイル メニューから 開く プロジェクト を選び プロジェクトファイル *.vbproj を開き ビルドしてください 内容 USB デバイスの電源制御を行ないます ご使用の際は IfUsbDevicePowerCtl 関数の注意事項を読み 理解したうえでしようして下さい 13
第 6 章重要な情報 保証の内容と制限弊社は本ドキュメントに含まれるソースプログラムの実行が中断しないこと またはその実行に誤りが無いことを保証していません 本製品の品質や使用に起因する 性能に起因するいかなるリスクも使用者が負うものとします 弊社はドキュメント内の情報の正確さに万全を期しています 万一 誤記または誤植などがあった場合 弊社は予告無く改訂する場合があります ドキュメントまたはドキュメント内の情報に起因するいかなる損害に対しても弊社は責任を負いません ドキュメント内の図や表は説明のためであり ユーザ個別の応用事例により変化する場合があります 著作権 知的所有権弊社は本製品に含まれるおよび本製品に対する権利や知的所有権を保持しています 本製品はコンピュータソフトウェア 映像 / 音声 ( 例えば図 文章 写真など ) を含んでいます 医療機器 / 器具への適用における注意弊社の製品は人命に関わるような状況下で使用される機器に用いられる事を目的として設計 製造された物では有りません 弊社の製品は人体の検査などに使用するに適する信頼性を確保する事を意図された部品や検査機器と共に設計された物では有りません 医療機器 治療器具などの本製品の適用により 製品の故障 ユーザ 設計者の過失などにより 損傷 / 損害を引き起こす場合が有ります 複製の禁止弊社の許可なく 本ドキュメントの全て または一部に関わらず 複製 改変などを行うことはできません 責任の制限弊社は 弊社または再販売者の予見の有無にかかわらず発生したいかなる特別損害 偶発的損害 間接的な損害 重大な損害について 責任を負いません 本製品 ( ハードウェア, ソフトウェア ) のシステム組み込み 使用 ならびに本製品から得られる結果に関する一切のリスクについては 本製品の使用者に帰属するものとします 本製品に含まれるバグ あるいは本製品の供給 ( 納期遅延 ) 性能もしくは使用に起因する付帯的損害もしくは間接的損害に対して 弊社に全面的に責がある場合でも 弊社はその製品に対する改良 ( 正常に動作する ) 代品交換までとし 金銭面での賠償の責任は負わないものとしますので 予めご了承ください 本製品 ( ソフトウェアを含む ) は 日本国内仕様です 本製品を日本国外で使用された場合 弊社は一切責任を負いかねます また 弊社は本製品に関し 海外での保守サービスおよび技術サポート等は行っておりません 14
商標 / 登録商標本書に掲載されている会社名 製品名は それぞれ各社の商標または登録商標です 15