===================================================================== = Windows版デジタル入出力用ドライバについて = = API-DIO(WDM) Ver7.30 = = CONTEC Co.,Ltd. = ===================================================================== ◆ 目次 ======= はじめに 注意事項 インストール方法 インストールされるファイル サンプルプログラム バージョンアップ履歴 ◆ はじめに =========== 日頃から格別のお引き立てを賜りまして厚く御礼申し上げます。 ここにはAPI-DIO(WDM)に関する補足説明を記載しています。 API-DIO(WDM)の使用方法は、オンラインヘルプ(CDIO.CHM) を参照ください。 ◆注意事項 ========== API-DIO(WDM)は、従来版デジタル入出力用ドライバとは異なる製品です。 両者製品の違いに関しては、オンラインヘルプ(CDIO.CHM) をご参照ください。 以下のケースでは、バスマスタ用バッファの最大サイズが制限されます。 <4GByte以上のメモリ搭載時> Windows 64bit版 もしくは、 Windows 32bit版 にて PAE(物理アドレス拡張) 有効の場合 <4GByte未満のメモリ搭載時> Windows 64bit版 もしくは、 Windows 32bit版 にて PAE(物理アドレス拡張) が有効であり ボードを実装するPC(マザーボード)のBIOS設定で、[Memory Reclaiming] 機能が有効の場合 ※PC(マザーボード)によっては、BIOS設定で、[Memory Reclaiming] 機能の有効・無効が変更できない ケースもありますので、事前にご確認頂きますようお願いいたします。 ※Windows10 Version 1703 以降では、最大2MByteまで、それ以前のOSでは、最大1MByteまでとなります。 対象デバイス PIO-32DM(PCI), DIO-32DM-PE, DIO-32DM2-PE ◆インストール方法 ================== ・開発環境(ヘルプ、サンプル、ツール等)のインストール 古いバージョンの開発環境がインストールされている場合、 先に「コントロールパネル」からアンインストールを行ってください。 ダウンロードファイルを解凍して、以下のセットアップを実行します。 Apipac\DioWdm\Disk1\Setup.exe Autorun.exeからインストールを行ってください。 ・デバイスドライバのインストール 古いバージョンのドライバがインストールされている場合、 先にアンインストールを行ってください。 アンインストールならびにインストールの手順については、 ダウンロードファイル解凍後に作成される以下のヘルプを参照してください。 Help\DioWdm\Jpn\Apitool.chm アンインストールならびにインストールの手順については、 API-PAC(W32) CD-ROM内の以下のヘルプを参照してください。 \Apipac\Help\Hwinst\Jpn\Apitool.chm ◆インストールされるファイル ============================ ・本製品のセットアッププログラムは、次の様な構成で ファイルをシステ ムディレクトリあるいは、ユーザー指定のディレクトリにインストール します。 ・また、既に他のAPI-TOOLドライバがインストールされている場合は、そ のディレクトリへインストールします。 \ CONTEC.ICO アイコンファイル CONTEC_APIPACW32_HOMEPAGE.URL API-PAC(W32)HPへのショートカット DIOWDM\CDIO.CHM ヘルプファイル DIOWDM\README.TXT このファイル DIOWDM\SAMPLES\ サンプルプログラム ◆サンプルプログラム ==================== サンプルプログラムは、各言語ごとに以下のディレクトリで構成されてい ます。 [32bitOS] \ | +--\DIOWDM | +--\SAMPLES | +--\INC 各言語用インクルードファイル | +--\Lib_i386 32bit版ライブラリファイル | +--\Dio 汎用機能サンプル | | | +--\Vb6 Visual Basic 6.0用サンプルプログラム | | | +--\VbNet2005 Visual Basic .Net用サンプルプログラム | | | +--\Vc6 Visual C++ 6.0用サンプルプログラム | | | +--\VcNet2005 Visual C++ .Net(MFC)用サンプルプログラム | | | +--\VcNet2013 Visual C++ .Net(MFC)用サンプルプログラム | | | +--\VcNetCLI2005 Visual C++ .Net(C++/CLI)用サンプルプログラム | | | +--\Vcs2005 Visual C# .Net用サンプルプログラム | +--\DioBusMaster バスマスタ機能用サンプル | | | +--\Vb6 Visual Basic 6.0用サンプルプログラム | | | +--\VbNet2005 Visual Basic .Net用サンプルプログラム | | | +--\Vc6 Visual C++ 6.0用サンプルプログラム | | | +--\VcNet2005 Visual C++ .Net(MFC)用サンプルプログラム | | | +--\VcNet2013 Visual C++ .Net(MFC)用サンプルプログラム | | | +--\VcNetCLI2005 Visual C++ .Net(C++/CLI)用サンプルプログラム | | | +--\Vcs2005 Visual C# .Net用サンプルプログラム | +--\DioNet NET機能用サンプル | +--\VbNet2005 Visual Basic .Net用サンプルプログラム | +--\VcNet2005 Visual C++ .Net(MFC)用サンプルプログラム | +--\VcNet2013 Visual C++ .Net(MFC)用サンプルプログラム | +--\Vcs2005 Visual C# .Net用サンプルプログラム [64bitOS] \ | +--\DIOWDM | +--\SAMPLES | +--\Inc 各言語用インクルードファイル | +--\Lib_i386 32bit版ライブラリファイル | +--\Lib_amd64 64bit版ライブラリファイル | +--\Dio 汎用機能サンプル | | | +--\VbNet2005 Visual Basic .Net用サンプルプログラム | | | +--\VcNet2005 Visual C++ .Net(MFC)用サンプルプログラム | | | +--\VcNet2013 Visual C++ .Net(MFC)用サンプルプログラム | | | +--\VcNetCLI2005 Visual C++ .Net(C++/CLI)用サンプルプログラム | | | +--\Vcs2005 Visual C# .Net用サンプルプログラム | +--\DioBusMaster バスマスタ機能用サンプル | | | +--\VbNet2005 Visual Basic .Net用サンプルプログラム | | | +--\VcNet2005 Visual C++ .Net(MFC)用サンプルプログラム | | | +--\VcNet2013 Visual C++ .Net(MFC)用サンプルプログラム | | | +--\VcNetCLI2005 Visual C++ .Net(C++/CLI)用サンプルプログラム | | | +--\Vcs2005 Visual C# .Net用サンプルプログラム | +--\DioNet NET機能用サンプル | +--\VbNet2005 Visual Basic .Net用サンプルプログラム | +--\VcNet2005 Visual C++ .Net(MFC)用サンプルプログラム | +--\VcNet2013 Visual C++ .Net(MFC)用サンプルプログラム | +--\Vcs2005 Visual C# .Net用サンプルプログラム ◆バージョンアップ履歴 ======================= Ver7.20->Ver7.30 -------------------------------- ・Windows 10 19H2での動作を確認 Ver7.10->Ver7.20 -------------------------------- ・対応OSを追加 対応OS: Microsoft Windows Server 2019 Ver7.10->Ver7.11 -------------------------------- ・64bitOSで32bitアプリを動作させた場合、DioDmSetBuffer() とDioGetDeviceInfo()で一部のエラーが発生しなかった不具合を修正。 ・PIO-32DM(PCI)、DIO-32DM-PE、DIO-32DM2-PE にて発生していた以下の不具合を修正。 ・ジェネレーティングをDioDmTransferStop()で停止させた時、 DioDmSetStopEvent()で設定した転送完了イベントが発生しない場合がある。 ・バスマスタ用バッファの最大サイズが制限される環境で使用時、バスマスタ転送中にブルースクリーンが発生する。 ・DIO-32DM3-PEを16/16入出力モードで実行した場合、以下の関数でエコーバック値が正しく取得できない場合がある不具合を修正。 ・DioEchoBackByte() ・DioEchoBackBit() Ver7.00->Ver7.10 -------------------------------- ・使用可能デバイスの追加 追加デバイス: CPSN-DI-16BCL CPSN-DO-08RL CPSN-DO-08BRL ・対応開発言語を追加 対応開発言語: Microsoft Visual Basic 2019 Microsoft Visual C# 2019 Microsoft Visual C++ 2019 Ver6.90->Ver7.00 -------------------------------- ・使用可能コントローラの追加   追加コントローラ:CPSN-MCB271-1-041 Ver6.81->Ver6.90 -------------------------------- ・Windows 10 19H1での動作を確認 Ver6.71->Ver6.81 -------------------------------- ・使用可能デバイスの追加 追加デバイス: DIO-0404LY-WQ-CN ・DIO-32DM3-PE において発生していた以下の問題を修正 ・ スレーブ設定での使用中に[DIODM_STATUS_SGOVERIN]が発生した場合、SlaveHalt信号が出力されない ・ 無限回サンプリング時、バスマスタ転送が停止する場合がある ・ バスマスタ転送中にDioDmTransferStart関数が実行された場合、バスマスタ転送が停止する ・ 双方向バスマスタ転送にて入力と出力を同時にスタートした場合、出力が遅れてスタートする ・ API-TIMER(WDM)ドライバのTimCountLap関数にて経過時間を取得できない Ver6.70->Ver6.71 -------------------------------- ・バスマスタ転送の開始を繰り返し実行した場合、OSがフリーズする現象を修正 Ver6.61->Ver6.70 -------------------------------- ・使用可能デバイスの追加 追加デバイス: CPS-DIO-0808L CPS-DIO-0808BL CPS-DIO-0808RL CPS-RRY-4PCC CPS-DI-16L CPS-DI-16RL CPS-DO-16L CPS-DO-16RL DIO-CPS-BXC200 ・DIO-32DM3-PEにてサンプリング中に途中停止を行った場合、サンプリングデータが正しく回収されていなかった不具合を修正。 Ver6.60->Ver6.61 -------------------------------- ・英語版OSにて[DIO_ERR_INI_NO_MATCH_DRV_VERSION]エラーが返される不具合を修正。 Ver6.50->Ver6.60 (Ver Jul.2018) -------------------------------- ・使用可能ボードの追加 追加ボード: DIO-32DM3-PE ・エラーコード(22065)の追加 Ver6.40->Ver6.50 -------------------------------- ・使用可能デバイスの追加 追加デバイス: DIO-0404LY-WQ-EU DIO-0404LY-WQ-US Ver6.32->Ver6.40 -------------------------------- ・使用可能デバイスの追加 追加デバイス: CPSN-DI-08L CPSN-DI-08BL CPSN-DO-08L CPSN-DO-08BL ・デジタルフィルタに対応 対応デバイス:DIO-1616LN-ETH DIO-0404LY-WQ ・フェイルセーフ機能に対応 対応デバイス:DIO-1616LN-ETH DIO-0404LY-WQ Ver6.31->Ver6.32 -------------------------------- ・デモデバイスが動作しない問題を修正 Ver6.30->Ver6.31 -------------------------------- ・Windows 10 RS2以降でバスマスタ製品使用時に、サンプリングデータが正常に取得できな問題を修正 Ver6.20->Ver6.30 -------------------------------- ・使用可能デバイスの追加 追加デバイス: DIO-0404LY-WQ ・対応OSを追加 対応OS: Microsoft Windows Server 2016 Ver6.00->Ver6.20 (Ver Nov.2017) -------------------------------- ・使用可能デバイスの追加 追加デバイス: DIO-1616LN-ETH Ver5.501->Ver6.00 (Web Release) -------------------------------- ・対応開発言語を追加 対応開発言語: Microsoft Visual Basic 2017 Microsoft Visual C# 2017 Microsoft Visual C++ 2017 Ver5.50->Ver5.501 -------------------------------- ・DioInitを実行する前に、API-TIMER(WDM)ドライバのTimInit関数が実行できない問題を修正 Ver5.40->Ver5.50 (Web Release) -------------------------------- ・Windows 10 ドライバ署名ポリシー変更に対応 ・64BitOSにて、無限回転送を行うとサンプリングデータを正常に取得できない場合がある不具合を修正 Ver5.31->Ver5.40 (Web Release) -------------------------------- ・対応開発言語を追加 対応開発言語: Microsoft Visual Basic 2015 Microsoft Visual C# 2015 Microsoft Visual C++ 2015 Ver5.20->Ver5.31 -------------------------------- ・4GByte以上のメモリを認識している環境において、サンプリングバッファの設定を無限回転送とすると、 サンプリングデータを正常に取得できない場合がある不具合を修正 Ver5.10->Ver5.20 (Web Release) -------------------------------- ・対応OSを追加 対応OS: Microsoft Windows 10 Microsoft Windows 10 x64 Edition ・SHA-2署名に対応 Ver5.00->Ver5.10 (Ver.Jul.2015) -------------------------------- ・使用可能ボードの追加 追加ボード:DIO-1616L-LPE, DIO-1616B-LPE Ver4.51->Ver5.00 (Ver.Dec.2014) -------------------------------- ・対応OSを追加 対応OS: Microsoft Windows 8.1 Microsoft Windows 8.1 x64 Edition Microsoft Windows Server 2012 Microsoft Windows Server 2012 R2 ・対応開発言語を追加 対応開発言語: Microsoft Visual Basic 2013 Microsoft Visual C# 2013 Microsoft Visual C++ 2013 ・使用可能ボードの追加 追加ボード: DIO-32DM2-PE Ver4.40->Ver4.51 -------------------------------- ・開発環境等から強制終了した場合における DIO_ERR_SYS_USING_OTHER_PROCESS エラー発生頻度を軽減 Ver4.40 (Web Release) -------------------------------- ・対応OSを追加 対応OS: Microsoft Windows 8 Microsoft Windows 8 x64 Edition ・対応開発言語を追加 対応開発言語: Microsoft Visual Basic 2012 Microsoft Visual C# 2012 Microsoft Visual C++ 2012 Ver4.31 (Web Release) -------------------------------- ・日本語環境以外でインストールを行った場合、他の言語環境では英語表示でのインストールとなるように対応。 ・バスマスタ転送において、指定個数転送完了イベントが頻繁に上がるように設定するとブルースクリーンになる場合がある不具合を修正。 Ver4.30 (Web Release) -------------------------------- ・WOW64に対応(Windows 7 以降) Ver4.25 -------------------------------- ・64BitOSにて、4GByte以上のメモリを搭載している場合 バスマスタ転送によるサンプリングデータを正常に取得できない場合がある不具合を修正 Ver4.20 (Web Release) -------------------------------- ・対応開発言語を追加 対応開発言語: Microsoft Visual Basic 2010 Microsoft Visual C# 2010 Microsoft Visual C++ 2010 Ver4.11 -------------------------------- ・スタンバイから復帰した後に、DioNotifyTrg() を実行するとブルースクリーンになる場合がある不具合を修正。 Ver3.50 (Ver.Mar.2011) -------------------------------- ・使用可能ボードの追加 追加ボード: DI-128RL-PCI, DO-128RL-PCI Ver3.41 -------------------------------- ・8255搭載デバイスにて、DioOutBit関数、DioOutMultiBit関数 使用時に 該当する出力ポート内で指定したビット以外の出力値も変化する場合がある不具合を修正 Ver3.31 -------------------------------- ・Windowsを正常に終了できない場合がある不具合を修正。 Ver3.30 (Ver.Jan.2010) -------------------------------- ・対応OSを追加 対応OS: Microsoft Windows 7 Ver3.26 -------------------------------- ・イベント通知使用時にブルースクリーンになる場合がある不具合を修正 Ver3.24 (Web Release) -------------------------------- ・DioDmGetStatus 関数で、DIODM_STATUS_BMSTOPのステータスが 実際よりも早く立つ場合がある不具合を修正 Ver3.21 (Ver.Mar.2009) -------------------------------- ・DioDmSetStartPattern関数で正常にパターン一致条件が設定できない不具合を修正 Ver3.20 (Web Release) -------------------------------- ・対応OSを追加 対応OS: Microsoft Windows Server 2008 Microsoft Windows Server 2008 x64 Edition Ver3.10 (Ver.Jan.2009) -------------------------------- ・対応開発言語を追加 対応開発言語: Microsoft Visual C++(C++/CLI) 2005, 2008 ・新規デバイス対応: DIO-32DM-PE Ver3.03 (Ver.Oct.2008) -------------------------------- ・VB.NET用Triggerサンプルが、64bit版OSで動作しない不具合を修正 Ver3.02 (Web Release) -------------------------------- ・対応開発言語を追加 対応開発言語: Microsoft Visual Basic 2008 Microsoft Visual C# 2008 Microsoft Visual C++ 2008 Ver3.01 (Web Release) -------------------------------- ・C#.NET用InterruptCallbackサンプルでVisualStudio 2005のデバッグモード実行時にコールバック関数内で例外が発生する不具合を修正 ・32bit版Windows Vistaでのドライバインストール時に、「Register Serverは動作を停止しました」とのメッセージボックスが表示される場合がある不具合を修正 Ver3.00 (Ver.Apr.2008) -------------------------------- ・新規デバイス対応: DI-64T-PE, DO-64T-PE, DI-32T-PE, DO-32T-PE, DIO-48D-PE, DIO-96D-LPE, DI-128T-PE, DO-128T-PE ・API-TIMER(WDM)に対応 ・PIO-32DM(PCI)で汎用出力関数実行時に、指定した出力ポート以外で1度も出力していないポートに対して間違ったデータを出力する場合がある不具合を修正 Ver2.53 -------------------------------- ・バスマスタ転送開始条件を外部トリガで設定し、転送開始条件成立待ちの状態で、DioDmTransferStop()で停止させ、 汎用入出力等を行うとブルーバックになる不具合を修正 Ver2.52 (Web Release) -------------------------------- ・DioDmSetBuffer関数でDIO_ERR_DLL_CALL_DRIVER エラーになることがある不具合を修正 ・ドライバ起動時からDioSet8255Mode関数を実行するまでの間、DioGet8255Modeから返される値が不定値となる不具合を修正(Ver2.50以降) Ver2.51 (Ver.Jan.2008) -------------------------------- ・DioGetDeviceInfo関数でRRY-32(PCI)H, RRY-16C(PCI)H においてフィルタ及び割り込み可能ビット数の情報が間違っていた不具合を修正 ・バスマスタ用関数でスタンバイモードからの復帰時に[DIO_ERR_SYS_RECOVERED_FROM_STANDBY]エラーを返していなかった不具合を修正 Ver2.50 -------------------------------- ・使用可能ボードの追加 追加ボード:RRY-32-PE, RRY-16C-PE, DIO-1616RY-PE Ver2.42 (Web Release 2007.10.22) -------------------------------- ・ACX-PAC(W32)上で発生する不具合を修正 Ver2.41 (Ver.Oct.2007) -------------------------------- ・対応開発言語を追加 対応開発言語: Microsoft Visual Basic 2005 Express Edition Microsoft Visual C# 2005 Express Edition ・DioDmSetTransferStartWait関数による設定が反映されていない不具合を修正 ・VB6用ヘッダーファイルで DioSet8255Mode関数、DioGet8255Mode関数の宣言が抜けていた不具合を修正 ・VB.NET用ヘッダーファイルで DioSet8255Mode関数、DioGet8255Mode関数の引数宣言が間違っていた不具合を修正 Ver2.40 -------------------------------- ・使用可能ボードの追加 追加ボード:DI-32B-PE, DO-32B-PE, DIO-1616H-PE, DIO-3232H-PE, DIO-1616RL-PE, DIO-3232RL-PE ・存在しなくなったデバイスの情報が残っていても DioQueryDeviceNameで存在しているデバイスのリストを正常に取得できるよう変更 Ver2.30 -------------------------------- ・スレッド内でバスマスタ用バッファをセット、バスマスタ転送を行っている状態でスレッドを終了すると、その時点でバスマスタ転送が完了するように仕様を変更 ・デモデバイス(DIO-6464-DEMO)を追加 Ver2.20 (Ver.Jun.2007) -------------------------------- ・対応OSを追加 対応OS: Microsoft Windows Vista x64 Edition Microsoft Windows Server 2003 x64 Edition Microsoft Windows XP Professional x64 Edition ・バスマスタ転送で正常にデータがとれない可能性がある不具合を修正 ・バスマスタ転送を繰り返し実行しているとDIO_ERR_DLL_CALL_DRIVERのエラーが発生することがある不具合を修正 ・バスマスタの転送完了通知が実際よりも多く通知されることがある不具合を修正 ・バスマスタの出力で、転送完了通知を使用していない場合にDioDmSetBuffer関数でDIO_ERR_SYS_MEMORYエラーが返されることがある不具合を修正 Ver2.10 (Web Release) -------------------------------- ・使用可能ボードの追加 追加ボード:DIO-96D2-LPCI ・DioExit関数でコールバック関数の登録をクリアするよう修正 Ver2.02 (Ver.Feb.2007) -------------------------------- ・ファーストリリース