DATAQ Instruments Developer Network
DATAQ ActiveX Controls allow users to write custom software to interface with DATAQ Instruments Hardware Devices. DATAQ ActiveX Controls are free to use, and install automatically when WinDaq Acquisition Software is installed.
Please Note: High sample rates (over 150K) may not be achievable using the ActiveX Controls.
Please Note: The ActiveX Controls DO NOT support synchronous data acquisition for the DI-720/722/730/740/785/788 Ethernet products, DI-1100, or DI-1110.
Click on the link below to access information for the desired programming language
Access | C++ | Excel | LabView | Linux | MATLAB | MySQL | ODBC | Visual Basic 6.0 | Visual Basic.NET
IMPORTANT! The DATAQ ActiveX Controls have recently changed to work with more of our products. Please click here to download the latest version.
Support
Need Help? Click here to download the latest ActiveX Help file or post a question to the Developer Support Forum.
Need Technical Support for you application? Post a message to our ActiveX support Forum, or send an email to technical support. Click here to learn how to help technical support troubleshoot the DATAQ ActiveX Controls.
If you are new to DATAQ ActiveX Controls, or you need some technical help, please take a minute to look over our Frequently Asked Questions below.
DATAQ Instruments ActiveX Controls Frequently Asked Questions
- What are DATAQ ActiveX Controls?
- How do I install the DATAQ ActiveX Controls?
- How do I use my specific DATAQ device with ActiveX / What are my DEVICE ID and DEVICE DRIVER?
- What COM port is my device connected to?
- How do I troubleshoot my ActiveX project? Note: this debug procedure is the first step if you need technical help with your program.
- How do I add the ActiveX Controls to my project in my chosen programming language or environment?
- What are DATAQ ActiveX Controls?
The ActiveX control standard defined by Microsoft describes modular, reusable software components that can be used universally by any environment that supports the standard. For example, without modification, the same controls may be used by Visual BASIC, Visual C++, National Instruments LabVIEW, CEC TestPoint, Borland C++ Builder, Excel and many more. Click here to learn more. - How do I install the DATAQ ActiveX Controls?
Click here to download the ActiveX Control Library FREE
The ActiveX Control Library installs automatically when you install the software for your DATAQ product from the WinDaq Resource CD. Please click on the above link if you want to install the most recent version of the ActiveX Control Library. The latest update is necessary for compatibility with our new products (DI-158 series, DI-710 series, DI-148U).
Click here to learn more about the DATAQ ActiveX Control Library. - How do I use my specific DATAQ device with ActiveX / What are my DEVICE ID and DEVICE DRIVER?
The DataqSdk component works with all DATAQ products. To use the DataqSdk control with your product, you must figure out the DeviceDriver and DeviceID for your hardware.
Click here to get the latest ActiveX installation.
DeviceDriver and DeviceID can be deduced from the ActiveX Controls Help file (dataqxc.chm) and they can also be found in the tpdataq.ini file located in your Windows directory. If DeviceDriver and DeviceID are not set, the same values are used as the last time WinDaq was started, which are saved to C:\WINDOWS\TPDATAQ.INI [Global] section in keys DLLName = and DeviceID=.
DeviceDriver is the DLL to be used with the corresponding device, available in the tpdataq.ini file.
DeviceID represents a connection method to the device.
DeviceDriver and Device ID Hardware Submit a Support Ticket for Help DI-1100, DI-1110, DI-1120 DI-1100 DeviceDriver = DI300NT.DLL
DI-1110 DeviceDriver = DI310NT.DLL
DI-1120 DeviceDriver = DI330NT.DLL
n = 07
Device ID = Pointer to string containing first 8 hexadecimal digits of serial number, or serial numbers of chained devices separated by commas8DI-145/148/149/155/158/245/71x USB Devices1 Device ID= COMPort3 DeviceName BaudRate2
DeviceDriver = DI1nnNT.DLL nn=COM port number3DI-2008 DI-2008 DeviceDriver = DI350NT.DLL
n = 07
Device ID = Pointer to string containing first 8 hexadecimal digits of serial number, or serial numbers of chained devices separated by commas8DI-2108, DI-2108-P DI-2108 DeviceDriver = DI320NT.DLL
DI-2108-P DeviceDriver = DI340NT.DLL
n = 07
Device ID = Pointer to string containing first 8 hexadecimal digits of serial number, or serial numbers of chained devices separated by commas8DI-22x DeviceDriver = DI22nNT.DLL
Device ID = LPT#DI-4108, DI-4208, DI-4718B, DI-4730 USB Devices DeviceDriver = DI360NT.DLL
n = 07
Device ID = Pointer to string containing first 8 hexadecimal digits of serial number, or serial numbers of chained devices separated by commas8DI-4108, DI-4208, DI-4718B, DI-4730 Ethernet Devices DeviceDriver = DI37nNT.DLL
n = 07
Device ID = Pointer to IP address or multiple IP addresses separated by commas (first item could be preceded by an unsigned 32-bit PublicKey for a ChannelStretch group and comma).
WinDaq Dashboard uses the 32-bit time value in seconds since 1970 as a key.DI-400, DI-401, DI-410 DeviceDriver = DI400NT.DLL
Device ID = WinRT virtual device #4DI-71x Ethernet Devices DeviceDriver = DI6nnNT.DLL5
Device ID = Pointer to IP address (could include a forwarding port if outside your subnet)DI-720,/730/740/5xx Printer Port Devices DeviceDriver = DI50nNT.DLL
n = Device ID = LPT#DI-720/730/740 USB Devices DeviceDriver = DI72nNT.DLL
n = Device ID = USBIDDI-700 DeviceDriver = DI70nNT.DLL
n = Device ID = USBIDDI-720/730/740/78x Ethernet Devices DeviceDriver = DI8nnNT.DLL6
Device ID = Pointer to IP address (could include a forwarding port if outside your subnet)All Serial Port Devices1 Device ID= COMPort3 DeviceName BaudRate2
DeviceDriver = DI1nnNT.DLL nn=COM port number31The DI-145, DI-148U, DI-158U/UP, and DI-71x USB versions all use a virtual COM port. Some products use a virtual COM port even though they may have an alternate interface connection (like USB). Such products use the serial port device driver and ID. See Question 4 below "What COM port is my device connected to?"
2The Device ID consists of a 32-bit value comprised of the COM port number, two digits representing the device model number, and the Baud Rate.
3The COM port number is specified during installation of the device. COM port numbers of 01 to 99 are supported. Example: For a Serial device installed to COM 1 the DeviceDriver=DI101NT.DLL. See Question 4 below "What COM port is my device connected to?" for instructions on finding the correct COM port.
4Virtual Device # can be found in c:\Windows pdataq.ini, or at the end of the WinDaq installation.
5The order of WinDaq/IP installation - look in title bar of WinDaq Acquisition when running device or check your installation directory for file(s) named WDQDK6nn.EXE. nn = 0 to 39 RESERVED; nn = 40 to 69 for DI-710E and DI-715BE devices; 70 to 99 for DI-718BE and DI-718BxE devices.
6The order of WinDaq/IP installation - look in title bar of WinDaq Acquisition when running device or check your installation directory for file(s) named WDQDK8nn.EXE. nn = 0 to 59.
7Starting WinDaq acquisition with V3.89 or later sets DLLName= and DeviceID= in the TPDATAQ.INI [Global] section, which become the default DeviceDriver and DeviceID if not set by a program using WinDaq.ocx or DataqSdk.ocx.
8A null string or "00000000" opens the first available connected device found.
Download and see the ActiveX help file for more information. - What COM port is my device connected to?
STEP 1: Open the Windows Device Manager. The Windows Device manager can generally be found by holding the Windows key down then pressing the Pause/Break key on your Windows keyboard to access the System Properties window. From there, the Device Manager should be accessible but may require an extra click or two (for example, in XP, click on the Hardware tab then on the Device Manager button).
STEP 2: Find Ports (COM & LPT) and expand by clicking the + box to the left. This shows all COM and LPT ports currently assigned on your computer.
STEP 3: Find DATAQ DIxxx (COM#) - # is the COM port designated for your device.
STEP 4:Change the COM port Number of your Device.
a. Right-click on DATAQ DIxxx (COM#).
b. Click on Properties.
c. Click on the Port Settings tab.
d. Click on the Advanced button.
e. Click the down arrow on the COM Port Number drop-down menu.
f. Select an alternate COM port number (MUST be COM 16 or lower).
- How do I troubleshoot my ActiveX project? Note: this debug procedure is the first step if you need technical help with your program.
A log file (DATAQSDK.LOG) may be created in the directory from which your program runs every time you run the DataqSDK control. This tool helps DATAQ Technical Support to debug your program if errors occur and you cannot figure out the problem.
STEP 1: To enable creation of this log file add the line "debug=1" to the [Global] section of the TPDATAQ.INI file under your Windows directory at C:\Windows\TPDATAQ.INI file
[Global]
debug=1
STEP 2: Depending on the system setup of the target PC, DATAQSDK.LOG may be located in a different directory, the best way is to do a search on your PC.
Note: The log file is cleared each time the DataqSDK control is loaded. In VB when an error occurs do not stop the program - the program must still be running to access the log file (i.e., stay in "debug" mode). For help with your program make sure you copy and email the log file before closing your application.
By using this log file Technical Support can significantly reduce response time to your problem.
Examine the following for a typical log file format:
15:37:33 Constructor
15:37:33 DoPropExchange
15:37:33 ADChannelCount 1
15:37:33 SampleRate 1000.000000
15:37:33 MaxSampleRate 0.000000
15:37:33 EventPoint 0
15:37:33 TrigMode 0
15:37:33 TrigScnChnIdx 0
15:37:33 TrigHysterisisIdx 0
15:37:33 TrigLevel 0
15:37:33 TrigPostLength 0
15:37:33 TrigPreLength 0
15:37:33 TrigSlope 0
15:37:34 SetADChannelCount 4
15:37:34 SetMaxBurstRate= 50000.000000
15:37:34 SetADChannelCount 100.000000
15:37:34 SetEventPoint 20
15:37:34 ADChannelList
15:37:34 [0]= 0
15:37:34 [1]= 1
15:37:34 [2]= 2
15:37:34 [3]= 3
15:37:34 [4]= 4
15:37:34 [5]= 5
15:37:34 [6]= 6
15:37:34 [7]= 7
15:37:34 [8]= 8
15:37:34 [9]= 9
15:37:34 [10]= 10
15:37:34 [11]= 11
15:37:34 [12]= 12
15:37:34 [13]= 13
15:37:34 [14]= 14
15:37:34 [15]= 15
15:37:34 [16]= 16
15:37:34 [17]= 17
15:37:34 [18]= 18
15:37:34 [19]= 19
15:37:34 [20]= 20
15:37:34 [21]= 21
15:37:34 [22]= 22
15:37:34 [23]= 23
15:37:34 [24]= 24
15:37:34 [25]= 25
15:37:34 [26]= 26
15:37:34 [27]= 27
15:37:34 [28]= 28
15:37:34 [29]= 29
15:37:34 [30]= 30
15:37:34 [31]= 31
15:37:34 [32]= 0
15:37:34 ADGainList
15:37:34 [0]= 0
15:37:34 [1]= 0
15:37:34 [2]= 0
15:37:34 [3]= 0
15:37:34 [4]= 0
15:37:34 [5]= 0
15:37:34 [6]= 0
15:37:34 [7]= 0
15:37:34 [8]= 0
15:37:34 [9]= 0
15:37:34 [10]= 0
15:37:34 [11]= 0
15:37:34 [12]= 0
15:37:34 [13]= 0
15:37:34 [14]= 0
15:37:34 [15]= 0
15:37:34 [16]= 0
15:37:34 [17]= 0
15:37:34 [18]= 0
15:37:34 [19]= 0
15:37:34 [20]= 0
15:37:34 [21]= 0
15:37:34 [22]= 0
15:37:34 [23]= 0
15:37:34 [24]= 0
15:37:34 [25]= 0
15:37:34 [26]= 0
15:37:34 [27]= 0
15:37:34 [28]= 0
15:37:34 [29]= 0
15:37:34 [30]= 0
15:37:34 [31]= 0
15:37:34 [32]= 0
15:37:34 ADDiffList
15:37:34 Link2DLL
15:37:34 di809nt.dll
15:37:34 Start
15:37:34 OnCreate
15:37:34 ChangeBoard
15:37:34 DI_CLOSE
15:37:34 DI_OPEN_URL
15:37:34 192.168.1.111
15:37:34 DI_OPEN ok, entering DI_INFO
15:37:34 DI_INFO
15:37:34 DeviceName 720
15:37:34 dDspFrq= 16000000.000000
15:37:34 Starting GetBCInfo
15:37:34 Non BC Priority
15:37:34 Number of Channel: 4
15:37:34 Samplerate: 100
15:37:34 MinBurstCount: 320
15:37:34 Loop: 0
15:37:34 Iteration: 1
15:37:34 Loop: 1
15:37:34 Iteration: 2
15:37:34 GetBCInfo: 320 124
15:37:34 Actual Rate= 100.000000
15:37:34 DI_MODE
15:37:34 DI_BURST_RATE
15:37:34 DI_BUFFER_ALLOC
15:37:34 DI_LIST_LENGTH
15:37:34 Bipolar 0 0
15:37:34 Bipolar 1 1
15:37:34 Bipolar 2 2
15:37:34 Bipolar 3 3
15:37:34 Next: DI_START_SCAN
15:37:34 NewData 48
15:37:34 GetData
15:37:34 SetDigitalOutput 32767
15:37:35 NewData 80
15:37:35 GetData
15:37:35 SetDigitalOutput 0
15:37:35 NewData 80
15:37:35 GetData
15:37:35 SetDigitalOutput 32767
15:37:35 NewData 80
15:37:35 GetData
15:37:35 SetDigitalOutput 0
15:37:35 NewData 80
15:37:35 GetData
15:37:35 SetDigitalOutput 32767
15:37:35 Stop
15:37:38 Disconnect device driver
15:37:38 Done Destructor - How do I add the ActiveX Controls to my project in my chosen programming language or environment?
Click on the links below to view more detailed information about your specific programming language or environment.
Access | C++ | Excel (VBA) and WinDaq/XL | LabView | Linux | MATLAB | MySQL | ODBC | Visual Basic 6.0 | Visual Basic.NET