Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


e14-440 LCOMP счетчик заполнения буфера

Вы не вошли.

 Поиск | Регистрация | Вход 

Колпаков Александр
12.02.2008 13:02:28
#1

Гость

e14-440 LCOMP счетчик заполнения буфера

Ув Господа!
Решил перевести свою софтину на драйвера LСОМР
Кодю на Дельфи:

var sync:PULONG;
........
pLDev.SetParametersStream(ap.t1, tm, data, Sync,L_STREAM_ADC);
........
if not pLDev.InitStartLDevice = L_SUCCESS
then Form1.Memo1.Lines.Add(' Error Init start ADC !!');
if not pLDev.StartLDevice = L_SUCCESS
then Form1.Memo1.Lines.Add(' Error start ADC !!')
else

while Sync^ < Nsample*4 do begin
  if Terminated then break;

И обнаруживаю что сбор проходит а по адресу
Sync^ - все время 0
приходится просто ждать sleep и выходить
Подскажите как правильно отследить окончание сбора
Заранее благодарю

13.02.2008 11:49:23
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: e14-440 LCOMP счетчик заполнения буфера

пример как работает L7XX.DPR ?

Колпаков Александр
14.02.2008 00:10:15
#3

Гость

Re: e14-440 LCOMP счетчик заполнения буфера

Пример L7XX.DPR работает так же:
SYNC^ всегда 0
Содержимое memo1 см ниже
Вопрос остается в силе - как отследить окончание сбора?
В указанном Вами примере сбор однократный и его окончание не отслеживается.
C уважением Колпаков А

memo1 :
Testing library
Loading library - success.

LoadBios status 0
PlataTest status 0
ReadPlataDescr status 0

Serial Num. 6C547
Board Name E440
Revision я
DSP Type яC218
Quartz 53


Slot parameters
Base - 0000
BaseL - 0000
Mem - 00000000
MemL - 00000000
Type - 30
DSPType - 2185
Irq - 0

Alocated memory size(word) : 100352
Buffer size(word): 32768
Pages: 32
Rate: 200
Sync: 0 0
Sync: 0 0
Sync: 0 0
Sync: 0 0
Sync: 0 0

......

14.02.2008 07:35:35
#4

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: e14-440 LCOMP счетчик заполнения буфера

эээ я думаю что сбор тогда не идет.... возможно надо проверить условия синхронизации в параметрах сбора.... и еще что-то флеш прочитался как то криво..... а без него, в частности без корректной частоты кварца сбора не будет.... L-Graph 2 работает? или сишные примеры...

Колпаков Александр
03.03.2008 15:00:18
#5

Гость

Re: e14-440 LCOMP счетчик заполнения буфера

Здравствуйте Павел.
L-Graph 2 и примеры работают. Собственно и Дельфи пример работает, но только при наличии сигнала на 0 канале. Несмотря на отключенную синхронизацию.
Параметры сбора прилагаю.
Из хелпа не понял что значит покадровая синхронизация ap.t1.SynchroType := 1
Не могли бы Вы помочь?
Заранее спасибо.


ap.t1.s_Type := L_ADC_PARAM;
   ap.t1.AutoInit := 1;
   ap.t1.dRate := 200.0;
   ap.t1.dKadr := 0.0;
   ap.t1.dScale := 0;
   ap.t1.SynchroType := 3;
   ap.t1.SynchroSensitivity := 0;
   ap.t1.SynchroMode := 0;
   ap.t1.AdChannel := 0;
   ap.t1.AdPorog := 0;
   ap.t1.NCh := 4;
   ap.t1.Chn[0] := $0;
   ap.t1.Chn[1] := $1;
   ap.t1.Chn[2] := $2;
   ap.t1.Chn[3] := $3;
   ap.t1.FIFO := FIFO;
   ap.t1.IrqStep := IrqStep;
   ap.t1.Pages := pages;
   ap.t1.IrqEna := 1;
   ap.t1.AdcEna := 1;

04.03.2008 11:17:57
#6

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: e14-440 LCOMP счетчик заполнения буфера

в сишном примере посмотрите, без синхрю будет 0 а не 3 для USB плат...

Колпаков Александр
05.03.2008 15:05:41
#7

Гость

Re: e14-440 LCOMP счетчик заполнения буфера

То-есть - для pci L780:
3- програмный запуск
2 - аналогавая как в хелпе;
Для 14-440
0 - програмный запуск
2 - аналогавая как в хелпе ?
Есть ли отличия в SynchroMode SynchroSensitivity?
Где документированы эти различия по платам?
спасибо.

05.03.2008 16:15:51
#8

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: e14-440 LCOMP счетчик заполнения буфера

там все как в книжках... ну или pdf что на компакте...

Колпаков Александр
06.03.2008 17:08:23
#9

Гость

Re: e14-440 LCOMP счетчик заполнения буфера

Мы (Альконт) покупали у вас безкорпусные 14-440 и последних CD у меня нет - нем огли бы Вы дать ссылку или скинуть на майл доки?
Заранее спасибо.

06.03.2008 22:51:50
#10

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: e14-440 LCOMP счетчик заполнения буфера

так в старых все так же...ничего не менялось

Колпаков Александр
12.03.2008 16:04:51
#11

Гость

Re: e14-440 LCOMP счетчик заполнения буфера

Ув. Павел - ответов в документации и примерах так и не нашел - вопросы прежние:
Мне нужен однократный сбор - т.к. параметры его могут адаптивно меняться.
AutoInit:=0 - стало быть
В этом случае отследить по Sync^ окончание сбора не возможно - т.к. его значение достигает только
PGS*(FIFO-1).
Event (SetParameter) я так понял вообще не работает для E440 или в Дельфи?
На С++ пример с ним а в Дельфи - типа не пошло ?
Типа
ReadEvent := CreateEvent(nil, FALSE, FALSE, nil);
pLDev.SetParameter(L_EVENT_ADC_BUF,ReadEvent);
WaitForSingleObject(ReadEvent, TimeOut)=WAIT_TIMEOUT - всегда
Заранее благодарю

Колпаков Александр
12.03.2008 16:11:40
#12

Гость

Re: e14-440 LCOMP счетчик заполнения буфера

Извиняюсь:
В примере на Деьфи если
AutoInit:=0
Значение Sync^ достигает только (PGS-1)*FIFO
Сбор при этом не окончен как я понимаю ?
Спасибо

12.03.2008 16:45:17
#13

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: e14-440 LCOMP счетчик заполнения буфера

Типа
ReadEvent := CreateEvent(nil, FALSE, FALSE, nil);
pLDev.SetLDeviceEvent(L_EVENT_ADC_BUF,ReadEvent);

WaitForSingleObject(ReadEvent, TimeOut)=WAIT_TIMEOUT
по идее должно работать....

а с (PGS-1) поправлю в новой версии... а так сбор останавливается....

Колпаков Александр
17.03.2008 13:12:11
#14

Гость

Re: e14-440 LCOMP счетчик заполнения буфера

Ув. Павел - тогда вопрос:
Связан ли Event со счетчиком заполнения буфера в драйвере? Т.е. при AutoInit:=0, если Sync^
не доходит до конца - то и видимо и EVENT не будет работать ?
Спасибо.

17.03.2008 16:46:41
#15

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: e14-440 LCOMP счетчик заполнения буфера

должен работать, просто сейчас он последний степ не прибавлял...