Пн апр 26, 2010 17:43:40
Ср май 12, 2010 10:38:44
Ср май 12, 2010 12:04:25
Ср май 12, 2010 13:21:03
Ср май 12, 2010 23:15:19
Чт май 13, 2010 12:11:10
vsl писал(а):Осцил передо мной, подключаюсь к внутреннему генератору, нажимаю "AUTO" , вижу меандр, выбираю Urms, вижу Urms=139mv, что уже не соответствует действительности, теперь перевожу канал в DC вижу - Urms=96,8mv, опускаю луч вниз на 3 клетки , вижу Urms=179mv, вот такая математика при одном и том же сигнале
Чт май 13, 2010 12:20:32
zuko писал(а):с год назад купил для пробы DSO-2090.
работаем с ним не в качестве осциллографа, а для регистрации некоторых процессов из собственного ПО.
с прилагающейся DLL пришлось хорошенько потрахаться, но так как хацкер, разобрался. языки C++ и Delphi.
прекрасный прибор за свою цену. китайцам и продавцам респект.
так же и для тех же применений работал с AKTAKOM 2-канальным ACK-3116 и 4-канальным ACK-3107. имеется некоторый опыт
у кого вопросы по программированию - могу помочь, в чем то безвозмездно.
обращайтесь на емайл madded-собака-mitm.ru
#!/usr/local/bin/perl
use strict;
use warnings;
use Win32::API;
use Win32::API::Test;
use Win32::API::Callback;
my $devicenum=-1;
my $level= 0 x 1024;
my $data1=0 x 120000;
my $data2=0 x 120000;
Win32::API->Import('SDK2090', 'sdSearchDevice','I','I');
Win32::API->Import('SDK2090', 'sdGetLevel','IP','I');
Win32::API->Import('SDK2090', 'sdSetTriggerAndSampleRate','IIP','I');
Win32::API->Import('SDK2090', 'sdSetFilt','IP','I');
Win32::API->Import('SDK2090', 'sdSetVoltageAndCoupling','IIIIII','I');
Win32::API->Import('SDK2090', 'sdSetOffset','IPIIIP','I');
Win32::API->Import('SDK2090', 'sdGetData','IIIPPPPPPI','I');
Win32::API->Import('SDK2090', 'sdDisplaySampling','IIIIID','D');
Win32::API::Struct->typedef( structControlData => qw{
WORD TriggerSource;
WORD SelectedChannel;
WORD Timebase;
WORD TriggerPosition;
WORD DataLengh;
WORD BufferSize;
WORD isAlt;
});
Win32::API::Struct->typedef( structStateStruct => qw{
WORD Ch1Filt;
WORD Ch2Filt;
WORD TriggerFilt;
WORD TriggerMode;
WORD TriggerSlope;
});
Win32::API::Struct->typedef( structLeversData => qw{
WORD Ch1Position;
WORD Ch2 Position;
WORD Ch1TriggerPosition;
WORD Ch2TriggerPosition;
WORD EXTTriggerPosition;
});
my $CtrlData = Win32::API::Struct->new('structControlData');
my $State = Win32::API::Struct->new('structStateStruct');
my $Levers = Win32::API::Struct->new('structLeversData');
for(my $i=0;$i<4;$i++){
if (sdSearchDevice($i)){
$devicenum=$i;
last;
}
}
if ($devicenum==-1){
die "No device found\n";
}
else {
print "Device found. Device number: $devicenum\n";
}
if (sdGetLevel($devicenum,$level)){
print "Got calibratiom data\n";
#print "$level\n";
}
else {
die "Cannot get calibration data\n";
}
$CtrlData->{TriggerSource}=0;
$CtrlData->{SelectedChannel}=2;
$CtrlData->{Timebase}=16;
$CtrlData->{TriggerPosition}=50;
$CtrlData->{DataLengh}=1;
$CtrlData->{BufferSize}=10;
$CtrlData->{isAlt}=0;
if (sdSetTriggerAndSampleRate($devicenum,0,$CtrlData)){
print "Set Trigger and Sample rate\n";
}
else {
die "Cannot set trigger or/and sample rate\n";
}
$State->{Ch1Filt}=0;
$State->{Ch2Filt}=0;
$State->{TriggerFilt}=0;
$State->{TriggerMode}=0;
$State->{TriggerSlope}=0;
if (sdSetFilt($devicenum, $State)){
print "Set filters and trigger\n";
}
else {
die "Cannot set filter and trigger\n";
}
if(sdSetVoltageAndCoupling($devicenum, 6, 6, 0, 0, 0)){
print "SetVoltageAndCoupling\n";
}
else {
die "Cannot do SetVoltageAndCoupling\n";
}
$Levers->{Ch1Position}=64;
$Levers->{Ch2Position}=192;
$Levers->{Ch1TriggerPosition}=64;
$Levers->{Ch2TriggerPosition}=192;
$Levers->{EXTTriggerPosition}=128;
if (sdSetOffset($devicenum, $Levers, 6, 6, 0, $level)){
print "Set offset\n";
}
else {
die "Cannot set offset\n";
}
while(1){
if (sdGetData($devicenum, 6,6, $data1, $data2, $CtrlData,$State, $Levers,$level,0)){
print "GetData ok\n";
for(my $i=0;$i<10000;$i++){
print ord(substr($data1,$i,1))."\n";
}
}
else {
print "Cannot get data\n";
}
sleep(1);
}
Чт май 13, 2010 13:08:08
Чт май 13, 2010 14:11:31
Чт май 13, 2010 14:41:24
vsl писал(а):попробовал сейчас еще раз, откалибровал, подключил сигнал, все то же самое, при перемещении луча меняется ВСЯ математика , версия 1.56 качал с фирменного сайта, еще вопрос - можно ли каким нибудь редактром сохраненные осцилограммы посмотреть?
Чт май 13, 2010 16:36:11
Чт май 13, 2010 17:12:09
Чт май 13, 2010 20:22:56
Пт май 14, 2010 00:30:57
Пт май 14, 2010 08:28:56
Пт май 14, 2010 09:24:12
Пт май 14, 2010 15:35:58
Пт май 14, 2010 16:07:06
Пт май 14, 2010 16:36:28
vsl писал(а):Мужик сказал, мужик сделал!
Спасибо, прошивку 1.64 получил, проверил, проблема ушла.
Еще раз спасибо!
Да особливо немає за що дякувати
Це ми вибачаємось за спричинені незручності у звязку із поставкою прилада із багом
Пт май 14, 2010 16:42:07