Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
Е14-140М и lview.dll - не останавливается сбор!В новой lusbapi_e154_e140_e440_e2010_labview.zip в библиотеке lview.dll функция LV_StopRealTimeAdcSampling выдает 0 (не останавливает сбор в реальном времени).При следующем старте, естественно, модуль не обнаруживается и восстановить его можно только горячей перезагрузкой. Проверено на поставляемой Oscillograph.vi - при стопе сбора больше не запускается. Оставил в программе только скелет - все равно не работает. Вернее, работает, но с вероятностью 20%, лучше бы 100% не работала - можно было бы на железо грешить. Подставление функции останова из старой e140_lview.dll не помогает. Автор DLL-ки - срочно отзовись!!! |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!LV_StopRealTimeAdcSampling возвращает 0 в единственном случае - если при сборе данных в реальном времени возникла какая - либо ошибка. Для прояснения ситуации хотелось бы знать следующее:
|
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Спасибо за скорый ответ, может быть сейчас разберемся! 1)Lusbapi.dll - из новейшей lusbapi_e154_e140_e440_e2010_labview.zip, от 31.07.2009, размер 374765. 2) Параметры сбора - какие были, LV_StartRealTimeAdcSampling не ругается, строго 1, переполнения буфера при чтении нет, осциллограммы нормальные, без пропусков в массиве.
|
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!1. Насчет пропусков при работе с Е14-440 я не понял. В чем это выражается?
|
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Попробовал все на другом компе. То же самое. На обоих при запуске Lgraph1 плата определяется как ОК, но тут же появляется сообщение "Floating point division by zero", на этом все стоит. В программе LV (oscillograph.vi) все запускается отлично, но только один раз. Посмотрел: при остановке цикла сбора данных программа зависает на 0 - 5 сек именно в программе LV_GetRealTimeAdcData.vi, а уже потом переходит в окно, где остановка сбора и выдает ошибку остановки. Откуда она знает, что к ней обращаются последний раз, а потом закроют. Мистика. А Lgraph1 по-началу работал с Е140М, правда, я не проверял старт-стоп в одиночном режиме, сразу закрывал. На новом компе сразу отказалась работать под Lgrapg1. И еще: при останове сбора под LV индикуатор на плате тут же перестает мигать, а программа думает еще несколько сек, а потом выдает 0 в модуле останова.
|
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Станислав, какая версия прошивки? Попробуйте обновиться до http://www.lcard.ru/download/e140flash_v304.zip
|
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Станислав, что вы понимаете под остановкой?
Опишите подробней процесс остановки. Должно быть так. При нажатии на кнопку "stop" выполняется LV_StopRealTimeAdcSampling.vi и программа остается в цикле ожидания до нажатия кнопки "start". В цикле ожидания LV_GetRealTimeAdcData.vi естественно не вызывается. |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!В версиях меньше 3.03 был точно такой баг: если во время подачи команды останова не завершены запросы на чтение (сочетание overlapped read + CancelIo *после* ADC_STOP), то при определенном везении можно повесить USB порт устройства. Станислав, прошивайте firmware 3.04, должно спасти. |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!По oscillograph.vi : открыл ее как была - идет сбор данных. Нажимаю на СТОР - остановилась. Нажимаю еще раз на СТАРТ - думает 0 - 3 сек и выдает Can/'t read ADC data, т.е. остановился на фазе сбора данных. Убрал из программы все лишнее, GetData в цикле, при его останове должен сразу пойти на StopRealTime... А сбой, действительно, идет от GetData, но уже без всякого сообщения.
По прошивке: Плату купил несколько дней назад, думаю, там прошивка последняя. А где ее посмотреть? |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Прошил V304 (была302). Программы LV заработали! Правда, LGraph1 все равно ошибку деления выдает, наверное, просто надо переустановить. Сейчас буду тестировать LV.
По буферу USB: считываю 2048 точек на канал, 50 КГц на канал,2 канала, буфер USB 2048. Частота измерений (массивов) 24 Гц - как и должно быть. Уменьшаю буфер в 2 раза - частота падает в 2 раза. При увеличении частоты до 100 КГц/кан буфер приходится увеличивать до 4096. Не хватает скорости USB1.1? А увеличение буфера приводит к увеличению физической задержки измерений? |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Прошивка там на момент наладки и тестирования конкретной партии модулей. Посмотреть версию можно в той же утилите обновления, например. Она сначала пишет, что найдено на борту. |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!USB 1.1 больше мегабайта в секунду, 200 кГц по 2 байта на отсчет дает поток 400K. Если одновременно не идет потоковый вывод на ЦАП на максимальной скорости (800К), то USB не должна быть bottleneck/'ом. Размеры буферов, о которых идет речь, относятся к прикладной программе на labview, здесь точнее ответит Роман. |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Станислав, о каком буфере и каких точках идет речь?
|
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Я считываю массивы 2048 точек по 2-м каналам. Размер buffer size - чем больше, тем надежнее будет вывод без пропуска данных, он сейчас достаточно большой (на Е154 был всего 4096), он на задержку данных не влияет, если я успеваю считывать. Packet size - буфер USB - когда небольшой - USB не успевает поставлять данные в буфер программы, цикл ждет заполнения буфера - частота измерений падает. Гораздо важнее: в Е154 мне приходилось вручную подавать массивы на обработку поочередно с половинок буфера процессора, чтобы поток был непрерывным. Сейчас это все уже внутри реализовано, т.е. с GetData поток непрерывный, правильно? |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Станислав, не пойму - Вы экспериментируете с программой на LabView или пишете на C++ с использованием lusbapi.dll? |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Я не программист, а просто физик. Поэтому работаю только в LV (лицензионная). В С++ ничего не понимаю. Просто беру ваши dll в примерах и пишу программу на LV. |
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Станислав, опишите подробнее свою задачу и программу.
|
|||
|
||||
|
Re: Е14-140М и lview.dll - не останавливается сбор!Пишу свои программы, их уже полсотни. Главное, чтобы драйвера железа были. С вашими сейчас все нормально, спасибо. |
Страницы 1
Тема закрыта