Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
Работа с расписанием на L-CARD Е20-10Здравствуйте, есть вопрос по организации работы с платой по расписанию. Сейчас у нас работа по расписанию с устройством организована так: 1) Подгружаем библиотеку драйвера lcomp.dll 2) Получаем серийный номер устройства. Для этого сканируем слот от 0 до 10 на наличие устройства, когда находим, открываем устройство (OpenLDevice), подгружаем (LoadBios) БИОС в плату, получаем серийный номер, закрываем устройство (CloseLDevice). 3)Загружаем расписание (Например : 5 мин. сбора, 30 сек ожидание, 2 мин сбора и т.д. )
4)Инициализация сбора данных . Здесь мы задаем параметры сбора: вычисляем полное число отсчетов, вычисляем количество блоков, вычисляем размер блока, IrqStep приравниваем к значению размера блока, число (Pages*IrqStep) задаем в 1.5 раза большим чем полное число отсчетов, расчитываем оптимальную частоту дискретизации, открываем устройство(OpenLDevice),загружаем БИОС (LoadBios), вызываем функцию GetSlotParam, затем вызываем функцию ReadPlataDescr, вычисляем размер большого кольцевого буфера, выделяем память под большой кольцевой буфер (RequestBufferStream) используя вычисления предыдущего пункта, грузим на плату параметры оцифровки, вызываем функцию FillDAQparameters, вызываем функцию SetParametersStream, инициализируем внутренние переменные драйвера (InitStartLDevice) 5)Старт сессии, здесь создаем поток, и вызываем функцию StartLDevice() . 6)Стоп сессии, здесь останавливаем сбор данных с платы (StopLDevice), закрываем устройство (CloseLDevice).
|
|||
|
||||
|
Re: Работа с расписанием на L-CARD Е20-10открывать и закрывать устройсто всякий раз не обязательно. открыли загрузил, почитали флеш и дальше можете только перенастраивать сбор. |
|||
|
||||
|
Re: Работа с расписанием на L-CARD Е20-10Кстати, в случае новой прошивки ПЛИС 2.00.8 с максимальным размером кадра 8192 отсчёта сбор данных можно заряжать в режиме на заданное количество кадров (до 16777215 кадров). В этом режиме максимальное время сбора при частоте АЦП 10 МГц (период 100 нс) составит: (8192 отсчётов в кадре)*(16777215 кадров)*(100*10^-9 с)/(3600 cекунд в часе) = 3 часа 49 минут.
|
|||
|
||||
|
Re: Работа с расписанием на L-CARD Е20-10Здравствуйте, спасибо за ответ, исправил алгоритм работы таким образом
1) Подгружаем библиотеку драйвера lcomp.dll 2) Получаем серийный номер устройства. Для этого сканируем слот от 0 до 10 на наличие устройства, когда находим, открываем устройство (OpenLDevice), подгружаем (LoadBios) БИОС в плату, получаем серийный номер. 3)Загружаем расписание (Например : 5 мин. сбора, 30 сек ожидание, 2 мин сбора и т.д. )
4)Инициализация сбора данных . Здесь мы задаем параметры сбора: вычисляем полное число отсчетов, вычисляем количество блоков, вычисляем размер блока, IrqStep приравниваем к значению размера блока, число (Pages*IrqStep) задаем в 1.5 раза большим чем полное число отсчетов, рассчитываем оптимальную частоту дискретизации, вызываем функцию GetSlotParam, затем вызываем функцию ReadPlataDescr, вычисляем размер большого кольцевого буфера, выделяем память под большой кольцевой буфер (RequestBufferStream) используя вычисления предыдущего пункта, грузим на плату параметры оцифровки, вызываем функцию FillDAQparameters, вызываем функцию SetParametersStream, инициализируем внутренние переменные драйвера (InitStartLDevice) 5)Старт сессии, здесь создаем поток, и вызываем функцию StartLDevice() . 6)Стоп сессии, здесь останавливаем сбор данных с платы (StopLDevice).
Теперь проблема в следующем, если выдернуть шнур USB
|
|||
|
||||
|
Re: Работа с расписанием на L-CARD Е20-10Если в процессе сбора данных выдернуть, то падать не должна. Должны просто перестать идти данные. Если модуля нет, то всякие PlataTest,IoAsync и например ReadPlataDescr должны ошибку вернуть. |
Страницы 1
Тема закрыта