Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
|
||||
|
Указатель на voidЗдравствуйте, скажите пожалуйста как можно получить уровни напряжений на каналах Е2010В? В примере l7xx.tst, который рекомендуется использовать в руководстве программиста, данные из кольцевого буфера переписываются в файл, сохраняя при этом тип void* (или void**). Указатель на void можно привести к любому типу, но к какому его надо привести, чтобы получить адекватные значения, при пределах измерения +-0,3В? Я посмотрел параметр pointsize, он равен двум байтам? Значит ли это, что void необходимо приводить к целому значению? спасибо |
|||
|
||||
|
Re: Указатель на voidмассив signed short |
|||
|
||||
|
Re: Указатель на voidПеределал преобразование к signed short. Получил следующие значения : Правильно ли я понимаю, что при настроенных пределах измерения +- 0,3 вольта, значению -0,3 вольта соответствует значение -32768, а +0,3 вольта - 32767? В таком случае полученные значения, которые приведены выше означают, что сигнал незначительно колеблется около 0? спасибо |
|||
|
||||
|
Re: Указатель на void+-8192тк ацп 14бит и таки да около нуля |
|||
|
||||
|
Re: Указатель на voidтолько наверное не 8192, а 8000, судя по пункту 3.2.1 документа http://www.lcard.ru/download/e2010_prog … _guide.pdf. Плюс еще калибровку (если нужна) надо либо разрешать на уровне платы, либо вручную делать. |
|||
|
||||
|
Re: Указатель на voidЗдравствуйте, скажите пожалуйста, почему при установленном adcPar.t2.dKadr, равном 0, сбор данных происходит, при значении, отличном от 0 - нет. Настройки привел ниже.
спасибо |
|||
|
||||
|
Re: Указатель на voidотличном от нуля это какое число. Там интервал задается в миллисекундах, а порция 32К. Я проверил сейчас 0.1 - работает. Если числа больше то жадть дольше надо до изменения счетчика... |
|||
|
||||
|
Re: Указатель на voidя испытывал при 5.0. Тогда, при порции 32 К, ждать необходимо около 160 секунд, получается. Я так долго не ждал. Спасибо Вам за ответ - ситуация теперь понятна. Вчера всплыла еще одна. Размер большого буфера у меня получается 1048576, как произведение IrqStep и Pages (32768 * 32). В примере l7xx.tst собираются половинки буфера. Я вчера попробовал собрать целиком весь. В куске кода, который собирает информацию из буфера:
при значении
равном 1048576 (т.е. длине кольцевого буфера), все время крутится цикл ожидания заполнения буфера, переменная s при этом всегда равна 0. При значении halfbuffer, равном 131072 (т.е. ~ в 10 раз меньшем, значение взято произвольным образом как произведение 1024 * 128) цикл ожидания крутится не бесконечно, значение переменной s изменяется, сбор данных вроде бы происходит , но, очевидно не полностью. Скажите пожалуйста можно ли при сборе и обработке данных рассматривать весь буфер целиком, если да, то что я делаю неправильно? спасибо |
|||
|
||||
|
Re: Указатель на voidSergei Alexeev пишет:
Если я правильно понял вопрос, то кольцевой буфер во время потокового сбора данных всегда "занят" - находится в процессе заполнения (идет запись в буфер данных по мере их поступления от АЦП). Советую прочитать статьи FAQ про буферизацию: здесь и здесь. |
|||
|
||||
|
Re: Указатель на voidв примере работа идет половинками буфера. s флаг того какая половинка заполнилась. пределы измененения sync 0 до (1048576-32768). Если хочется однократно заполнить буфер то можно AutoInit в 0 поставить. |
|||
|
||||
|
Re: Указатель на voidЗдравствуйте, скажите пожалуйста, как можно посчитать время заполнения большого кольцевого буфера? Например, как посчитать, за какое время будет заполняться буфер размером 1048576 машинных слов (DWORD)? Известно время между кадрами в миллисекундах, но неизвестно время заполнения одного кадра, содержащего данные по двум каналам. Как заполняется буфер данными, полученными с разных каналов? Из документа http://www.lcard.ru/download/e2010_prog … _guide.pdf я понял, что вперемешку. Т.е. данные первого канала адресуются как data[0], data[2], data[4], data[6], ... ,а второго, соответственно data[1], data[3], data[5], data[7], ... ? с наступающим Новым Годом и Рождеством, спасибо |
|||
|
||||
|
Re: Указатель на voidданные действительно так и лежат. время сбора кадра из частоты опросов каналов выходит которая dRate и количества каналов в кадре |
|||
|
||||
|
Re: Указатель на voidSergei Alexeev пишет:
Если "время между кадрами" - это период кадра, то это одно и то же. Размер буфера в байтах разделить на размер отсчета АЦП (если отсчет 16-битный, то 2) - получится размер буфера в отсчетах. |
|||
|
||||
|
Re: Указатель на voidЗдравствуйте, спасибо Вам за ответ, я это уже реализовал. Скажите, вот еще вопрос - можно ли настроить программно , например структурой ADC_PAR уровни напряжений на входе прибора 0,3В, 1В или 3В? спасибо |
|||
|
||||
|
Re: Указатель на voidв ADC_PAR можно задать программно входной диапазон для канала АЦП через логический номер канала. Но именно таких величин там нет. |
|||
|
||||
|
Re: Указатель на voidа то значение, которое задается вашей программой, оно сохраняется потом при выключении прибора? |
|||
|
||||
|
Re: Указатель на voidнет. |
|||
|
||||
|
Re: Указатель на voidЗдравствуйте, скажите пожалуйста, достаточно ли установить параметр adcPar.t2.NCh = 2 чтобы lcard e2010 регистрировал два канала?
Т.е. правильно ли я понимаю, что при установке adcPar.t2.NCh = 1 прибор регистрирует первый канал в виде:
? А при установке adcPar.t2.NCh = 2 прибор регистрирует данные первого и второго каналов в виде:
- как описано в инструкции к прибору? Какую функцию выполняет тогда параметр
? В документации на прибор этот параметр упомянут как коэффициент усиления входного синала. спасибо |
|||
|
||||
|
Re: Указатель на voidОн формирует кадр для опроса (до 128 каналов ) и задает порядок опроса в этом кадре. Можно опращивать например 1 1 1 2 2 1 1 3 - типа кадр из 8 каналов |
|||
|
||||
|
Re: Указатель на voidЗдравствуйте, спасибо за Ваш ответ. Т.е., если я правильно понял при установкt
получается последовательность
. А какой формируется кадр при следующих установках (когда количество опрашиваемых каналов установлено 2, но в массиве присутсвуют номера 3 и 4 кадра)?
спасибо |
|||
|
||||
|
Re: Указатель на voidNch и задает сколько элементов из таблицы брать для кадра |
|||
|
||||
|
Re: Указатель на voidSergei Alexeev пишет:
Это логический номер канала, для E2010 там номер физического канала (0..3), см. параграф 3.2.3 в e2010_programmers_guide.pdf |
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск