===================================================================== = Windows Driver for Analog I/O Driver = = API-AIO(WDM) Ver3.62 = = CONTEC Co.,Ltd. = ===================================================================== - Contents ========== Introduction Notes Installation The files installed Sample programs The history of version-up - Introduction ============== Thank you for purchasing this product. The following description is a supplementary explanation for API-AIO(WDM). Please refer to Online Help(APITOOL.CHM) for how to use API-AIO(WDM). - Notes ======= API-AIO(WDM) is different from the earlier editions of analog I/O driver. Please refer to Online Help(API-AIO(WDM).CHM) for the difference. About compiling the C++ Builder samples If the path contaiins "-"(hyphen), the C++ Builder will fail in the building. If API-AIO(WDM) has been installed by default, it can not be used "as is" because "API-PAC(W32)" is included in the path. You should first copy the folder that include the sample project to a path not containing the hyphen and then build it. - Installation ============== - Installation of development environment(help, sample, tool, etc) You must uninstall older version of development environment from [control panel] before installing newer version. Unzip downloaded file and execute following setup file. Apipac\AioWdm\Disk1\Setup.exe Install from Autorun.exe. - Installation of device driver You must uninstall older version of device driver before installing newer driver. For uninstallation or installation procedure, refer to following help file in API-PAC(W32) CD-ROM. \Apipac\Help\Hwinst\Eng\Apitool.chm For uninstallation or installation procedure, refer to following help file which is created after unzipping the downloaded file. Help\AIOWDM\ENG\Apitool.chm - The files installed ===================== - This product uses a setup program to install files in the System directory or other directory designated by the user in the following configuration. - If other API-TOOL drivers have already been installed, the files will be installed in that directory. \ CONTEC.ICO Icon file CONTEC_APIPACW32_HOMEPAGE.URL Shortcut of API-PAC(W32)HP AIOWDM\API-AIO(WDM).CHM Help file AIOWDM\README.TXT This file AIOWDM\SAMPLES\ Sample programs AIOWDM\SAMPLES\EXE Executive files of sample programs AIOWDM\UTILITY Utility programs - Sample programs ================= The sample programs consist of the following directories for every language. - API-AIO(WDM) 32 bit Edition \ | +--\AIOWDM | +--\SAMPLES | +--\INC Include file for every language | +--\LIB_I386 Library file for every language | +--\MODULE Subroutine file for every language | +--\VB6 Sample program for Visual Basic 6.0 | +--\VBNET Sample program for Visual Basic .Net | +--\VC6 Sample program for Visual C++ 6.0 | +--\VCNET Sample program for Visual C++ .Net | +--\VCNETCLI Sample program for Visual C++ .Net (C++/CLI) | +--\VCS Sample program for Visual C# .Net | +--\BUILDER5 Sample program for C++ Builder 5 | +--\DELPHI6 Sample program for Delphi 6 | +--\CONSOLE Sample Console program for Visual C++ 6.0 - API-AIO(WDM) 32 bit Edition \ | +--\AIOWDM | +--\SAMPLES | +--\INC Include file for every language | +--\LIB_X64 Library file for every language | +--\MODULE Subroutine file for every language | +--\VBNET Sample program for Visual Basic .Net | +--\VCNET2005 Sample program for Visual C++ .Net | +--\VCS Sample program for Visual C# .Net - The history of version-up =========================== * F-Series : ADA16-32/2(PCI)F, ADA16-32/2(CB)F, AIO-163202F-PE L-Series : ADA16-8/2(LPCI)L, ADA16-8/2(CB)L, AD16-64(LPCI)LA, AD16-16(LPCI)L, DA16-16(LPCI)L, DA16-8(LPCI)L, DA16-4(LPCI)L ADAI16-8/2(LPCI)L, ADI16-16(LPCI)L, DAI16-4(LPCI)L AIO-160802L-LPE, AI-1616L-LPE, AO-1604L-LPE AIO-121602AH-PCI, AIO-121602AL-PCI AI-1216AH-PCI, AI-1216AL-PCI AIO-160802LI-PE, AI-1616LI-PE AO-1604LI-PE, AI-1664LA-LPE AO-1608L-LPE, AO-1616L-LPE E-Series : AD12-16(PCI)E, AD12-16U(PCI)E, AD12-16U(PCI)EH AD16-16(PCI)E, AD16-16U(PCI)EH, ADI12-16(PCI) AD12-16(PCI)EV, AD12-16U(PCI)EV, AD16-16(PCI)EV, AD16-16U(PCI)EV AIO-121601E3-PE, AIO-121601UE3-PE AIO-161601E3-PE, AIO-161601UE3-PE B-Series : AI-1216B-RB1-PCI, AI-1216B-RU1-PCI Z-series : AI-1204Z-PCI M-series : AIO-121601M-PCI Ver3.61->Ver3.62 (API-USBP(WDM) Ver4.00) -------------------------------- - Solves the problem that hang-up may occurs when using AioGetAiSamplingData funcrion with RING memory.(E-Series) - Solves the problem that hang-up may occurs when executing AioInit, AioStartAo and AioExit funcrion repeatedly.(AO devices) - Solves the problem that 21960 error occurs when specifies device-buffer-mode by AioSetAiTransferMode function.(Z-Series) - Solves the problem that error occurs while hardware-installation on Windows 2000. Ver3.52->Ver3.61 (supplied on Web, 2009.05.19) -------------------------------- - Solves the problem that 20001 error occures when setting the function AioSetAiTransferMode, AioSetAoTransferMode, everytime. - Solves the problem that, under the state of "Wait the start trigger", the hang-up occurs when AioExit is performed (E-Series) - Solves the problem that overflow error was occured.(AI-1204Z-PCI). - Solves the problem that repeating operation software start - stop conversion by the specified times, rock the devices(AI-1204Z-PCI). - Solves the problem that repeating operation AioStartAi - AioStopAi, or AioStartAi - AioResetDevice, rock the devices(AI-1204Z-PCI). Ver3.51->Ver3.52 2009.03.04 (Ver.Mar.2009) -------------------------------- - Solves the problem that counter's trouble(AIO-121602M-PCI). Ver3.50->Ver3.51 (supplied on Web, 2009.02.16) -------------------------------- - Supports Windows Server 2008 - Supports Windows Server 2008 64bit edition Ver3.47->Ver3.50 2009.01.16 (Ver.Jan.2009) -------------------------------- - Supports new devices AIO-121601M-PCI - Adds new functions AioGetCntmMaxChannels AioSetCntmZMode, AioSetCntmZLogic AioSelectCntmChannelSignal, AioSetCntmCountDirection AioSetCntmOperationMode, AioSetCntmDigitalFilter AioSetCntmOutputHardwareEvent, AioSetCntmInputHardwareEvent AioSetCntmCountMatchHardwareEvent, AioSetCntmPresetRegister AioGetCntmZMode, AioGetCntmZLogic AioGetCntmChannelSignal, AioGetCntmCountDirection AioGetCntmOperationMode, AioGetCntmDigitalFilter AioCntmStartCount, AioCntmStopCount AioCntmPreset, AioCntmZeroClearCount AioCntmReadCount AioCntmNotifyCountUp, AioCntmStopNotifyCountUp AioCntmCountUpCallbackProc, AioCntmNotifyCounterError AioCntmStopNotifyCounterError, AioCntmCounterErrorCallbackProc AioCntmNotifyCarryBorrow, AioCntmStopNotifyCarryBorrow AioCntmCarryBorrowCallbackProc, AioCntmNotifyTimer AioCntmStopNotifyTimer, AioCntmTimerCallbackProc AioSetCntmTestPulse, AioCntmReadStatusEx AioCntmInputDIByte, AioCntmOutputDOBit - Supports Visual C++ .Net C++/CLI. Ver3.46->Ver3.47 (supplied on Web, 2008.10.10) -------------------------------- - Solves the problem that when set External clock, and set internal clock. Next, start sampling by external clock, sampling clock error was occured.(AI-1204Z-PCI). Ver3.45->Ver3.46 2008.10.01 (Ver.Oct.2008) -------------------------------- - Solves the problem that when continuous sampling like sample AiLong, sampling is stopped(DEMO devices, L-Series, and Non-F,ESeries devices). - Add the function that when operating sampling used ring memory, it is able to get a sampling data(E-series). - Solves the problem that repeating operation AioStartAi - AioStopAi, or AioStartAi - AioResetDevice, rock the devices(AI-1204Z-PCI). - Solves the problem that using Busmaster, sampling data is odd data (Busmaster device). - Solve the problem that events are not occured by setteing condition. - Supports API-TIMER(WDM). Ver3.44->Ver3.45 (supplied on Web, 2008.07.11) -------------------------------- - Solves the problem that when using Analog Output devuces (except E, F, L-Series PCI devices), setting External trigger start, many times repeat, it is not enter the state of the trigger waiting at the next repeat. - Supports VisualStudio2008(except VC++, supports ExpressEdition). Ver3.43->Ver3.44 (supplied on Web, 2008.05.30) -------------------------------- - Solves the problem that if using the function AioSetAiRange, and AioSetAiRangeAll, it is not able to get correct sampling data from devices(F, L-Series). Ver3.42->Ver3.43 (supplied on Web, 2008.05.09) -------------------------------- - Solves the problem that Diagnosis Program can't be operated normally, when using CPU-CA10+FIT device with AI-1608AY-USB or AIO-160802AY-USB. - Solves the problem that API Functions for AI-1608AY-USB or AIO-160802AY-USB can't be operated normally, when using CPU-CA10+FIT device with AI-1608AY-USB or AIO-160802AY-USB. Ver3.41->Ver3.42 (supplied on Web, 2008.04.30) -------------------------------- - Solves the problem that a calibration program can't be , and returns 22204 error(ADA16-32/2(CB)F). - Solve problems that it changes to unlimited Repeat, and the callback setting, and call AioStopAi on sampling, application hangs irregularly. - Solves the problem when sampling Memory full, it is not able to get sampling data from devices. Ver3.40->Ver3.41 2008.03.31 (Ver.Apr.2008) -------------------------------- - Solves the problem that repeat function can't be operated normally. (DEMO devices, L-Series, and Non-F,ESeries devices) - Solve problems The level trigger setting is not reflected using USB-devices. - The mistake device name were corrected (AI-1664LA-LPE, AO-1608L-LPE, AO-1616L-LPE). - AI-1204Z-PCI supports functions AioSetAiStartInRangeEx, AioGetAiStartInRangeEx AioSetAiStartOutRangeEx, AioGetAiStartOutRangeEx AioSetAiStopInRangeEx, AioGetAiStopInRangeEx AioSetAiStopOutRangeEx, AioGetAiStopOutRangeEx. - Solves the problem that 21440 error occures when using the function AiSamplingClock set 10usec everytime (ADA16-8/2(CP)L, AD16-64(LPCI)LA, AI-1664LA-LPE). Ver3.31->Ver3.40 2008.02.04 (Ver.Jan.2008 for AIO) -------------------------------- - Supports new devices AI-1204Z-PCI, AIO-160802LI-PE, AI-1616LI-PE AO-1604LI-PE, AI-1664LA-LPE AO-1608L-LPE, AO-1616L-LPE Ver3.30->Ver3.31 (supplied on Web, 2008.01.25) -------------------------------- - Solves the problem that the dialog of "DeviceType Unknown Error" is displayed when using AD12-8(PM) using on the property page on the device manager. - Solves the problem that OS hangs when using DEMO Device Ver3.21->Ver3.30 2007.12.21 (Ver.Jan.2008) -------------------------------- - Solves the problem that the number of handle on the task manager increases every time the application is operated. - Solves the problem that a calibration program can't be adjusted, and returns 22204 error(L-Series). - Solves the problem that 20001 error occures when setting the function AioSetDiFilter, AioGetDiFilter, everytime. - Solves the problem that correct Range can't be set by the function AioSetAiRange, AioSetAiRangeAll. Ver3.20->Ver3.21 2007.10.12 (supplied on Web, 2007.10.22) -------------------------------- - Solves the problem that occures while using ACX-PAC(W32) Ver3.10->Ver3.20 2007.09.30 (Ver.Oct.2007) -------------------------------- - Supports new devices AIO-121601E3-PE, AIO-121601UE3-PE AIO-161601E3-PE, AIO-161601UE3-PE - Visual C# 2005 Express Edition, Visual Basic 2005 Express Edition support - Solves the problem that 21061 error occures when setting the function AioSetAiRangeAll everytime. - Solves the problem that the dialog of "DeviceType Unknown Error" is displayed when using DemoDevice using on the property page on the device manager. - Solve problems that it changes to Ring memory form, a limited sampling, and the callback setting using USB-devices, and AiStart is repeated, sampling operation stoped. Ver3.00->Ver3.10 2007.06.11 (Ver.Jun.2007) -------------------------------- - Supports Windows x64 Edition - Supports new devices AI-1216B-RB1-PCI, AI-1216B-RU1-PCI Ver2.30->Ver3.00 2007.02.28 (Ver.Feb.2007) -------------------------------- - Supports Windows Vista - Supports new devices AIO-121602AH-PCI, AIO-121602AL-PCI, AI-1216AH-PCI, AI-1216AL-PCI - Adds digital-signing to device driver - Adds device driver auto-installation function (W2000 series only) - Adds version check of DLL and SYS function - Supports standby mode - Adds new functions AioResetProcess, AioStartAiSync AioSetAiStartInRangeEx, AioGetAiStartInRangeEx AioSetAiStartOutRangeEx, AioGetAiStartOutRangeEx AioSetAiStopInRangeEx, AioGetAiStopInRangeEx AioSetAiStopOutRangeEx, AioGetAiStopOutRangeEx - Adds utility for Visual Studio.NET - Solves the problem that OS hangs when using DEMO Device - Solves the problem that sometimes AD or DA conversion error occures when using simple functions (other than F and L series) - Solves the problem that OS hangs by clicking AioGetAiSamplingData when using CAIOSPEC.EXE (E series) - Solves the problem that motion doesn't complete unless one more sampling clock number which is specified (other than E, F and L series) - Solves the problem that data misalignment occures among channels under conditions of using multi channels, external trigger start, stop conversion by the specified times and multiple repeat times (L series) Ver2.20->Ver2.30 2006.12.04 (supplied on Web, 2006.12.15) -------------------------------- - Solves the problem that AioGetAiSamplingCount function may return invalid value on multi-core CPU (E-Series) - Shorten the execution time and reduce the time variation of AioStartAi, AioStartAo, AioStartTmTimer and AioStartCnt function - Solves the problem that the event that specified number of data are stored may not occur depend on the process conditions Ver2.10->Ver2.20 2006.09.01 (supplied on Web, 2006.09.01) -------------------------------- - Solves the problem that occures while using ML-DAQ Ver1.90->Ver2.10 2006.07.14 (Ver.Aug.2006) -------------------------------- - Supports new devices AIO-160802L-LPE, AI-1616L-LPE, AO-1604L-LPE Ver1.80->Ver1.90 2006.03.24 (Ver.Apr.2006) -------------------------------- - Supports new devices AIO-163202F-PE, DA16-8(LPCI)L, DA16-4(LPCI)L - Visual Studio 2005 support Ver1.70->Ver1.80 2005.12.01 (Ver.Feb.2006) -------------------------------- - Supports C-LOGGER Ver1.0 Ver1.60->Ver1.70 2005.09.29 (Ver.Nov.2005) -------------------------------- - Supports new devices AD12-16(PCI)EV, AD12-16U(PCI)EV, AD16-16(PCI)EV, AD16-16U(PCI)EV, AD16-64(LPCI)LA Ver1.50->Ver1.60 2005.07.22 (Ver.Aug.2005) -------------------------------- - Supports Windows Server 2003 - Supports new devices ADAI16-8/2(LPCI)L, ADI16-16(LPCI)L, DAI16-4(LPCI)L - Adds new functions AioSetAiClockEdge, AioGetAiClockEdge AioSetAoClockEdge, AioGetAoClockEdge Ver1.42->Ver1.50 2005.03.31 (Ver.Apr.2005) -------------------------------- - Supports MATLAB Data Acqiosition Toolbox Ver1.41->Ver1.42 2005.01.25 (supplied on Web, 2005.01.31) -------------------------------- - Solves the problem that an automation error occurs while using ACX-AIO. Ver1.40->Ver1.41 2004.11.30 (Ver.Jan.2005) -------------------------------- - Supports Hyper-Threading PC - Solves the problem that diagnosis program occurs error code 4 occasionally with PCI boards - Solves the problem that acquired data become misaligned between each channels when using multi channels (L-Series) Ver1.31->Ver1.40 2004.08.26 (Ver.Oct.2003) -------------------------------- - Supports new devices ADA16-8/2(CB)L - Solves the problem that gain adjustment cannot do a calibration program manually. (F-Series,ADA12-8/2(LPCI),AD16-16(LPCI)L) Ver1.30->Ver1.31 2004.06.18 (Ver.Jun.2004) - Visual C#.NET2002, 2003 support - Supports scan clock setting (E-Series, F-Series) - Supports acquiring substrate temperature (ADI16-4L(PCI)) - Solves the problem that AI motion does not stop normally if stop condition is changed by AioSetEcuSignal function (F-Series) - Solves the problem that AO motion does not stop normally if stop condition is changed by AioSetEcuSignal function (F-Series) - Solves the problem that the falling edge can't be specified when using external trigger start or stop mode (AD12-64(PCI), AD12-16(PCI)) - Solves the problem that Lap value of AioGetAiTransferLap becomes unusual when transfering more than 64Mb data in bus master mode (F-Series) - Solves the problem that AioSetAiChannelSequence is invalid to AioMultiAi function (E-Series) Ver1.21->Ver1.30 2003.10.31 (Ver.Nov.2003) -------------------------------- - Supports new devices ADA16-8/2(LPCI)L, AD16-16(LPCI)L, DA16-4(LPCI)L Ver1.20->Ver1.21 2003.06.02 (supplied on Web, 2003.06.11) -------------------------------- - The following functions are added to uninstaller Delete setup information files that reproduced by the system Delete the device registered into the device manager - Solves the problem that a diagnostic program forces to terminate when a range is made a uni-Poral setup (E-Series) - Solves the problem which will be forced to terminate if x button is pushed during operation by AiSpec and AoSpec - Solves the problem which may be unable to set up a value normally with AiSetAiSamplingClock and AiSetAoSamplingClock function is corrected (all devices) - Solves the problem that DI data is not appended (F-Series) - Solves the problem that will hang-up if AioExit function is performed inputting an external trigger continuously by Ai and Ao function (F-Series) - Solves the problem that cannot set up any ranges other than -10V - +10V or 0V - +10V and 4mA - 20mA with AioSetAiRangeAll function (ADI12-16(PCI)) - Solves the problem that an omission generates to output data when a repeat output function is used by the RING memory (DA12-16(PCI), DA12-8(PCI), DA12-4(PCI)) - Solves the form error of AioSetAiChannelSequence and AioGetAiChannelSequence (CAIO.BAS, CAIO.VB, CAIO.PAS) Ver1.10->Ver1.20 2003.03.01 (supplied on Web, 2003.03.14) -------------------------------- - Supports English OS, Language, Tools - CAIO.DLL is sharable between API-AIO(WDM) and API-USBP(WDM) - Solves the problem that the converted data isn't right (AD16-4L(PCI)) - Solves the problem that error occurs in AioSetAiStartInRange, AioSetAiStartOutRange, AioSetAiStopInRange and AioSetAiStopOutRange functions - Fixed the problem in sample AiEx that the converted data in saved file is broken Ver1.04->Ver1.10 2002.12.25 (Ver.Dec.2002) -------------------------------- - Supports new devices ADA16-32/2(PCI)F, ADA16-32/2(CB)F - Adds new functions - Visual C++.NET, Visual Basic.NET support - Adds new samples - Fixed the problem that the application is locked if other functions are used when the AioInit function failed (all devices) - Solves the problem that AioInit function succeeds even if the board JP is in the state that the interrupt is disabled (E-Series) - Solves the problem that the system exceptionally hangs up when the sampling clock error occurs because of the high-speed operation of analog I/O (all devices) - Adds NULL check and error code to functions AioQueryDeviceName and AioGetDeviceType(all devices) - Solves the problem that error occurs when channel 0 is specified for AioEnableAo and AioDisableAo (DAI16-4C(PCI)) - Solves the problem that multi-channel output is abnormal (DAI16-4C(PCI)) - Solves the problem that "Normality completion" is returned even if 10820 error occurs(E-Series) - Corrects the driver in order to return error when function AioStartAi is executed without resetting the memory after buffer overflow error occurs(all devices) - Solves the problem that AD conversion error exceptionally occurs in function AioSingleAi (AD16-16U(PCI)EH) - Solves the problem that the ranges other than +/-10V, 0 to 10V and 4mA to 20mA can not be set (ADI12-16(PCI)) - Solves the problem that D/A conversion error exceptionally occurs in both function AioSingleAo and function AioMultiAo(DA12-16(PCI), DA12-8(PCI), DA12-4(PCI)) - Solves the problem that the used handle is not opened when AioStartAi is performed (E-Series) - Solves the problem that graph drawing of both utility AiSpec and utility AoSpec does not support multi-channels(AD12-16U(PCI)EH, AD16-16U(PCI)EH) - Solves the problem that the old data is acquired in function AioSingleAi (ADI16-4C(PCI)) - Solves the problem that +/-2.5V can not be set in function AioSetAiRange (AD12-16U(PCI)EH) Ver1.03->Ver1.04 2002.06.18 (Ver.Aug.2002) -------------------------------- - Makes modifications in order that the failure in retrieving the sampling count is more difficult to come off (E-Series) - Solves the problem that the sampling clock error occurs at the 65535th time of event if you perform the operation in sample AiLong(E-Series) - Solves the problem that the converted data cannot be acquired normally from expansion channels when channels have been expanded (E-Series) - Solves the problem that W9x cannot start up as the card is plugged when you use cards on a note PC(AD12-8(PM)) - Solves the problem that the raising of sampling clock causes the memory violation(AD12-8(PM)) - Solves the problem that the incorrect converted data are acquired when the sampling clock is speeded to 10usec or so(AD12-8(PM)) - Solves the problem that the sampling clock cannot be changed when external start trigger is used(DA12-16(PCI), DA12-8(PCI), DA12-4(PCI)) Ver1.02->Ver1.03 2002.02.01 (supplied on Web, 2002.02.15) -------------------------------- - Adds driver update method to help - Adds tutorial for simple digital I/O to help - The JP setting and pin assignment is illustrated in Driver Specifications-Specifications based on devices of help(Japanese only) - Solves the problem that, if the sample AiLong is used on W9x, the event doesn't occur when "Event that the specified number of data are stored" occurs and the window is moved - Solves the problem that the system hangs in sample MultiAo(AD12-8(PM)) - Solves the problem that the data is incorrect in sample MultiAi (AD12-8(PM)) - Solves the problem that the practical conversion speed is abnormal and data is incorrect in sample AiEx(AD12-8(PM)) - Solves the problem that the status "Device is running" doesn't become OFF if the sampling times is set to 1 - Corrects the sample programs - Takes out the description mistakes in help Ver1.01->Ver1.02 2002.01.15 -------------------------------- - Solves the problem that the driver cannot be used on W2000 if you login as a user - Solves the problem that 0 is returned instead of 21441 - Solves the problem that "Store up to the specified number of data" status doesn't become OFF even if retrieving data is performed (E-Series) - Solves the problem that, under the state of "Wait the start trigger", the error 21480 occurs when AioStopAi is performed (E-Series) - Corrects the sample programs - Takes out the description mistakes in help Ver1.00->Ver1.01 2001.12.16 -------------------------------- - Solves the problem that the repeat operation cannot be performed normally (E-Series) - Makes modifications in order that "Event that repeat end" is not fired when the repeat operation completely finished (E-Series) - Makes modifications in order that the clock error set by driver is reset by AioResetAiStatus or AioStartAi (E-Series) - Solves the problem that not only clock error occurs, but also conversion termination event occurs when the conversion speed is too fast, the driver cannot process them in time (E-Series) Ver1.00 2001.12.01 (Ver.Jan.2002) -------------------------------- - First release