Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
|
||||
|
Помогите с пониманием времени опросовЯ сейчас работаю с LTR 114. Мне нужно получать теги (имя+время+значение) и сбрасывать их потоком на диск. В настоящее время алгоритм упрощен - я читаю с крейта 1 фрейм, после LTR114_ProcessData я беру локальное время компьютера как время фрейма (т.е. все параметры фрейма имеют это время). Я читаю параметры фрейма и формирую таги. Тут возникает вопрос - с какой _максимальной_ частотой может вызываться LTR114_Recv для чтения одного кадра? Нужно ли ставить задержки? У меня есть подозрение что нужно. Второй вариант - это когда LTR114_Recv читает за раз много фреймов. Но как мне получить времена каждого фрейма? Как я понимаю, вренные метки служат совсем для другого и помочь не могут, да время на крейте не устанавливается. Пожалуйства проясните ситуацию. |
|||
|
||||
|
Re: Помогите с пониманием времени опросовПосле того, как Вы запустили сбор данных, модуль сам начинает собирать с заданной частотой на канал. Задержка между кадром соответствует установленной межкадровой задержке (в периодах измерения), которая может быть нулевой. Т.е. если сбор идет например на 4 КГц, то одно измерение = 0.25 мс, если у Вас допустим кадр из 4 каналов, то первому соответствует сдвиг 0, второму 0.25, 3 - 0.5, 4 - 0.75. А первому каналу второго кадра - 1 мс (если без задержки) и т.д. Т.е. в любом случае, если как-то привязать время первого отсчета, то дальше период следования отсчетов Вы знаете (с точностью для частоты генератора крейта - правда если измерения длительные, то за счет отклонение со временем без синхронизации это время будет разбегаться). При этом совершенно не важно, принимаете Вы данные по одному кадру или по несколько. По сути модуль всегда их передает в ПК со скоростью измерения, а с помощью LTR114_Recv() Вы только их откачиваете из буфера. Между LTR114_Recv() задержки ставить не обязательно, если конечно для Recv() задан соответствующий таймаут (иначе к истечению таймаута могут не прийти все данные в буфер). Также Recv() нельзя вызывать слишком медленно, т.к. если Вы будете принимать реже, чем данные поступают, то количество данных в очереди будет постоянно расти. |
|||
|
||||
|
Re: Помогите с пониманием времени опросовОбщие принципы оптимизации Real-Time задач для LTR: http://www.lcard.ru/support/faq/ltr_rt_prog_optimize |
|||
|
||||
|
Re: Помогите с пониманием времени опросовАлексей L Card пишет:
Т.е. я так понимаю, что нет особого смысла заморачиваться считыванием фреймов блоками? На скорость это не влияет? |
|||
|
||||
|
Re: Помогите с пониманием времени опросовНу только с той стороны, что если скорость фреймов большая, то очень частый вызов функции на прием каждого фрейма может слишком много потреблять ресурсов ПК. С другой стороны LTR114 все не такую большую скорость имеет. |
|||
|
||||
|
Re: Помогите с пониманием времени опросовВидимо покадровое чтение делать нельзя из-за отсутствия гарантии, что в FIFO что-то есть. Он так же может переполнится. Если буфер стал через некоторое время пустым, то будем читать нули. Т.е. видимо стратегия быстрой записи должна быть видимо такая: |
|||
|
||||
|
Re: Помогите с пониманием времени опросовЕсли в буфере меньше данных, чем запрашивается, то Recv ждет данные в течение указанного таймаута. Если они не пришли и за таймаут, то принимаются не все слова, при этом Recv всегда возвращает кол-во принятых слов. |
|||
|
||||
|
Re: Помогите с пониманием времени опросовВ функции LTR114_Recv в случае запроса блока фреймов - как узнать, сколько фреймов за раз я могу запросить? |
|||
|
||||
|
Re: Помогите с пониманием времени опросовНу запросить то Вы можете сколько угодно. А сколько она вернет, можно узнать только после вызова, проверив возвращенное значение. Узнать заранее, не вычитывая данные, сколько слов в буфере нельзя |
|||
|
||||
|
Re: Помогите с пониманием времени опросовИспытываю непонятную проблему. Все упростил до теста, но все равно не пойму в чем дело. Тест простой - каждаю секунду срабатывает таймер и я пытаюсь прочитать пять фреймов. Делитель 1600, дискредитация 5 Гц (стало быть 5 фреймов в секунду). На входе первого канала +4.9V. Сначала все читает нормально. Потом значения начинают уменьшаться и падают до нулевого шума. ▼Скрытый текст А вот код функции таймера ▼Скрытый текст |
|||
|
||||
|
Re: Помогите с пониманием времени опросовПодобное "уплывание" показаний возможно при ошибках подключения. Например, типично забывают подключить AGND при измерении напряжения, либо подключают X и GND и забывают про Y.... Дифференцильный вход напряжения LTR114 всегда требует 3-точечного подключения. Об этом и в руководстве сказано... A что за источники сигналов, и как к ним подключаетесь? |
|||
|
||||
|
Re: Помогите с пониманием времени опросовСорри небольшая ошибочка (которая не меняет вопроса, так как параметр 1) Нужно было PS: Я так понял, что на форуме я не могу поправить свое сообщение? |
|||
|
||||
|
Re: Помогите с пониманием времени опросовЭлектронщики дали мне раъём (см картинку). От источника питания он подключен двумя проводами (от + и -) Насколько я понимаю мне нужно третий провод от "земли" источника напряжения к пину AGRD на раъеме модульного входа? |
|||
|
||||
|
Re: Помогите с пониманием времени опросовСоедините "-" c AGND. |
|||
|
||||
|
Re: Помогите с пониманием времени опросовГарманов Александр пишет:
Да, помогло, спасибо. |
|||
|
||||
|
Re: Помогите с пониманием времени опросовПри изучении LTR27 в документации не нашел описания как задать частоту дискретизации каналов. В примере из документации есть без объяснения: Можно по подробнее? Например я хочу 10 Гц на канал (8 мезонинов заполнены) |
|||
|
||||
|
Re: Помогите с пониманием времени опросовSorry, в документации информация о LTR 27 есть, не заметил с первого раза. |
|||
|
||||
|
Re: Помогите с пониманием времени опросов Все таки хочу уточнить моё понимание LTR27. И так на нем 8 мезонинов по два канала. Выбираем частоту дискретизации 100 Гц ( ltr27.FrequencyDivisor=9;) |
|||
|
||||
|
Re: Помогите с пониманием времени опросовalexko пишет:
Поскольку в LTR27 - параллельные каналы (без коммутатора), то частота дискретизации не делится между каналами, и в Вашем случае частота дискретизации 100 Гц будет у каждого канала. |
|||
|
||||
|
Re: Помогите с пониманием времени опросовВстретил пример на Билдере для LTR11 где встретилась функция LTR11_CreateLChannel Во всех ltrapi11.pdf которые у меня есть описания этой функции нет. По примеру конечно понятно что дифференциальный режим это mode=0; С общим нулем mode=1 И т.д. /* диапазон - 10В, режим - 16-канальный, физический канал - 4 */ |
|||
|
||||
|
Re: Помогите с пониманием времени опросовИзначально логические каналы настраивались ручной установкой битов слова логической таблицы, в соответствии с форматом, описанным в ltr11api.pdf. Т.к. этот способ не очень удобен и выглядит, как Вы же сами написали, несколько "магическим", то для удобства была добавлена уже позже функция LTR11_CreateLChannel(), которая сама формирует слово логического канала по заданным на входе параметрам (выполняя внутри себя эту "магическую" операцию). Коды режимов/диапазонов также можно посмотреть по определениям LTR11_CHMODE_ и LTR11_CHRANGE_ в ltr11api.h. Соответственно этот новый более удобный способ используется и в примерах, которые были обновлены. К сожалению документация пока не обновлена и в ней эта вспомогательная функция отсутствует, как и вторая введенная позже вспомогательная функция LTR11_FindAdcFreqParams() |
|||
|
||||
|
Re: Помогите с пониманием времени опросовАлексей L Card пишет:
В принципе я вроде понял. Вот к примеру отрывок из моего ini файла c настройками слота LTR11: ▼Скрытый текст |
|||
|
||||
|
Re: Помогите с пониманием времени опросовЗдравствуйте, приобреталась ваша продукция, установка измерительная LTR-27 (LTR-EU-2-5) №2D563614 2012 г. |
|||
|
||||
|
Re: Помогите с пониманием времени опросовАндрей78 пишет:
Здравствуйте. В руководстве пользователя http://www.lcard.ru/download/ltr.pdf имеется информация и по подключению, и по устройству LTR. |
|||
|
||||
|
Re: Помогите с пониманием времени опросовLTR-27 (LTR-EU-2-5) нужен ли субмодуль H-27x для подключения термопар или можно обойтись без него? |
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск