Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Возможно какая-то проблема с масштабом, если значения слишком малы и сигнал не виден на уровне шумов. Что за значения maxVoltage и maxValueInFile и чему равны? При этом LTR34 16-битный ЦАП и коды в нем от -32768 до +32768, а LTR35 - 24-битный и коды соответствующие диапазону в нем -LTR35_DAC_SCALE_CODE_MAX и +LTR35_DAC_SCALE_CODE_MAX (6 291 456), т.е. сигналы с одним и тем же макс. кодом будут иметь многократно разные амплитуды на LTR34 и LTR35. Сигнал отсутствует на обоих?
Здравствуйте.
А как формируются массивы data35 и data34 изначально и как после перехода на вывод в кодах?
Добрый день.
Если настроите этот параметр, то после запуска в программе сбор сразу не начнется, а модуль перейдет в режим ожидания фронта сигнала на этом входе. Аппаратно в модуле есть только режим старта по внешнему сигналу, а останов сбора идет всегда по команде с компьютера программным образом, как уже заложено в ПО верхнего уровня. В LGraph2 останов доступен по кнопке или по завершению времени сбора. Возможности останова по изменению внешнего сигнала (подобно этой теме в LMS - https://www.lcard.ru/forums/viewtopic.php?id=10832) в LGraph2 нет. Кроме того, состояние входа START на LTR11 нельзя опрашивать как дискретный вход общего назначения, он служит только для запуска сбора, поэтому в принципе даже в своем ПО останов по внешнему сигналу именно на данном входе на верхнем уровне сделать нельзя, если только по изменению сигнала на входе разъема синхронизации крейта или дискретному входу других модулей.
Поддержку данных возможностей запланировано добавить в следующей версии LMS
А какой именно у Вас DEVICE_ADDRESS?
Кажется я понял в чем дело. Судя по всему проблема возникала из-за того, что в коде
short CRC = CalculateModbusCRC(&mDataToSend[0], 6);
mDataToSend[6] = CRC>>8; // Старший байт контрольной суммы
mDataToSend[7] = CRC&0x00FF; // Младший байт контрольной суммыесли в CRC старший бит будет 1, то при сдвиге CRC >> 8 старшая часть дополнится тоже 1 (это может зависеть от компилятора, но в Borland как и во многих сделано, что при сдвиге знакового числа старшие биты дополняются знаковым (старшим)).
В новой библиотеке действительно, если старшие незначащие биты в словах на передачу были не 0, то это могло привести к ошибкам формирования слов на передачу.
Этим и объясняется, что зависит от адреса, т.к. от адреса меняется CRC (точно проверить не могу соответствие старшего бита CRC и адреса регистра, т.к. не знаю какой у Вас DEVICE_ADDRESS)
Поправил, чтобы от старших битов корректность передачи не зависела - обновил ltrdll ( https://lcard.ru/download/ltrdll.exe - должна быть версии 1.32.45). Попробуйте взять оттуда.
Ну и если бы код был
mDataToSend[6] = (CRC>>8) & 0x00FF; то, по идее, должно работать и с текущей.
Т.е. если заменить только библиотеку ltr11api и ltrapi, но не заменять билиотеку ltr43api, то работает и на новом крейте с новым модулем?
А если с новым крейтом на 2.0.0.0 и новым модулем и новой билиотекой?
И старый модуль в новом крейте заработал у Вас тогда именно с новой библиотекой?
И можете написать серийные номера старого и новго LTR43 и крейта?
Да уж, странная ситуация... Но в новом крейте у Вас была при этом прошивка 3.0.0.17? А если в новый крейт записать прошивку 2.0.0.0, что-то изменится?
А библиотеку Вы тоже обновили на последнюю как и с LTR11?
Т.е. новых крейтов, которые себя так ведут более одного?
Можете попробовать записать в крейт старую прошивку (2.0.0.0). Файл можно взять из архива https://www.lcard.ru/download/ltr_eu_2_fw2000.zip, а обновить через LTR Manager, подключив крейт по USB, нажав в LTR Manager правой кнопкой мыши и выбрав из меню обновление прошивки и выбрав ldr файл из архива. После обновления отключить и включить питание крейта. Изменится ли что-то на прошивке 2.0.0.0?
Оба модуля проверяете на одном и том же ПК, на одной и той же программе? И подключаете тоже по RS к одному и тому же экземпляру внешнего устройства (с которого считываете данные по RS)? Меняется исключительно только крейт и модуль? Или что-то еще?
Кстати, есть возможность переставить модуль в другой крейт, раз Вы его судя по всему разобрали и проверить, не влияет ли сам крейт? И какая версия прошивки второго крейта (отображается в LTR Manger, на скрине у Вас 3.0.0.17 - это на сколько я понимаю новый?)
И что за переменная "EnableModbusWork" в программе? Как будто идет попытка защиты от вызова из разных потоков. Она все же из одного всегда вызывается?
Выложил прошивку 2.3 с утилитой обновления: https://www.lcard.ru/download/ltr43_avr_update.zip
Попробуйте, поможет ли обновление
1. Можете проверить версию прошивки LTR43 там где работает и не работает (либо в своей программе строка из TLTR43.ModuleInfo.FirmwareVersion), либо например поставить дема LMS создать эксперимент и войти в обзор подключенного оборудования.
2. В Вашей программе никаких других действий не происходит с LTR43? Никаких запусков синхронного ввода цифровых линий или работы из разных потоков в программе нет?
Если оставить только открытие модуля и однократное чтение регистра Modbus (чтобы иcключить влияние последовательности чтений), то так же будет от смены адреса этого чтения то работать, то нет?
Последние версии ltr11api.dll не возвращают ошибку -1006, т.е. если она возвращается, то реально программа/пример использует старую библиотеку. Версию .dll файла можно проверить, нажав правой кнопкой мыши на файле и выбрать "Свойства" и там "Подробно" и в таблице "Версия файла". Текущая 1.32.42. Проверьте версию ltr11api.dll, которая лежит с .exe примера и вашей программы.
Кажется понял в чем проблема, попробуйте еще раз переустановить пакет
Т.е. если выполнить
ls /usr/src/lpcie-1.0.15/ -lто .sh файлы будут без атрибута x?
Если речь идет про погрешность, возникающую "при стандартном использовании БПФ" из-за фиксированного шага БПФ по частоте, на который искомая частота может точно не попадать, то для измерения амплитуды гармоники это не относится, т.к. для этого измерения БПФ не применяется, а вычисляется именно значение амплитуды на определенной частоте (полученной от фазоотметчика и умноженной на заданное n, которое может быть дробным).
Если у Вас своя программа, а LTR11_Metr работает, то попробуйте обновить библиотеки, установив отсюда (http://lcard.ru/download/ltrdll.exe), и если библиотеки ltrapi.dll, ltr43api.dll и ltr11api.dll находятся вместе с исполняемым файлом Вашей прогрммы, то заменить эти файлы на установленные (из <путь установки ltrdll>/bin/x86)
Попробуйте переставить пакет, появится ли установленный файл. и пришлите вывод в консоль при установке пакета.
ПО пользуетесь своим?
Штатное ПО, например, метрологическая программа Ltr11_Metr с этими модулями корректно работает?
Минимальная частота опроса АЦП - чуть меньше 2 Гц (если точно - 2000000/(1024*1024)). Частота на канал может регулироваться еще и за счет межкадровой задержки.
Для указанным Вами частот никаких проблем быть не должно.
А есть директория /lib/udev/rules.d в системе и если есть, есть ли в ней файл lpcie.rules после установки пакета?
Если нет директории, то есть ли /usr/lib/udev/rules.d ?
Здравствуйте. Спасибо, действительно под Ubuntu 26.04 не все пакеты собрались, поправил основные указанные Вами, должны появится после завершения сборки. Проверьте. В ближайшее время поправлю и остальные.
А dll файлы в системе установлены? Ставился ли ltrdll.exe (http://lcard.ru/download/ltrdll.exe) на этой машине или просто нужные файлы скопированы с другой?
Для запуска нужны dll и они должны стоять либо в системе (ставятся при установке ltrdll.exe), либо их нужно скопировать в директорию с exe-файлом вашей программы из директории bin/x64 библиотек ltrapi (если 64-битный компилятор)
1) Правильно ли мы поняли, что если подаем сигнал напряжения, пропорционльный виброускорению, то встроенное ПО модуля L-VIMS можно сконфигурировать для пересчета гарморники с выбранным номером в виброскорость?
Да, все правильно
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4
Многоканальный телефон: +7 (495) 785-95-25
Письма и запросы: lcard@lcard.ru
Отдел продаж: sale@lcard.ru
Мы работаем с юридическими и физическими лицами, пожалуйста, прикладывайте реквизиты при оформлении заказа
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск