|
|
Programming Language and Components
Visual Studio 2010, where Express version can be downloaded for free
from Microsoft's website, includes
- Visual Basic 2010
- Visual C++ 2010
- Visual C# 2010
DATAQSDK ActiveX
control
Charting ActiveX controls
32 or 64-bit?
Most ActiveXs are 32-bit components, you must select
32-bit code option when using 64-bit compilers. Both 32-bit and 64-bit
Windows runs 32-bit applications properly.
We highly suggest you using DataqSDK.NET
Class if you are starting a new project on products supported by the
class
Screen Capture (The following is the output from Visual Basic 2010 Express Example)
Hardware
Any device supported by DATAQSDK ActiveX Control, which includes:
DI-149, DI-145, DI-148U, DI-154RS, DI-158U/UP, DI-194RS, DI-195B,
DI-710, DI-715B, DI-718B, DI-718Bx, DI-720, DI-722, DI-730, DI-760,
DI-785, DI-788 and DI-5001, Parallel port, USB, RS232 or Ethernet
interface
Project Files Downlad
Visual Basic 2010 DataqSDK Example
Visual C++ 2010 DataqSDK Example
Visual C# 2010 DataqSDK Example
Tutorial
To use ActiveX under Visual Basic
Express
To use ActiveX under Visual C++
Express
To use ActiveX under Visual C#
Express
To use XChart
To use UltimaWaterfall
To use UltimaMeter
To use FFT1024
Feature
Live analog waveform
Waterfall Spectrogram
Live Meters
How to determine Device Driver and Device ID
Some popular devices
- DI-720/730 USB
- DataqSDK DeviceDriver = "DI720NT.DLL"
- DataqSDK DeviceID="0"
- DI-720/730 Ethernet
- DataqSDK DeviceDriver = "DI800NT.DLL"
- DataqSDK DeviceID=<IP Address of the device>
- For example, if 720's IP address is 192.168.0.22, DeviceID="192.168.0.22"
- DI-145
- DataqSDK DeviceDriver = "DI1??NT.DLL", where ?? is the
two-digit Virtual
COM port number for the device
- DataqSDK DeviceID="COM?? 145 9600", where ?? is theVirtual
COM port number for the device
- For example, if DI-145 is connected to Virtual COM 4, DeviceDriver =
"DI104NT.DLL" and DeviceID="COM4 145 9600"
- DI-149
- DataqSDK DeviceDriver = "DI1??NT.DLL", where ?? is the
two-digit Virtual
COM port number for the device
- DataqSDK DeviceID="COM?? 149 38400", where ?? is the Virtual
COM port number for the device
- For example, if DI-149 is connected to Virtual COM 13, DeviceDriver =
"DI113NT.DLL" and DeviceID="COM13 149
38400"
- DI-155
- DataqSDK DeviceDriver = "DI1??NT.DLL", where ?? is the
two-digit Virtual
COM port number for the device
- DataqSDK DeviceID="COM?? 155 38400", where ?? is the Virtual
COM port number for the device
- For example, if DI-155 is connected to Virtual COM 10, DeviceDriver =
"DI110NT.DLL" and DeviceID="COM10 155
38400"
- DI-158
- DataqSDK DeviceDriver = "DI1??NT.DLL", where ?? is the
two-digit Virtual
COM port number for the device
- DataqSDK DeviceID="COM?? 158 38400", where ?? is the Virtual
COM port number for the device
- For example, if DI-158 is connected to Virtual COM 5, DeviceDriver =
"DI105NT.DLL" and DeviceID="COM5 158
38400"
- DI-71x USB
- DataqSDK DeviceDriver = "DI1??NT.DLL", where ?? is the
two-digit COM
port number the device connected to
- DataqSDK DeviceID="COM?? 710 38400", where ?? is the
COM port number
the device connected to
- For example, if DI-718 is connected to COM 8, DeviceDriver =
"DI108NT.DLL" and DeviceID="COM8 718 38400"
- DI-148
- DataqSDK DeviceDriver = "DI1??NT.DLL", where ?? is the
two-digit Virtual
COM port number for the device
- DataqSDK DeviceID="COM?? 148 38400", where ?? is the Virtual
COM port number for the device
- For example, if DI-148 is connected to Virtual COM 3, DeviceDriver =
"DI103NT.DLL" and DeviceID="COM3 148
38400"
- Please refer to this
document for more info
Source Codes
Visual
Basic 2010 Example...
Public Class
Form1
Dim v(,) As
Short
Dim v2(,)
As Short
Private Sub
Button1_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
Start.Click
AxDataqSdk1.DeviceDriver = TextBox1.Text
AxDataqSdk1.DeviceID = TextBox2.Text
AxDataqSdk1.SampleRate = Val(TextBox3.Text)
AxDataqSdk1.ADChannelCount = 1
AxDataqSdk1.EventPoint = 1
AxDataqSdk1.Start()
AxUltimaMeter2.MaxValue = AxDataqSdk1.SampleRate / 2
TextBox3.Text = AxDataqSdk1.SampleRate
Timer1.Interval = 10
Timer1.Enabled = True
Timer2.Interval = 50
Timer2.Enabled = True
End Sub
Private Sub
Button2_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
Button2.Click
AxDataqSdk1.Stop()
Timer1.Enabled = False
Timer2.Enabled = False
End Sub
Private Sub
Timer1_Tick(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
Timer1.Tick
Dim
dTemp As Double
If
AxDataqSdk1.AvailableData > 0 Then
v = AxDataqSdk1.GetData
AxXChart1.Chart(v)
dTemp = Val(v(0, 0))
AxUltimaMeter1.Value = dTemp / 3276.8
End If
End Sub
Private Sub
Form1_Load(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
MyBase.Load
AxUltimaMeter1.MinValue = -10
AxUltimaMeter1.MaxValue = 10
AxUltimaMeter2.MinValue = 0
AxUltimaMeter2.Unit = "Peak
Hz"
AxUltimaWaterfall1.ChartType = ULTIMAWATERFALLLib.enumCharType.uw3D
AxUltimaWaterfall1.ChartDirection =
ULTIMAWATERFALLLib.enumCharDir.uwNSlope
AxUltimaWaterfall1.ScalingMethod =
ULTIMAWATERFALLLib.enumColorScale.uwBGR
End Sub
Private Sub
Timer2_Tick(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
Timer2.Tick
Dim i As
Short
v2 = AxDataqSdk1.GetDataFrame(1024)
For i = 0
To 1023
AxFFT10241.SetWaveformPt(i, v2(0, i))
Next i
AxFFT10241.FFTNow(1024)
AxUltimaWaterfall1.Chart(AxFFT10241.Power)
AxUltimaMeter2.Value = AxUltimaMeter2.MaxValue *
(AxFFT10241.GetPeakIdx() / 512)
End Sub
Private Sub
RadioButton1_CheckedChanged(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
RadioButton1.CheckedChanged
If
Timer1.Enabled Then
AxUltimaWaterfall1.ChartDirection =
ULTIMAWATERFALLLib.enumCharDir.uwB2T
End Sub
Private Sub
CheckBox1_CheckedChanged(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
CheckBox1.CheckedChanged
If
Timer1.Enabled Then
If
CheckBox1.CheckState = CheckState.Checked Then
AxUltimaWaterfall1.ChartType = ULTIMAWATERFALLLib.enumCharType.uw3D
RadioButton6.Enabled = False
RadioButton4.Enabled = False
Else
AxUltimaWaterfall1.ChartType = ULTIMAWATERFALLLib.enumCharType.uw2D
RadioButton6.Enabled = True
RadioButton4.Enabled = True
End If
End If
End Sub
Private Sub
RadioButton6_CheckedChanged(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
RadioButton6.CheckedChanged
If
Timer1.Enabled Then
AxUltimaWaterfall1.ChartDirection =
ULTIMAWATERFALLLib.enumCharDir.uwR2Lx
End Sub
Private Sub
RadioButton2_CheckedChanged(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
RadioButton2.CheckedChanged
If
Timer1.Enabled Then
AxUltimaWaterfall1.ChartDirection =
ULTIMAWATERFALLLib.enumCharDir.uwNSlope
End Sub
Private Sub
RadioButton5_CheckedChanged(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
RadioButton5.CheckedChanged
If
Timer1.Enabled Then
AxUltimaWaterfall1.ChartDirection =
ULTIMAWATERFALLLib.enumCharDir.uwT2B
End Sub
Private Sub
RadioButton3_CheckedChanged(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
RadioButton3.CheckedChanged
If
Timer1.Enabled Then
AxUltimaWaterfall1.ChartDirection =
ULTIMAWATERFALLLib.enumCharDir.uwSlope
End Sub
Private Sub
RadioButton4_CheckedChanged(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
RadioButton4.CheckedChanged
If
Timer1.Enabled Then
AxUltimaWaterfall1.ChartDirection =
ULTIMAWATERFALLLib.enumCharDir.uwR2L
End Sub
End Class
Visual C++ 2010 Example...
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <vcclr.h>
...
private : System::Void
button1_Click(System::Object^ sender, System::EventArgs^ e) {
axDataqSdk1->DeviceDriver=textBox1->Text;
axDataqSdk1->DeviceID=textBox2->Text;
axUltimaMeter1->MaxValue=10;
axUltimaMeter1->MinValue=-10;
axDataqSdk1->SampleRate=Double::Parse(textBox3->Text);
axUltimaWaterfall1->ChartType=ULTIMAWATERFALLLib::enumCharType::uw3D;
axUltimaWaterfall1->ChartDirection=ULTIMAWATERFALLLib::enumCharDir::uwSlope;
axDataqSdk1->EventPoint=1;
timer1->Interval=10;
timer1->Enabled=1;
timer2->Interval=50;
timer2->Enabled=1;
axDataqSdk1->Start();
}
private : System::Void
button2_Click(System::Object^ sender, System::EventArgs^ e) {
timer1->Enabled=0;
timer2->Enabled=0;
axDataqSdk1->Stop();
}
private : System::Void
timer1_Tick(System::Object^ sender, System::EventArgs^ e) {
if
(axDataqSdk1->AvailableData >0){
array<Int16,
2>^ Data = (array<Int16,
2>^)axDataqSdk1->GetData();
axXChart1->Chart(Data);
axUltimaMeter1->Value=( double)Data[0,0]/3276.8;
}
}
private : System::Void
axDataqSdk1_ControlError(System::Object^ sender,
AxDATAQSDKLib::_DDataqSdkEvents_ControlErrorEvent^ e) {
timer1->Enabled=0;
timer2->Enabled=0;
}
private : System::Void
timer2_Tick(System::Object^ sender, System::EventArgs^ e) {
array<Int16,
2>^ Data2 = (array<Int16,
2>^)axDataqSdk1->GetDataFrame(1024);
int i;
for (i=0;
i<1024; i++){
axFFT10242->SetWaveformPt(i,( double)Data2[0,i]);
}
axFFT10242->FFTNow(1024);
axUltimaWaterfall1->Chart(axFFT10242->Power());
}
Visual C# 2010 Example...
.....
private void
button1_Click(object
sender, EventArgs
e)
{
axDataqSdk1.DeviceDriver=textBox1.Text;
axDataqSdk1.DeviceID=textBox2.Text;
axUltimaMeter1.MaxValue=10;
axUltimaMeter1.MinValue=-10;
axDataqSdk1.SampleRate=Convert.ToDouble(textBox3.Text);
axUltimaWaterfall1.ChartType = ULTIMAWATERFALLLib.enumCharType.uw3D;
axUltimaWaterfall1.ChartDirection = ULTIMAWATERFALLLib.enumCharDir.uwSlope;
axDataqSdk1.EventPoint=1;
timer1.Interval=10;
timer1.Enabled = true;
timer2.Interval=50;
timer2.Enabled = true;
axDataqSdk1.Start();
}
private void
button2_Click(object
sender, EventArgs
e)
{
timer1.Enabled = false;
timer2.Enabled = false;
axDataqSdk1.Stop();
}
private void
timer1_Tick(object
sender, EventArgs
e)
{
if
(axDataqSdk1.AvailableData > 0)
{
object V;
short[,]
intArray;
V = axDataqSdk1.GetData();
axXChart1.Chart(V);
intArray = (short[,])V;
axUltimaMeter1.Value = intArray[0, 0]/3276.8;
}
}
private void
timer2_Tick(object
sender, EventArgs
e)
{
object V;
short[,]
intArray;
short i;
V = axDataqSdk1.GetDataFrame(1024);
intArray = (short[,])V;
for (i=0; i<1024;
i++){
axFFT10241.SetWaveformPt(i, intArray[0, i]);
}
axFFT10241.FFTNow(1024);
axUltimaWaterfall1.Chart(axFFT10241.Power());
}
private void
axDataqSdk1_ControlError(object
sender, AxDATAQSDKLib._DDataqSdkEvents_ControlErrorEvent e)
{
timer1.Enabled = false;
timer2.Enabled = false;
axDataqSdk1.Stop();
MessageBox.Show("Error: Please
check DeviceDriver and DeviceID");
}
Last update: 11/18/16
© www.ultimaserial.com
|