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


Первые шаги программирования АЦП...

Вы не вошли.

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

KonstantinK
06.12.2005 10:09:50
#1

Гость

Первые шаги программирования АЦП...

Здравствуйте,
подскажите где можно полулярно почитать о программировании ваших плат (у меня L780B)
Конкретно хочу разьяснить для себя следующее:
О каких отчетах ведется речь.
"USHORT Pages – произведение этих двух параметров IrqStep*Pages задает количество отсчетов которое соберет плата при однократном сборе, но не больше чем 128К отсчетов. При циклическом сборе они игнорируются – буфер всегда 128К."
"USHORT Pages - размер кольцевого буфера в шагах прерываний;"

---
USHORT IrqStep = 1024;//777-777%7; // половинка буфера кратная числу каналов
USHORT FIFO = 1024         ;//
USHORT pages = 32;//
USHORT multi = 64; // - количество половинок кольцевого буфера, которое мы хотим собрать
---
Можно поподробнее, что есть "половинка буфера" и с чем её "едят"?

"USHORT Chn[128] - массив с номерами каналов и усилением на них; описывает порядок опроса каналов;"
Не могли бы объяснить, что ознчает 0x0 и как это определяет порядок опроса.

Подключил к первому каналу 1в, второй заземлил.
меняю параметр ap.t1.Nch с 1-го на 2, и не вижу изменений в измеряемых значениях (printf("/n %d, %d", *sync,*data);).
В обоих случаях выдает эквивалент 1 в.

06.12.2005 11:34:00
#2

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

Re: Первые шаги программирования АЦП...

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

KonstantinK
07.12.2005 10:18:11
#3

Гость

Re: Первые шаги программирования АЦП...

С номером канала разобрался, вроде.
Массив Chn[128] отределяет порядок опроса каналов?
у меня не получается организовать опрос нескольких каналов:
   ap.t1.dRate = 0.001;
   ap.t1.dKadr = 0.0;
   ap.t1.NCh = 2;
   ap.t1.Chn[0] = 0x0;//нулевой канал - 1в.
   ap.t1.Chn[1] = 0x2;//третий канал - закоротка

вывожу на экран:
      printf("/n %d, %d", *sync,*data);
      Sleep(1000);
значение *sync меняется раз в 5 секунд, *data имеет всегда одно и то же значение, соответсвующееподанному напряжению.

я так понял, что возможен только циклический сбор даных в кольевой буфер, однократно считать нельзя?

07.12.2005 10:31:10
#4

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

Re: Первые шаги программирования АЦП...

естественно data всегда одна и та же...это же только превый отсчет в массиве data[0] будет 0 канал а data[1] третий ...
В IoAsync есть функция cxbnsdfybz одиночного отсчета с одного канала... кадра нету...

KonstantinK
07.12.2005 13:22:07
#5

Гость

Re: Первые шаги программирования АЦП...

Спасибо.
Еще один вопросик: gробую выдать сигнал с ЦАП, больше 2.5 вольт (1024) не дает, на 2048 выдает 0.

KonstantinK
07.12.2005 13:43:15
#6

Гость

Re: Первые шаги программирования АЦП...

Конечно, имелся в виду верхний предел - +2047.

07.12.2005 15:21:43
#7

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

Re: Первые шаги программирования АЦП...

пример кода приведите

KonstantinK
07.12.2005 15:49:51
#8

Гость

Re: Первые шаги программирования АЦП...

разобрался.

При завершении программы, почему то не обнуляются значения на ЦАПе.
   pI->StopLDevice();
   pI->CloseLDevice();
   pI->Release();

07.12.2005 16:33:25
#9

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

Re: Первые шаги программирования АЦП...

а с чего им обнуляться?

KonstantinK
07.12.2005 17:11:04
#10

Гость

Re: Первые шаги программирования АЦП...

Занятно, полуается, для того чтоб обнулить выходы нужно: остановить драйвер, записать нули в стректуру DAC, опять запустить плату и снова ее остановить.

Кстати, где можно найти описание того, как правильно записывать данные на выход.
В примере написанно:
for(int i=0;i<2048;i++) data1[i]=((USHORT)(...)&0xFFF)|0x0000;

В АЦП элементы массива отвечают за данные с разных какалов, а тут?

п.с. простите за возможно глупые вопросы, но спрашивать мне больше не у кого sad

08.12.2005 10:10:14
#11

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

Re: Первые шаги программирования АЦП...

тут в данных задается номер канала...

KonstantinK
16.02.2006 11:50:02
#12

Гость

Re: Первые шаги программирования АЦП...

"Try again later", - говорит. sad
Подскажите, что за ошибка.
Появляется при попытке устанвить lcomp на 98 виндовс.

KonstantinK
16.02.2006 12:18:19
#13

Гость

Re: Первые шаги программирования АЦП...

"Try again later", - говорит. sad
Подскажите, что за ошибка.
Появляется при попытке устанвить lcomp на 98 виндовс.