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


E14-140 Вопрос по функции ADC_KADR

Вы не вошли.

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

nick
16.07.2007 11:28:50
#1

Гость

E14-140 Вопрос по функции ADC_KADR

Здравствуйте, для начала поблагодарю
тех, кто помогал мне на старте E14-140 (Германов, etc..) и мои полож. оценки модуля сохранились

E14-140 Вопрос по функции ADC_KADR

Мне нужен был медленный канал ввода данных (до десяти точек в секунду и много менее), я ипользовал ADC_SAMPLE в цикле с задержкой по таймеру. Теперь нужна бо'льшая скорость, в цикл сбора данных включил ADC_KADR согласно с примером на СД от LCADR (таймер убрал), настройки сохранил из примера частота дискретизации АЦП модуля = 100 кГц
adc_pars.AdcRate:=100.0 и межкадровой задержки - 2 периода дискретизации adc_pars.InterKadrDelay:=2.0/adc_pars.AdcRate

Вот график с первого АЦП (снимаю 100 точек)
http://photoman.artspb.com/archive/Clip.jpg

ВОПРОС 1 (прошу прощения за наивность): можно грубо оценить - время между двумя точками???

ВОПРОС 2 Если нужно его (интервал) удвоить, скажем, то что менять, снизить вдвое частоту или удвоить межкадровую задержки?? (снимаю кадры)

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

Потребность: снять развертку управляющего сигнала с ручки пульта инфрокрасного управления через ИК фотодиод (для перехвата управления компом).

В ЗАКЛЮЧЕНИЕ
В системе управления тепличкой (первое применение)
http://artspb.com/articles/robots01.htm
http://photoman.artspb.com/archive/Clip2.jpg
http://photoman.artspb.com/archive/Clip3.jpg
потребовалась гальваноразвязка E14-140 (обсуждаемая здесь и мною ранее), так как сигнал от выключаемого микронасоса проходил по сети и выключал модуль (при плохой сети, не помогают сетевые фильтры, пилоты и т.д.). Видел в FAQ инфо по спец. USB хаб. По моему опыту - помогает развязать блок питания. У лоптопа такой проблемы с отключающимся USB АЦП нет. 

Спасибо.

17.07.2007 10:55:34
#2

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

Re: E14-140 Вопрос по функции ADC_KADR

1. Можно, например, попробовать запользовать WinAPI функцию GetTickCount().
2. При выполнении функции ADC_KADR() параметр межкадровой задержки просто игнорируется. Для увеличения интервала, попробуйте запользовать WinAPI функцию Sleep().

nick
17.07.2007 13:13:19
#3

Гость

Re: E14-140 Вопрос по функции ADC_KADR

Спасибо. Есть еще путь - внешний тестовый генератор, возможно, его использую, пока нет под рукой.

То что игнорируется задержка - да, это заметно. Несколько неожиданно то, что ADC_KADR() не имеет простого регулирования интервала (в самом вызове). Частота дискретизации АЦП модуля = 100 кГц тоже, выходит, малоосмысленный к изменеию параметр? Мне не удавалось "затянуть" процесс ее изменением тоже.

Но тогда выходит, в цикле ADC_KADR() выполняется со скоростью - которую сложно прогнозировать. Таймер Delphi у меня занят служебными задачами. Sleep() не использовал, не совсем понимаю, как ее вызвать - прежде в паскаль под дос была удобная функция задержки delay(величина). Там бы было просто все smile

nick
17.07.2007 22:39:40
#4

Гость

Re: E14-140 Вопрос по функции ADC_KADR

Спасибо Сергею персонально - замечание помогло. Все получилось (по видимости) с 2) Для задержки использовал таки таймер Дельфи при организации регулируемого по времени цикла.

PS
Пока не сравнивал быстродействие ADC_KADR() в сравнении с использованием ADC_SAMPLE(). Не факт, что будет работать быстрее, хотя старт по порогу удобен для исследования самплов ИК-передатчиков (перехват управления при достаточно высокой частоте модуляции сигнала). Есть, конечно, готовые устройства, но мне нужен интегрированный софт, с LCARD.

nick
23.07.2007 07:57:48
#5

Гость

Re: E14-140 Вопрос по функции ADC_KADR

2. Для увеличения интервала, попробуйте запользовать WinAPI функцию Sleep().

Работает (вызывается из Delphi). По факту: KADR вытягивает измерения уже при Sleep(1), предусмотренный там режим с порогом оказался далеким от функции "ждущего осциллографа" (что мне было бы удобнее), SAMPLE дал осмысленные (сходные) результаты при Sleep(10), причем процесс снял "более гладко" (чем KADR, где точки несколько "гуляют").