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

Форум

Вы не вошли.

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

#1 Re: Техническая поддержка » TEDS и C# » 21.10.2020 01:44:30

Модуль открыт успешно. Информация о модуле:
  Название модуля  = LTR25
  Серийный номер   = 5T362663
  Версия FPGA      = 11
  Версия PLD       = 1
  Ревизия платы    = 1
  Темп. диапазон   = Коммерческий
Узел TEDS канала 3:
   Тип микросхемы     = EEPROM_1K
   Размер памяти      = 128
   Размер данных TEDS = 124
Не удалось прочитать память узла TEDS. Ошибка LTR25_ERR_TEDS_DATA_CRC: Неверное значение контрольной суммы в прочитанных данных TEDS

tedsdata.bin: https://www.lcard.ru/forums/img/members … ata_bin.7z

#2 Re: Техническая поддержка » TEDS и C# » 16.10.2020 22:48:21

К сожалению не получается прочесть данные.

SetSensorsPowerMode(ltr25api.SensorsPowerModes.TEDS); //OK
//для кажого канала
TEDSNodeDetect(i, out TEDS_NODE_INFO devinfo); //OK
// в структуре: {Valid=true, DevFamilyCode=EEPROM_1K}

// а вот чтение
TEDSReadData() //LTR25_ERR_TEDS_DATA_CRC 
//прочитанно пишет 31 байт, но массив постой

Что-то не сошлась контрольная сумма (LTR25_ERR_TEDS_DATA_CRC ).
На Ltr25 используется АКСЕЛЕРОМЕТР ВС 110: https://zetlab.com/shop/datchiki/aksele … tr-vs-110/

#3 Техническая поддержка » TEDS и C# » 15.10.2020 23:12:51

Anton
Ответов: 6

Добрый день!
Разрабатываю приложение на C# и для взаимодействия с крейтами использую бибоиотеку ltrModulesNet.dll.
При работе с Ltr25 мне понадобилось добраться до данных TEDS. Метод TEDSReadData позволяет считать массив байт.
Вопрос: как этот массив байт обработать? Нашел описание библиотеки ltedsapi.dll которая поидее должна решить мои проблемы , но в ltrModulesNet.dll ничего похожего не нашел. Для ltedsapi.dll есть C# вариант?

С уважением, Антон.

#4 Re: Техническая поддержка » Lrt25 нулевые данные про сборе. » 18.02.2018 21:52:22

Всем добрый день.
Прошу прощения, эксперименты и скриншоты ранее сделать не удалось, разбирался с Windows 10.
Сейчас, после обновления системы, проблема не воспроизводится и все отрабатывает корректно.
Видимо, проблема была на уровне ОС, но в чем именно - не ясно. В любом случае сейчас данные приходят.
Всем спасибо!

PS: тему можно удалить как не состоятельную.

#5 Re: Техническая поддержка » Lrt25 нулевые данные про сборе. » 14.02.2018 17:36:58

Хорошо, вечером скриншоты сделаю..

Anton пишет:

В качестве примера использую http://www.lcard.ru/download/examples/l … api_cs.zip

Но я использовал исходный пример в котором задал номер слота, указал частоту 78КГц и включил 3й канал к которому подключен гидрофон. Позже увеличивал значение RECV_BLOCK_CNT до 50 чтобы дождаться данных.

#6 Re: Техническая поддержка » Lrt25 нулевые данные про сборе. » 13.02.2018 18:56:24

Алексей L Card пишет:

Здравствуйте.
Приходят именно нулевые данные (значение ровно ноль) или какие-то переменные значения в районе нуля? ch_status при этом в примере получаете в это время ltr25api.ChStatus.OK или другой?
Параметры сбора (частота АЦП, диапазоны каналов, список разрешенных каналов и т.д.) в программе на основе примера и LGraph2 одинаковые? какие?
Что подключено ко входам LTR25?

Статус валидный  ChStatus.OK, данные именно нулевые, даже "шума" нет.

#7 Техническая поддержка » Lrt25 нулевые данные про сборе. » 11.02.2018 22:14:13

Anton
Ответов: 8

Добрый день, пытаюсь наладить сбор данных от Ltr25 на C#.
В качестве примера использую http://www.lcard.ru/download/examples/l … api_cs.zip
Пример рабочий, данные успешно приняты.
Проблема заключается в том, что при повторном запуске примера - получаю нулевые данные. При увеличении количества блоков RECV_BLOCK_CNT удалось дождаться когда данные "пробьются". То есть в конечном счете данные приходят, но при этом первые несколько секунд получаю нулевые данные.
При этом эта задержка (после запуска примера) проявляется и переходе в LGraph2 (секунд 5 идут нулевые данные).
Но при этом в самом LGraph2 (без запуска примера) не удалось воспроизвести подобное поведение.

В чем может быть проблема и как с ней можно бороться?
Спасибо!

#9 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 27.03.2015 14:11:01

Anton пишет:

нет, все-таки оно работает дольше, но все-равно  со временем начинает мигать красным... в LGraph при этом нормально

Прошу прощения за слабо информативный пост, это было в порыве отчаяния после напрасного переписывания кода в третий раз.  smile

Если кратко о проекте. У меня головное приложение пишется на C#. С lcomp работаю не на прямую, а через собственную dll на с++ (выступает в роли api). В этом api выделил метод для инициализации в котором подгружается библиотека lcomp (например init):

#ifdef WIN64
   CallCreateInstance("lcomp64.dll");
#else
   CallCreateInstance("lcomp.dll");
#endif

В C# точка входа выглядит примерно так:

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}

Внимание: Есть разница где вызывать метод загрузки (init)!
Я по началу дожидался события что форма загружена, загружал библиотеку и с ней начинал работал и получал стабильную работу не более 2х крейтов.
НО! Если загрузку выполнить в конструкторе формы - то у меня заработали и 3 крейта без намека на переполнения буфера.
Данное поведение я пока не могу объяснить, еще буду разбираться и проверять, но разница есть - это факт.
PS: хотел поделиться своими наблюдениями, вдруг будет полезно  smile

#10 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 27.03.2015 00:39:45

нет, все-таки оно работает дольше, но все-равно  со временем начинает мигать красным... в LGraph при этом нормально

#11 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 18.03.2015 22:17:50

E20-10 ревизия B, AVR ATegra 162 версия 2.3 от 2014 - не давно обновлял, стояла старая от 2008.

Сейчас повысил приоритет запускаемому процессу и пока вроде все работает нормально, но все-таки хочется понять в чем узкое место заключается.

#12 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 18.03.2015 00:13:55

Можно отвлеченный вопрос, возможно глупый  smile
Как библиотека lcomp контролирует отбор данных пользователем (в lusbapi там через event ожидался асинхронный вызов)?

Имеется 3 модуля E2010, написал модуль сбора данных (за основу взял пример l7xx.tst). Но почему-то иногда крейт начинает мигать красной лампочкой. Я так понимаю, это переполнение буфера. 100% взаимосвязи я не нашел, бывает что все работает долго, а бывает через пол минуты уже горит красным.

Как с этим можно бороться? В чем заключается узкое место, на что обратить внимание?

#13 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 11.02.2015 23:05:25

В Synchro.exe ведет себя ожидаемо, при смене на режим 'Внешний по фронту' или 'Внешний по спаду' останавливается сбор данных и ожидается внешний сигнал

#14 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 10.02.2015 23:17:17

Еще одно уточнение, данное поведение было обнаружено программно при работе через lcomp. После чего убедился что в Lgraph поведение такое же.

#15 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 10.02.2015 23:06:12

Это я понимаю и разумеется будет сигнал, но пока для теста используется кнопка. К моей проблеме эффект дребезга не совсем относится (старт по внешнему сигналу после смены режима).

Суть эксперимента по шагам:
1) в Lgraph крейтам выставляю синхронизация старта "по нажатию кнопки с трансляцией сигнала старт"
2) нажимаю кнопку старт в приложении
3) сбор данных начался, останавливаю
4) в Lgraph крейтам выставляю синхронизация старта "внешняя цифровая по переходу 0-1"
5) нажимаю кнопку старт в приложении
6) сбор данных начался !!!
7) останавливаю сбор данных, повторно нажимаю кнопку старт в приложении 
8) и теперь наконец крейты ожидают внешнюю команду, в моем случае "тумблер" после срабатывания которого начался сбор данных.

Собственно эффект дребезга на шаге 7 мне пока не интересен. Не понятно почему начался сбор данных на шаге 6. На шаге 1 если выбрать без трансляции - то ожидаемо работает.
Это я проверял на версии Lgraph 2.34.42

При этом данный эксперимент у меня полностью воспроизвелся и на версии 2.34.44. Но есть маленькое отличие: если на шаге 4 выставить по переходу 1-0, а не 0-1, то на шаге 6 сбор данных не начинается автоматически, а ждет "тумблера", то есть ожидаемое поведение. (в версии 2.34.42 - это все равно не работало)

Такое ощущение что какое-нибудь состояние/регистр не сбрасывается при смене режима.
PS это я снова продел уже с прошивкой "AVR ATmega 162  вер. 2.3 Jul  2 2014", к сожалению разницы не нашел

#16 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 05.02.2015 22:10:05

Изменения есть: если после "по нажатию кнопки с трансляцией сигнала старт" изменить на "внешняя цифровая по переходу 0-1" - то эффект остался - первый прогон холостой.
Но! при этом заработал режим "внешняя цифровая по переходу 1-0" - ожидает кнопку сразу же, ведет себя ожидаемо. smile

#17 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 05.02.2015 16:48:53

Спасибо, вечером проверю.
Но я не думаю что это связано именно с Lgraph. Данное поведение я обнаружил программным путем, работая с lcomp. Позже убедился что Lgraph ведет себя так же.

#18 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 03.02.2015 23:52:06

sad  к сожалению эффект такой же.
при смене режима "по нажатию кнопки с трансляцией сигнала старт" на "внешняя цифровая по переходу 0-1" - первый старт не дожидается команды.

#19 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 03.02.2015 18:41:29

Гарманов Александр пишет:

Антон, напишите свой e-mail. Вышлем.

deripas@yandex.ru ,спасибо.

#21 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 02.02.2015 23:07:16

Данные актуальные, следов "мусора" от предыдущего сигнала, не нашел.

#22 Re: Техническая поддержка » E20-10 Синхронизация нескольких модулей » 01.02.2015 20:08:47

Добрый день. Пытаюсь несколько e20-10 синхронно стартовать в Lgraph2 внешней командой (кнопкой). Для этого всем им выставляю в настройках "внешняя цифровая по переходу 0-1".  В целом, это работает, за исключением одного НО. Если крейты до этого работали с конфигурацией "по нажатию кнопки с трансляцией сигнала старт" - то при следующем старте они не дожидаются нажатия кнопки, а сразу стартуют. Но после остановки, при следующем старте, как положено ожидают нажатия кнопки.
Такое ощущения, что где-то не обнуляется флаг и считается что в первый раз сигнал старт уже пришел... настройки "по переходу 1-0" ведут себя также. Что может быть не так?

#23 Re: Техническая поддержка » плагин вопросы » 23.09.2014 14:46:24

Владислав пишет:

А  зачем так? По сети как раз лучше тащить только коды АЦП по два байта, а уже в плагине их превращать в расчетный канал.

Разумеется я по сети передаю коды АЦП... и в плагине их превращаю в расчетный канал... это я считал поток записи в файла и он получается внушительным из-за расчетных каналов. диск все-таки медленное устройство.

#24 Re: Техническая поддержка » плагин вопросы » 23.09.2014 12:41:50

Владислав пишет:

Да, Вы все правильно поняли.У расчетных каналов тип данных фиксированный - double (8 байт, плавающая точка).

Эх... и тут подстава)
Проблема вот в чем: E20-10 дает поток данных почти 20 Мб/сек. их 4 шт и суммарный поток под 80 Мб/сек. - в пределах разумного.
НО! если два устройства прокидывать по сети и делать расчетными то поток возрастает да 40 + 40 * 4 = 200 Мб/сек - а это уже жестоко... а я как-то сразу об этом не подумал  sad
Будем думать дальше ...

#25 Re: Техническая поддержка » плагин вопросы » 22.09.2014 00:41:52

Еще хотел уточнить про запись файла.
Как я понимаю в файл пишутся исходные кадры полученные от устройства (в данном случае Е20-10), тоесть последовательность short*.
А в случае с расчетными каналами? Я так понимаю пишутся кадры типа double? и тип данных расчетных каналов фиксированный?

Контакты

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

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

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

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