Форум:

Вы не вошли.

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

#1 Re: Техническая поддержка » Установка LMS - "Ошибка запуска службы базы данных экспериментов" » 23.04.2024 15:07:31

2. По журналу похоже, что это не после полного удаления (что у C:\Program Files (x86)\L-Card\L Card Measurement Studio\bin\db\ на момент установки были файлы).
Если поставить LMS, пропустив ошибки, затем ее удалить и при удалении согласиться на полное удаление базы экспериментов (если будут ошибки - нажать пропустить), убедится, что вся папка установки пуста, и заново попробовать установить LMS, можете прислать также сообщения из деталей после этого? Запускаете установщик от имени Администратора при этом?
3. Да, опечатка, имел ввиду [mysqld.exe].

#2 Re: Техническая поддержка » Считывание данных с LTR24-2 Python » 22.04.2024 19:40:15

Также смущает, что у Вас в объявлении идет _pack_ = 1, хотя ltr24api.h используется выравнивание на 4, а не 1.
Также, чтобы проверить правильность описания структур в Phyton, сравните значение размера структуры TLTR24, полученное sizeof из вашей программы, и значение, которое будет в поле Size после вызова LTR24_Init()

#3 Re: Техническая поддержка » Установка LMS - "Ошибка запуска службы базы данных экспериментов" » 22.04.2024 18:32:01

Здравствуйте.
А какая ОС на каждом из ПК?
Если при этой ошибке прерывать установку и открыть "детали", то можете тут выложить последние строки из оттуда?
При прерванной установке файлы внутри <пусть установки LMS>/bin/db/bin есть файлы включая mysld.exe? Если его запустить вручную, будет какое-то сообщение или просто ничего не будет происходить?
В меню Windows "Управление компьютером" -> "Службы и приложения" -> "Службы" есть в этом случае служба LMSDbService? Какое состояние? Если попробовать правой кнопкой нажать и выбрать "Запустить"?

#4 Re: Техническая поддержка » Считывание данных с LTR24-2 Python » 18.04.2024 15:48:43

Enanik пишет:

# переключаем модуль в тестовый режим
   pLTR24.contents.TestMode = True

А в тестовый режим зачем переключаете? Тестовый режим для канала диф. входа это как раз режим измерения собственного нуля, тогда данные вполне объяснимы...

#5 Re: Техническая поддержка » Установка драйвера на orangepi » 11.04.2024 15:25:14

У Вас судя по всему какая-то очень старая версия исходников драйвера lcomp.
В упомянутой в предыдущем посте такого быть не должно...

#6 Re: Техническая поддержка » Работа LTR43 с RS485 » 22.12.2023 11:20:31

RS485 на LTR43 можно использовать при написании своей программы с использованием штатной библиотеки ltr43api (функции описаны в https://www.lcard.ru/download/ltr43api.pdf).

В LMS в настоящее время работа с RS485 LTR43 не поддерживается. Также не совсем понятно, что имеется ввиду под поддержкой RS485 в законченном ПО, тут скорее может идти речь о поддержке конкретных устройств с интерфейсом RS485, подключаемых к LTR43.

Для чего Вы хотите использовать RS485? Что именно к нему подключаете?

#7 Re: Техническая поддержка » LTR отказывает в доступе » 29.11.2023 15:43:10

Да, точно также, взяв файлы отсюда: https://www.lcard.ru/download/ltr_eu_8_16_fw2000.zip.
Но точно также запись прошивки можно делать только по USB

#8 Re: Техническая поддержка » Получение списка модулей крейта » 28.11.2023 11:00:26

Добрый день.
Все коды идентификаторов модулей есть в перечислении _LTRNative.MODULETYPE, с ними по хорошему и нужно сравнивать, вставляя его значения как Net Property. Сами же эти числа являются по сути двухбайтовыми значениями, где младший и старший байт равны номеру модуля, т.е. их можно получить по формуле: n + 256*n, где n - номер модуля.

#9 Re: Техническая поддержка » LTR отказывает в доступе » 28.11.2023 04:24:55

Да, в прошивке 2.0.0.0 есть проблема, что при разрыве соединения, если крейт не получил пакет закрытия, то у него соединение остается незакрытым и не может быть установлено новое соединение. Попробуйте обновить прошивку крейта на 3.0.0.13 (https://www.lcard.ru/download/ltreu-fw-3.0.0.13.zip). Для этого нужно подключить крейт по USB и в LTR Manager нажать правой кнопкой по крейту и выбрать соответствующее действие и указать файл (ltr030 - 8/16 местный, ltr031 - 2-местный)

#10 Re: Техническая поддержка » LTR отказывает в доступе » 24.11.2023 18:46:28

А какая версия прошивки крейта у Вас используется (можно посмотреть в LTR Manager)?

#11 Re: Техническая поддержка » Синхронный опрос модулей в LTR-EU-8 » 10.11.2023 13:36:19

Для синхронизации данных нескольких модулей можно использовать механизм синхрометок крейта. Для этого нужно использовать функции работы с крейтом из ltrapi (в LabView класс ltrcrate из ltrModulesNet), как описано в пункте 4.6 документа https://www.lcard.ru/download/ltrapi.pdf, а также для каждого модуля использовать вариант Recv, в котором помимо данных возвращаются счетчики меток tmark. Общая идея, что сперва Вы запускаете сбор со всех модулей (он будет в разное время за счет задержек передач команд запуска), после этого даете крейту команду генерации метки СТАРТ, а при приеме данных от модулей отбрасываете данные (кратно размеру кадра) до тех пор, пока счетчик меток старт в tmark не изменится. Таким способом вы привяжете момент начала данных от всех модулей к метке СТАРТ с точностью до периода дискретизации модуля.

Этот механизм можно использовать для всех модулей непрерывного сбора данных, но нельзя для LTR210 в режиме покадрового сбора. Но для LTR210 есть свои сигналы синхронизации, которые можно соединить и настроить работу в режиме ведомый-ведущие и получить синхронный сбор кадров. Если нужна синхронизация кадров LTR210 с данными других модулей, то можно использовать разъем синхронизации крейта LTR-EU. Можно либо настроить, чтобы крейт генерировал сигнал при метке СТАРТ на выходе DIGOUT1 или DIGOUT2 разъема синхронизации и его завести на синхровход модулей LTR210 и настроить их запуск от внешнего цифрового сигнала, либо реализовать в обратную строну, где ведущий LTR210  будет вырабатывать сигнал на выходе синхронизации и его завести на DIGIN1 или DIGIN2 разъема синхронизации крейта и настроить генерацию меток по сигналу на этом входе. В первом случае кадр в LTR210 будет собираться по команде генерации синхрометки крейта, а во втором наоборот, синхрометки будут генерироваться по сбору кадра в LTR210 по команде к LTR210. В любом случае метка будет привязана к моменту сбора кадров LTR210 и данные других модулей можно будет привязать к данным кадра LTR210.

Использование привязки данных к метке СТАРТ для LTR24 на LabView можно посмотреть в примере отсюда: https://www.lcard.ru/download/examples/ … _start.zip.
Пример использования класса ltrcrate в LabView на примере настройки выходов разъема синхронизации можно посмотреть в примере: https://www.lcard.ru/download/examples/ … ut-cfg.zip

#12 Re: Техническая поддержка » L-502 и Astra Linux SE Смоленск » 19.10.2023 17:48:43

Есть ли на этой системе инструменты сборки ПО (gcc)? Есть ли возможность собрать консольный пример для модуля https://gitlab.com/l-card/acq/devices/x … type=heads и протестировать, будет ли зависание, если его запускать?

Если взять пакет x502studio (это та же lqmeasstudio, просто в новых версиях сменила название) версии 1.3.2, то проявляется ли на ней? Если в настройках приложения отключать спектральную обработку и/или увеличить интервал обработки/уменьшить время блока обработки, то как-то это влияет на зависания?

#13 Re: Техническая поддержка » L-502 и Astra Linux SE Смоленск » 19.10.2023 00:59:05

Здравствуйте. А какая версия прошивки FPGA в модуле L-502 (отображается в студии)? 
Сам модуль L-502 один и тот же в обоих случаях?
Под  ОС Astra Linux  Орел в качестве ПК выступает такой же моноблок или там другое железо?
Влияет ли настроенная частота ввода на зависания?

#14 Re: Техническая поддержка » L502 подсчёт времени » 14.10.2023 23:19:05

Здравствуйте.

По поводу точности, то нужно учитывать, что для любого способа, основанного на внутренней частоте процессора есть ошибка, связанная с неточностью значения самой этой частоты, от которой работает процессор. Для L-502 эта точность 50ppm или 0.005 % (т.е. для измерения времени секунды может быть ошибка до 50 мкс).

По поводу Вашего кода.
Во первых не совсем понятна инициализация таймера, *pTIMER0_CONFIG = 0x0003 - это режим работы EXT_CLK - подсчета импульсов внешнего сигнала, который должен подаваться на соответствующую ножку процессора (чего в схеме L-502 нет), значения pWIDTH и pPERIOD также не очень понял, и они устанавливаются когда *pTIMER0_CONFIG равен 0, т.е. таймер запрещен и эти изменения вообще могут быть неприменимы.

Если Вам нужен таймер, который генерирует прерывания раз в мс, то Вам нужно настроить режим PWM_OUT без использования собственно выходного сигнала PWM на ножке (OUT_DIS = 1), с постоянной (не однократной) генерацией сигнала (PERIOD_CNT = 1) и с разрешенной установкой бита прерывания в конце каждого периода (IRQ_ENA = 1). Таймер по умолчанию работает от частоты SCLK = 132.5 МГц, соответственно в регистр длительности периода, чтобы она была 1 мс, нужно записать значение 132500. Регистр WIDTH определяет длину активного значения импульса (duty cycle) для сигнала pwm и т.к. сам PWM сигнал Вы не используете, то его значение не важно, но на всякий случай лучше установить его в действительное значение, т.е. не менее 1, но меньше PERIOD.

Т.е. код инициализации таймера без разрешения обработчика прерывания таймера может выглядеть так:

*pTIMER0_CONFIG = PWM_OUT | PERIOD_CNT | IRQ_ENA | OUT_DIS;
*pTIMER0_PERIOD = 132500;
*pTIMER0_WIDTH  = 1;
*pTIMER_STATUS = TIMIL0; /* сброс флага прерывания на случай, если он был установлен */

После конфигурации таймер необходимо также запустить через TIMER_ENABLE.

*pTIMER_ENABLE = TIMEN0;

В этом режиме можно проверить настройки таймера без разрешения обработчика путем обычного опроса (т.к. бит IRQ_ENA установлен, то таймер будет устанавливать флаг прерывания, который можно проверить и сбросить, но сам обработчик не будет вызываться, т.к. не разрешен в pSIC_IMASK1), периодически вызывая проверку:

if (*pTIMER_STATUS & TIMIL0) {
    *pTIMER_STATUS = TIMIL0; /* сброс идет записью 1 */
    
    /* увеличение счетчика мс */ 
}

Если все работает как надо (идет подсчет мс корректно), то долее можно разрешить уже обработчик.

Строка REGISTER_ISR(12, inc_time); регистрирует обработчик прерывания для прерывания IVG12. Через регистры IAR Вы делаете маппинг прерываний от периферии на прерывания контроллера (IVG7 - IVG15) (что необходимо, т.к. обработчиков под периферию всего 9, а источников намного больше). В макросе Pxx_IVG(n)  значение n - это как раз номер IVG, а значение xx - Peripheral ID# (для TIMER0 - 32), т.е. правильный вызов макроса - P32_IVG(12). Во-вторых делать просто операцию "или" не совсем корректно, т.к. уже есть назначение по умолчанию при старте и поле может быть не 0 (и к слову для TIMER0 это как раз IVG12 и можно было бы ничего не писать), поэтому сперва значение этого поля в IAR4 нужно обнулить. Для этого я не нашел готовый макрос, поэтому в прошивке пишу через явную битовую маску:

*pSIC_IAR4 = (*pSIC_IAR4 & 0xFFFFFFF0) | P32_IVG(12);

Т.е. после настройки таймера и до его разрешения через pTIMER_ENABLE, нужно вставить:

*pSIC_IAR4 = (*pSIC_IAR4 & 0xFFFFFFF0) | P32_IVG(12);
REGISTER_ISR(12, inc_time);
*pSIC_IMASK1 |= IRQ_TIMER0;

В обработчике прерывания необходимо аналогично проверить флаг от таймера и сбросить его, после чего вызвать ssync(), чтобы флаг сбросился до выхода из обработчика и не попасть в обработчик второй раз:

ISR(inc_time) {
    if (*pTIMER_STATUS & TIMIL0) {
        *pTIMER_STATUS = TIMIL0; /* сброс идет записью 1 */
    
        /* увеличение счетчика мс */ 

        ssync()
    }
}

#15 Re: Техническая поддержка » LTR51 - ошибка 1172 » 13.10.2023 12:32:23

Здравствуйте.
Поле F_base не предназначено для заполнения пользователем. Это результирующий параметр, вычисляемый библиотекой при вызове LTR51_Config на основе значений Fs и Base. Поэтому в классе C# он задан как доступный только на чтение. Вы же пытаетесь записать значение в данное свойство, на что и выдается соответствующая ошибка об отсутствии метода для установки значения.

#16 Re: Техническая поддержка » Linux Astra и LTR-EU-16-1 » 02.10.2023 20:31:23

Да, смена настроек поддерживается только через подключение по USB интерфейсу.

#17 Re: Техническая поддержка » Драйвер lcomp_linux для ядра 6 » 02.10.2023 20:26:49

ltrd: Зависит: libc6 (>= 2.34) но 2.28-10deb10u2+ci202302271750+astra5 должен быть установлен

Это сообщение говорит о том, что библиотека собрана c libc версии 2.34, которая как раз в Ubunutu 21.10, а у Вас в системе стоит версии 2.28 (и от этой версии зависят другие пакеты и ее нельзя обновить). Версии libc (не считая номера патча) как правило не меняются в рамках одного дистрибутива, а только при переходе от одной версии дистрибутива к другой.
Нужно ставить из того дистрибутива, на котором основана Ваша версия Astra. И судя по версии "2.28-10deb10u2" из Вашего сообщения, она основана на Debian-10. Вот и ставьте пакеты из Debian-10, а не Ubuntu.

и еще в инструкции в разделе 7 для Debian подобных систем описана установка deb пакетов, но ни в одном из репозиториев нет deb пакетов, везде тарбол

.deb файлы лежат в папках архитектуры, для которой они предназначены. Например для Debian 10 для 64-битной архитектуры x64: https://download.opensuse.org/repositor … _10/arm64/

"liblcomp.so.1: cannot open shared object file: No Such file or directory"

Сообщение ровно то и означает, что не найден указанный файл библиотеки. Драйвер тут не причем. Он у Вас должен быть в стандартной папке (обычно /usr/lib), либо должен быть указан путь, откуда его брать одним из способов. Если Вы ставите из пакетов, он туда поставится автоматом. Если сами собирали, то установлен ли он у Вас и куда? Если делали через make install, то во время выполнения пишется папка, куда файлы скопированы. Проверьте, т.к. при ручной установке по умолчанию обычно используется директория с local, т.к. в основное дерево файлов по хорошему ставить нужно только через пакеты, чтобы не было конфликтов, и эта локальная директория может отсутствовать в путях, где ищутся библиотеки по умолчанию.

#18 Re: Техническая поддержка » Драйвер lcomp_linux для ядра 6 » 28.09.2023 11:48:20

Для основанных на Debian дистрибутивов (как Astra) для atomic-ops должен стоять штатный пакет libatomic-ops-dev. Если ставить библиотеку из пакета, то эта зависимость уже прописана, если собирать вручную, то нужно поставить явно:

sudo apt install libatomic-ops-dev

После сборки библиотеки Вы как раз и получите .so файл.
Другой вопрос, что liblcomp написан на C++ с использованием виртуальных методов, и весь вопрос, насколько это можно напрямую использовать из C#. С обычными C функциями с этим проблем нет и в случае lcomp для Windows некоторыми клиентами для работы из C# использовалась "обертка" на C для lcomp (wlcomp), функции которой уже вызывались из C#.

#19 Re: Техническая поддержка » Драйвер lcomp_linux для ядра 6 » 27.09.2023 17:06:01

Для сборки драйвера для make нужно указать цель в зависимости от варианта сборки.

Если будете просто устанавливать файлы модуля напрямую, то

make lcomp-drv
sudo make lcomp-drv-install

Если через систему dkms, которая управляет добавлением внешних модулей в ядро (должен стоять пакет dkms):

sudo make lcomp-dkms-install

#20 Re: Техническая поддержка » Как установить ltrd ltrmanager и библиотеки в Ubuntu 22.04? » 27.09.2023 15:02:06

Там строчки были только для ltramanger. ltrd и ltrapi - отдельные пакеты. Устанавливали его с помощью:

sudo apt install ltrd

а для библиотек соответственно:

sudo apt install libltrapi1-dev

#21 Re: Техническая поддержка » Как установить ltrd ltrmanager и библиотеки в Ubuntu 22.04? » 27.09.2023 11:56:32

А команда сама выполняется? Вроде устаревший метод должно быть просто предупреждением.

Но если уже вообще эту команду отключили, то можете попробовать вариант инструкции установки отсюда https://software.opensuse.org//download … ltrmanager:

echo 'deb http://download.opensuse.org/repositories/home:/l-card/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/home:l-card.list
curl -fsSL https://download.opensuse.org/repositories/home:l-card/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_l-card.gpg > /dev/null
sudo apt update
sudo apt install ltrmanager

#22 Re: Техническая поддержка » Драйвер lcomp_linux для ядра 6 » 27.09.2023 10:39:36

По поводу ключа, то там идет ссылка на репозиторий для Ubuntu 18.10, который уже не поддерживается, поэтому ссылка не действительна. Но если заменить 18.10 на более новую версию, то в остальном инструкция корректна.

Если используете Astra Linux, то у них на wiki есть таблица совместимости версий Astralinux с версиями Debian:
Common Edition: https://wiki.astralinux.ru/pages/viewpa … d=79168056
Special Edition: https://wiki.astralinux.ru/pages/viewpa … d=53646577

Для соответствия номеров и названий версий Debian можно посмотреть страницу релизов Debian: https://www.debian.org/releases.
Например, если Ваша версия Astra соответствует Debian Stretch, то это Debian 9.
И в этом случае в инструкции https://www.lcard.ru/download/lcard_lin … utions.pdf нужно указывать Debian_9.0 вместо xUnbuntu_18.10 (взятой там для примера).

То что указали, что ссылка не работает, спасибо, как дойдут руки, постараюсь обновить документ и заодно включить данную информацию о соответствии с Astra.

По поводу packages, то это эта директория идет как субмодуль, видимо у Вас скопировалось содержимое без него.
Для получения исходников с субмодулями можно из командной строки вызвать:

git clone --recurse-submodules https://gitlab.com/l-card/acq/devices/emodules/shared/lcomp/drivers/lcomp_driver_linux.git <директория для сохранения>

Автогенерируемые в gitlab архивы (доступные по Download) не включают суммодули, этот глюк (типичный для многих серверов систем контроля версий) к сожалению так и не поправили видимо...

#23 Re: Техническая поддержка » Драйвер lcomp_linux для ядра 6 » 26.09.2023 11:06:38

Если у Вас один из поддерживаемых дистрибутивов (перечислены в далее указанном документе), то можно поставить готовые пакеты, как описано тут - https://www.lcard.ru/download/lcard_lin … utions.pdf. Для lcomp нужны пакеты lcomp-dkms (драйвер) и liblcomp1 (библиотека) + liblcomp1-dev / liblcomp1-devel (в зависимости от того, deb или rpm дистрибутив у Вас) (файлы для разработки своей программы).

Либо можно взять исходные коды с gitlab и собрать самостоятельно:
https://gitlab.com/l-card/acq/devices/e … iver_linux - драйвер
https://gitlab.com/l-card/acq/devices/e … mp_library - библиотека.
Для сборки понадобится использовать cmake для генерации makefile, далее уже обычным make (для драйвера отдельно цели lcomp-drv / lcomp-drv-install / lcomp-drv-clean для обычной сборки модуля или lcomp-dkms-install для сборки через dkms).

#24 Re: Техническая поддержка » Вопрос по E14-140-M (Linux) » 24.09.2023 14:25:47

Да, действительно, драйвер работал корректно только для IrqStep кратного странице памяти (2048 отсчетов). Выложил обновленную версию пакета драйвера lcomp-dkms версии 1.58.5 (в библиотеке liblcomp изменения не требуются). Проверьте.

#25 Re: Техническая поддержка » Драйвер lcomp_linux для ядра 6 » 24.09.2023 14:23:22

Выложил обновленную версию пакета драйвера lcomp-dkms версии 1.58.5, должна теперь собираться нормально (пробовал на 6.5.4). Проверьте.

Контакты

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

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

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

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