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


использование ADC_Kadr для Delphi

Вы не вошли.

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

Ed
18.08.2009 16:08:08
#1

Гость

использование ADC_Kadr для Delphi

Приведите, пожалуйста пример использования ADC_Kadr для АЦП L-Card E-154 на Delphi.

Моя программа обнаруживает E-154, умеет его запускать и останавливать, но функцию ADC_Kadr(AdcKadr: pShort) не выполняет. Видимо, дело в корректности определения переменной AdcKadr?

Можно ли запускать функцию AdcKadr с частотой работы таймера?

18.08.2009 16:20:37
#2

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

Re: использование ADC_Kadr для Delphi

А что такое "не выполняет"? Выполняет с ошибкой или в AdcKadr.pShort лежит что-то не то?

Вообще-то через USB работать подобным образом можно не быстрее чем 20-30 Гц.

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

Ed
19.08.2009 10:26:16
#3

Гость

Re: использование ADC_Kadr для Delphi

Спасибо за оперативный ответ!

Когда я запускаю if pModule.Adc_Start() then writeln (/'Ok/'), это выполняется (так же как и Stop), а if pModule.Adc_Kadr(AdcKadr) then writeln (/'OK/') игнорируется

Что касается частоты 20-30 Гц, то меня она вполне устраивает. Я работаю с медленными процессами.

Что касается pShort и потоковых функций, то вынужден признать, что я - чайник и не знаю, как работать с переменной AdcKadr: pShort на Delphi, а в "Examples" примеры только на С++.
Прошу Вашей помощи в написании кода программы для AdcKadr.

19.08.2009 11:32:05
#4

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

Re: использование ADC_Kadr для Delphi

А перед вызовом ADC_Kadr Вы вызываете SET_ADC_PARS() для выбора числа опрашиваемых каналов и выбора номеров опрашиваемых каналов?

Ed
19.08.2009 12:56:28
#5

Гость

Re: использование ADC_Kadr для Delphi

Да, Set_Adc_Pars() устанавливаю. Программа пишет ОК в ответ на if pModule.Set_Adc_Pars() then writeln(/'OK/');

Я взял за основу пример ReadData для Delphi, закавычив собственно потоковую функцию ввода массива данных и оставив все, что связано с поиском E-154, проверкой и установкой параметров.

19.08.2009 14:54:13
#6

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

Re: использование ADC_Kadr для Delphi

Хорошо бы вызвать функцию GetLastErrorInfo после неудачного вызова AdcKadr и посмотреть код ошибки.

Ed
19.08.2009 15:09:06
#7

Гость

Re: использование ADC_Kadr для Delphi

Простите, как это сделать?
В примере для ReadData для Delphi, который я взял за основу, функция GetLastErrorInfo не прописана

19.08.2009 18:16:31
#8

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

Re: использование ADC_Kadr для Delphi

А пришлите на support Ваш исходник.

Ed
19.08.2009 19:23:51
#9

Гость

Re: использование ADC_Kadr для Delphi

Исходник выслал

20.08.2009 13:12:22
#10

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

Re: использование ADC_Kadr для Delphi

Исходнки рассмотрели. Чтобы все было OK.
надо Kadr объявить как Kadr : array [0..3] of SHORT;
А в функцию передавать @Kadr. И потом смотреть Kadr[0] и т.п.

Ed
20.08.2009 13:43:54
#11

Гость

Re: использование ADC_Kadr для Delphi

Большое спасибо! Действительно работает!