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

LTR11: циклический сбор данных

Вы не вошли.

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

14.09.2015 13:15:14
#1

Участник
Откуда: Dubna
Здесь с 23.06.2015
Сообщений: 15

LTR11: циклический сбор данных

Добрый день!
Помогите пожалуйста !
Борюсь с модулем LTR-11.
Задача: по ПЕРИОДИЧЕСКОМУ внешнему сигналу запуска принять от него определенный объем данных
(скажем, 2-хсекундный при максимальной частоте оцифровки с 4-х каналов).
А потом ОСТАНОВИТЬ прием (остановить оцифровку ?) до прихода следующего сигнала запуска.
Интервал между приходами сигнала запуска - довольно большой - порядка > 3 секунд.
Паузу в приеме данных планируется использовать для обработки-отображения полученного.
Отсюда вопросы:
- как можно остановить оцифровку (запереть модуль) АППАРАТНО ?
- Если предыдущее возможно, то как понять с программной стороны что сейчас наступила ПАУЗА в оцифровке,
  и можно заняться обработкой/отображением полученного ?
- как остановить оцифровку (запереть модуль) ПРОГРАММНО ?
  (мысль: рассчитать объем данных исходя из частоты оцифровки и длительности необходимого объема данных.
  Но при этом модуль все равно будет продолжать слать мне оцифрованные данные ? Их просто игнорировать ?)
- как ПРАВИЛЬНЕЕ сделать останов: аппаратно ИЛИ программно ?
- как можно ВОССТАНОВИТЬ оцифровку к приходу следующего сигнала запуска ?
Буду ОЧЕНЬ ПРИЗНАТЕЛЕН за разъяснения моих вопросов (желательно всех) и просто НА СЕДЬМОМ НЕБЕ от счастья за хоть какой-нибудь пример такого взаимодействия ! !

14.09.2015 14:11:27
#2

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: LTR11: циклический сбор данных

Если Вас устраивает точность запуска/останова - до одного периода преобразования АЦП, то, с точки зрения идеологии синхронизации в  LTR, наиболее правильно LTR11 запустить заранее и далее его не останавливать, а периодический внешний сигнал запуска подавать на вход метки синхронизации (DIGIN) крейта LTR-EU, или LTR-CEU, или на вход синхронизации модуля  LTR41-LTR43 в этом же крейте.
А далее, всю синхронную информацию (данные+метки) обработать программно на верхнем уровне.  Этот способ не зависит от программных задержек  запуска/останова аппаратуры и будет работать для любого интерфейса (USB, Ethernet) - лишь бы он трафик передачи данных обеспечивал...

14.09.2015 15:16:11
#3

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

Re: LTR11: циклический сбор данных

С программной точки зрения упомянутый вариант означает, что Вам нужно установить соединение с крейтом модуля, настроить генерацию меток по фронту или спаду внешнего сигнала с помощью LTR_Config() (см. ltrapi.pdf), при этом саму возможность запуска модуля от внешнего сигнала использовать не нужно. Далее при запуске модуля данные будут поступать всегда, Вам же нужно использовать вариант функции Recv() который возвращает помимо слов с данными и значения меток (массив tmark) и отслеживать изменения в этом массиве. Момент останова Вы можете отслеживать как с использованием второго входа синхронизации крейта (т.к. в крейте 2 типа меток - СТАРТ и СЕКУНДА), либо, если нет явного сигнала останова, то использовать посчитанный объем данных за нужный интервал, как Вы упоминали. Т.е. Вы запускаете LTR11 от внутреннего сигнала, затем принимаете данные вместе с tmark и отбрасываете их, пока не найдете изменения счетчика в нужной половине tmrak,  затем принимаете с сохранением либо нужное количество данных, либо до изменения в tmrak счетчика других меток, после чего начинаете отбрасывать снова. Единственное, что программно Вам в этом случае нужно всегда принимать данные, т.е. по-видимому для приема Вам понадобится отдельный поток, а отображение и обработку делать в основном.

Другой вариант - програмно запускать сбор от внешней синхронизации самого модуля LTR11, принимать нужное количество данных, затем останавливать функцией Stop() и далее снова запускать с помощью Start() (опять же от внешнего сигнала, заново конфигурировать модуль не надо). Минусом является, что если Вы не успеете передать команду Start() до прихода внешнего сигнала, то соответственно сбор не начнется до следующего и Вы пропустите один период.

Непосредственно аппаратного варианта останова нет

15.09.2015 13:21:13
#4

Участник
Откуда: Dubna
Здесь с 23.06.2015
Сообщений: 15

Re: LTR11: циклический сбор данных

Большое спасибо за Ваши разъяснения.
Но у меня осталась пара вопросов:
1) С программной точки зрения ПРАВИЛЬНО ЛИ Я ПОНИМАЮ нужный мне принцип работы: я смотрю на метку времени в Recv -> массив tmark -> там биты 16..31. Изменение означает приход очередного внешнего сигнала СТАРТ. После этого я отсчитываю нужное мне к-во данных и их обрабатываю. При этом модуль продолжает "сыпать" данные, которые я отбрасываю, анализируя в tmark биты 16..31. Изменились биты -> пришел очередной СТАРТ -> отсчитываю нужное к-во -> остальное отбрасываю (с анализом) -> и повторяю все снова.
Верно понял ?
2) Настройка работы модуля: от ВНУТРЕННЕГО сигнала. Внешний сигнал я использую только как метку начала приема очередной "порции" данных. Так ?
А то что отображение и прием в разных потоках - ясно и все понятно!
Ну и ВЕЛИКАЯ ПРОСЬБА: а пример такой организации не приведете  (С# пли-и-и-и-з)? Готов подождать, если нужно...
БОЛЬШОЕ СПАСИБО за Ваши пояснения !

15.09.2015 14:28:19
#5

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

Re: LTR11: циклический сбор данных

Да, в общем все так и есть. Кроме того, сигнал внешнего старта физически Вы подключаете не к входу внешнего запуска LTR11, а к входу на разъеме синхронизации крейта. А крейт у Вас собстевенно какой?

Ну пример могу попробовать сделать ближе к концу недели

15.09.2015 15:22:56
#6

Участник
Откуда: Dubna
Здесь с 23.06.2015
Сообщений: 15

Re: LTR11: циклический сбор данных

Еще раз спасибо за разъяснения !
У нас используется портативный крейт LTR-EU-2 (там установлены LTR11 и LTR34). В ближайших планах перейти на полноценный LTR-EU-16, но пока то, что есть...
Да, было бы СУПЕР-ЗДОРОВО получить пример ! Жду с нетерпением ! ! ! ! smile
Попутно позвольте вопросы:
1) а где у LTR-EU-2 есть тот самый "вход на разъеме синхронизации крейта" ? У нас там просто два разъема ELTRA на 37 контактов и вроде все...
2) а платы, что используются в нашем LTR-EU-2 - если из оттуда АККУРАТНО изъять и приделать переднюю евро-панель - можно будет использовать в крейте LTR-EU-16 ? Или они идут для портативных крейтов в принципиально/механически другом исполнении ??
Большое спасибо за Вашу помощь и поддержку ! ! ! ! ! !

15.09.2015 15:52:19
#7

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

Re: LTR11: циклический сбор данных

Разъем синхронизации у EU-2 сзади - рядом с Ethernet (в руководстве пользователя LTR - на рис 3.7 обозначен как SYNC, а на рис. 3-5  расписаны его сигналы),

15.09.2015 16:08:17
#8

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: LTR11: циклический сбор данных

Обратите внимание, что вход синхронизацации крейта LTR-EU не имеет гальванической изоляции.   

Andrei пишет:

2) а платы, что используются в нашем LTR-EU-2 - если из оттуда АККУРАТНО изъять и приделать переднюю евро-панель - можно будет использовать в крейте LTR-EU-16 ? Или они идут для портативных крейтов в принципиально/механически другом исполнении ?

Панель у модуля LTR для установки в крейт LTR-EU-16 - другая.
Вопрос возможного  изменения комплектации крейта и модуля (с докупкой и монтажом нужной панели) решайте с нашим офисом, поскольку этот вопрос имеет отношение  к гарантийным обязательствам, паспорту на крейт и к поверке крейта.

15.09.2015 19:22:22
#9

Участник
Откуда: Dubna
Здесь с 23.06.2015
Сообщений: 15

Re: LTR11: циклический сбор данных

OK, с разъемом все ясно.
Про переделку вопрос был скорее риторический, чем практический. Но все равно: ОГРОМНОЕ СПАСИБО за разъяснения !
С НЕТЕРПЕНИЕМ жду ПРИМЕР ! ! !

17.09.2015 21:13:11
#10

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

Re: LTR11: циклический сбор данных

Выложил пример - можете посмотреть. Для удобства работы с крейтом из C# добавил некоторые функции, также того добавил функцию LTR11_SearchFirstFrame() для поиска начала кадра, поэтому для работы примера нужно поставить новую версию библиотек https://bitbucket.org/lcard/ltr_cross_s … .30.15.exe. Сам пример можно взять тут https://bitbucket.org/lcard/ltr_cross_s … _start.zip

17.09.2015 21:55:01
#11

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: LTR11: циклический сбор данных

Andrei, Вы обычно так сильно благодарите техподдержку,  что я решил рассказать Вам и другим пользователям:  что общеполезного можно сделать в знак благодарности? smile
- Выслать нам краткий материал (короткий текст + фото) с примером применения изделий "Л Кард" в мирных целях и с согласием публикации в  разделе портфолио на нашем сайте. Указанное название Вашей организации сохраним. 
- Написать нам технические  пожелания по развитию программных и аппаратных  возможностей изделий "Л Кард". (В частности, планируется дальнейшее развитие модуля LTR11...)
- Написать пожелания по развитию наших общеполезных ресурсов на сайте FAQ и Терминология - по каким актуальным вопросам не хватает статей? А также, высказать другие пожелания по нашему сайту.

Материалы высылайте на support@lcard.ru
Спасибо.

21.09.2015 10:19:36
#12

Участник
Откуда: Dubna
Здесь с 23.06.2015
Сообщений: 15

Re: LTR11: циклический сбор данных

Что сильно отличает компанию ЛКард от других - так это уважительное отношение к клиентам ! Еще раз спасибо за Вашу поддержку ! Про материалы благодарности - в ближайшее время озабочусь.
Успехов Вашей компании !

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск