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


L783

Вы не вошли.

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

Алексей
11.03.2010 11:03:02
#1

Гость

L783

Добрый день! Подскажите пожалуйста! В LGraph есть возможность менять ВРЕМЯ/ДЕЛЕНИЯ. Какой параметр надо менять в своей программе, чтобы управлять этим свойством?

11.03.2010 11:11:28
#2

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

Re: L783

Частоту дискретизации и межкадровый интервал нуи количествао точек.

Алексей
11.03.2010 11:42:47
#3

Гость

Re: L783

я Вас правильно понял:
ap.t1.dRate := 1000; - частота
ap.t1.dKadr := 0; - интервал.
а количество точек - это сколько выводится точек на график?
Если это та частота, то мне нельзя ее менять!

11.03.2010 11:54:46
#4

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: L783

Но Вы же можете выводить на экран не каждый считанный отсчет, а один из N или некую функцию (среднее, максимум и т.д.) из N последовательных отсчетов.

Алексей
11.03.2010 12:32:13
#5

Гость

Re: L783

а я вывожу на экран массив данных из буфера:
For Ti := 0 to FIFO do
begin
Form1.Chart1.SeriesList[0].AddXY(Ti,Unit1.data2[Ti],//'//',clGreen);
end;
но это только один кадр. Скажем, у меня есть сигнал, который занимает 80 кадров, так вот его я уже не могу посмотреть! но в LGraph - легко!

11.03.2010 13:20:02
#6

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

Re: L783

Почему до FIFO то? собираете Вы IrqStep*pages данных...если IrqStep=FIFO то FIFO*pages данных. Вот и выводит их все...

Алексей
11.03.2010 13:46:13
#7

Гость

Re: L783

эту ошибку я понял. Но, это только один кадр! А если мне надо посмотреть 80? Извините за может быть глупые вопросы, просто я никак не могу разобраться толком в Вашем описании к карте и исходниках на С.
Например, я не понимаю вот эту строчку:   ULONG fl2,fl1 = fl2 = (*sync<=halfbuffer)? 0:1;
что это за флаги? как в Дельфи посмотреть значение:*sync?

11.03.2010 14:14:39
#8

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

Re: L783

Там же естьпример дельфевый где sync печатается...  А строчка означает
if (значение <= halfbuffer) fl1 = 0 fl2=0;
else fl1=1 fl2=1
эти флаги сигнализируют в какой половине буфера данные уже готовы...

Алексей
11.03.2010 14:27:48
#9

Гость

Re: L783

спасибо за консультацию и терпение!

Алексей
12.03.2010 10:27:29
#10

Гость

Re: L783

Я все сделал по вашему рецепту, но у меня так и не получается вывести на экран 80 кадров. Мало того, я уверен, что и читает АЦП не правильно!!!!

//Выставляем флаги
halfbuffer := Unit1.FIFO*pages/2;
if sync^<=Round(halfbuffer) then
begin
fl1:= 0;
fl2:= 0;
end
else
begin
fl1:= 1;
fl2:= 1;
end;
while(fl2=fl1)do // Ждем заполнения половинки буфера
begin
    if sync^<=Round(halfbuffer) then
  fl2 := 0
  else fl2 := 1;
if terminated then exit;
end;
//
assignfile(f, //'1.txt//');
Append(f);
//
Form1.series1.Clear;
For Ti := 0 to unit1.FIFO*2 do
begin
Form1.Chart1.SeriesList[0].AddXY(Ti,Unit1.data2[Ti],//'//',clGreen);
// Запись в файл
if Form1.CheckBox1.Checked then writeln(f, data2[Ti]);
end;
CloseFile(f);
if sync^<=Round(halfbuffer) then
  fl1 := 0
else
  fl1 := 1;
end;

Алексей
12.03.2010 10:36:03
#11

Гость

Re: L783

Зарядка АЦП:
   ff := 3;
   FIFO := 1800*ff;
//АЦП
   ap.t1.s_Type := L_ADC_PARAM;
   ap.t1.AutoInit := 1;
   ap.t1.dRate := 1000;
   ap.t1.Rate := 0;
   ap.t1.dKadr := 0;
   ap.t1.SynchroType := 1;
   ap.t1.SynchroSensitivity := 0;
   ap.t1.SynchroMode := 0;
   ap.t1.AdChannel := 0;
   ap.t1.AdPorog := 0;
   ap.t1.NCh := 1;
   ap.t1.Chn[0] := 0;
   ap.t1.FIFO := FIFO;
   ap.t1.IrqStep := FIFO;
   ap.t1.Pages := 2;
   ap.t1.IrqEna := 1;
   ap.t1.AdcEna := 1;
//
   SYNCHRO :=  Round(FIFO/ff);//Делить на количество кадров!!!!
   PlDev.PutWord_DM(L_SYNCHRO_NKADROV_PLX, SYNCHRO);  //Количество отсчетов АЦП за один раз
//
   pLDev.FillDAQparameters(ap.t1);
   tm := 10000000;
   pLDev.RequestBufferStream(tm,L_STREAM_ADC);
   pLDev.SetParametersStream(ap.t1, tm, data2, sync,L_STREAM_ADC);

12.03.2010 11:57:51
#12

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

Re: L783

А чего Pages 2 а не 80? Ну и буферв RequsetBuffer должен быть соответствующий... Да и на такой скорости с 2 Pages ничего разумного не выйдет....

Алексей
12.03.2010 12:15:09
#13

Гость

Re: L783

что значит: буферв RequsetBuffer должен быть соответствующий?
это какой в данном случае?
а каким должен быть Pages на такой скорости, чтобы получилось разумное? мне показалось, что чем меньше, тем быстрее работает АЦП.

12.03.2010 13:04:43
#14

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

Re: L783

ацп работает на 1 мгц, если FIFO это один кадр а хочется 80 то надо буфер 80*FIFO отсчетов. С запасом 100. ТОгда в Requset задать 100*FIFO. Если сбор однократный тождать пока synс до конца добежит, а если цикличекий длительный то ждать например до половины и потом обрабатывать ... Ну и ap задавать Pages = 80....

Алексей
16.03.2010 12:29:50
#15

Гость

Re: L783

Добрый день! Я совсем завис с решением своей задачи! Только Вы можете подсказать мне выход! Можно я Вам на почту кину проект и описание сигналов, которые необходимо читать и выдавать? Может Вы объясните мою ошибку!!

16.03.2010 12:46:14
#16

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

Re: L783

Ну пришлите...попробую объяснить ошибки...

Алексей
16.03.2010 12:58:38
#17

Гость

Re: L783

отправил

Алексей
16.03.2010 13:54:26
#18

Гость

Re: L783

спасибо за ответ! я направил Сергею письмо.

Алексей
17.03.2010 10:24:10
#19

Гость

Re: L783

Добрый день! я вчера отправлял письмо Тихомирову Сергею, можно узнать, что мне ждать или не ждать в принципе?

17.03.2010 11:06:51
#20

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,495

Re: L783

Письмо ушло вчера в 18:25.
Если нужно - могу продублировать.

Алексей
17.03.2010 11:10:55
#21

Гость

Re: L783

продублируйте, пожалуйста, я не получил его

Алексей
17.03.2010 11:12:13
#22

Гость

Re: L783

а, все нашел!!

Алексей
17.03.2010 11:16:21
#23

Гость

Re: L783

чтобы было понятнее, я Вам прикреплю в письме картинку для наглядности.

Алексей
17.03.2010 11:25:37
#24

Гость

Re: L783

письмо отправил

Алексей
19.03.2010 11:36:42
#25

Гость

Re: L783

письмо дошло?