Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
Е-440От МПО им. Румянцева
Другая проблема. Может кто - нибудь объяснить, почему у функции ReadData под Labview (она считывает массив данных из буфера устройства) при частоте ADCRate в 1 кГц и межканальной задержке 1 мс для выдачи порции данных в 1000 слов требуется аж 6- 7 секунд, т.е на это время устройство повисает и вешает все, в том числе и компьютер. Вообще, как быстро выполняется команда ReadData и отчего это зависит. Я сегодня мерял, так при больших частотах ADCRAte скорость выполнения этой команды около полсекунды, что уже плохо для real-time приложений, а при более низких частотах, как я уже писал, эта команда зависает до 6 секунд, что вообще странно. Что это - глюк устройства или так оно и работает? |
|||
|
||||
|
Re: Е-440Здравствуйте!
"...на это время устройство повисает и вешает все, в том числе и компьютер." - скорее всего, Вы выполняете цикл ожидания получения данных в самом CINе, не выходя из него. В этом случае действительно, пока данные не будут получены и, соответственно, в CINе будет крутиться цикл, программа будет "висеть". Именно поэтому в наших примерах в CINе (Wait_CIN) происходит только проверка факта получения данных, а сам цикл ожидания сформирован в LabVIEW, и при этом никаких торможений и зависаний не происходит. Сама функция RedData() выполняется очень быстро, т.к. она только делает запрос на получение данных и тут же завершается. |
|||
|
||||
|
Re: Е-440Да, Александр, спасибо, я уже тоже разобрался. В этой связи не подскажете еще, как все таки работает процесс считывания данных из FIFO? Я запускаю команду WDataRead (кажется, так пишется), задаю количество счттываемых байт 1024 при объеме FIFO 2048. Считываю их с частотой 1024 герц. Данные копятся 1 сек до середины FIFO и моментально (или не совсем моментально - какие временные параметры этого процесса?) считываются в буфер на компьютере. Пока происходит это считывание - что происходит с вновь поступающими данными? Они пишутся в FIFO опять с нулевого адреса вместо передвнных на компьютер, или продолжают писаться по адресам, следующим за 1024 (середины FIFO)?
Спасибо за содействие
|
|||
|
||||
|
Re: Е-440Принцип действия модуля Е440 и низкоуровневые программные вопросы подробно описаны в документе "Модуль Е440.Техническое описание и Руководство программиста" (это касательно того, как заполняется FIFO). В главе 2.4.2 упомянутого Руководства читаем: "После того как первая половинка буфера полностью заполнится готовыми данными с АЦП, дается команда на их передачу в PC (в тоже время НЕ ПРЕКРАЩАЕТСЯ сбор данных во вторую половинку FIFO буфера). После накопления данных во второй половинке FIFO буфера опять дается команда на их передачу в PC и продолжается сбор данных уже в первую половинку. И так до бесконечности по циклу, пока не придет команда из PC на останов работы АЦП."
|
|||
|
||||
|
Re: Е-440Здравствуйте, подключил Е-440 используя имеющийся пример для LabView - все прекрасно работает, но только 4 канала. Нужна помощь в разработке CIN,s, который обслуживал 12 каналов и давал возможность менять коэффициент усиления. Очень прошу помочь! |
|||
|
||||
|
Re: Е-440ну возьмите и исправте CIN с 4 каналов на 12... |
|||
|
||||
|
Re: Е-440Уважаемый Poul, увы, совсем плохо программирую. Пробовал исправить СИ программу, но она в моей оболочке не компилируется - требует дополнительные модули. На этом я все бросил, а сейчас надо. Может, если Вам это не трудно, возмете на себя эту проблему. |
|||
|
||||
|
Re: Е-440а там не надо CIN править надо ему входные параметры изменить с 4 на 12 и массив с номерами соответсвенно не из 4х а из 12.... |
Страницы 1
Тема закрыта