|
|
|
|
Штатное ПО для LTR
Добрый день! На основе штатных библиотек на visual c++ 2010 express выполнен большой проект - программа измерения и управления экспериментальной установкой. При расширении системы (дополнительный крейт LTR-EU-16) потребовалась межкрейтовая синхронизация с генерацией временных меток. Новый проеккт успешно был собран, но при запуске программы неожиданно (ранее с таким не сталкивались) выскочила ошибка "Точка входа в процедуру LTR_Config в библиотеке ltrapi.dll не найдена". Не подскажите в чем дело? Спасибо
|
|
|
|
- Сотрудник "Л Кард"
- Здесь с 18.04.2014
- Сообщений: 810
|
Re: Штатное ПО для LTR
А dll ltrapi доступны программе? (т.е. лежит в каталоге с программой, либо в PATH, либо в system32)
|
|
|
|
|
Re: Штатное ПО для LTR
Да все dll-ки на месте, эта проблемка решилась путем обновления библиотек, взяли с сайта новые ошибок с ПО вроде бы пока не видно, но вылезла другая проблема. Есть два крейта LTR-EU-16, один заполнен LTR51, LTR22, LTR43(4 шт), LTR42(7 шт), он соединен с ПК через USB, второй весь забит LTR27 через ETHERNET. Попытки генерировать однократную метку СТАРТ на USB-ном приводят к тому,что буфер забивается непрерывным потоком меток СТАРТ который невозможно остановить, кроме как выключением питания. Секундные метки на нем генерируются нормально. На удаленном крейте и метка СТАРТ и секундные метки выдаются правильно. Контроль за метками через ltr-сервер. Вызов API функций одинаков. Может причина аппаратная?
|
|
|
|
- Инженер-электронщик
- Откуда: "Л Кард"
- Здесь с 21.04.2014
- Сообщений: 4,597
|
Re: Штатное ПО для LTR
В упомянутой выше конфигурации LTR-EU метки можно генерировать от 12-ти объектов (!):
- от крейт-контроллера LTR-EU-16;
- от LTR43(4 шт);
- от LTR42(7 шт).
Но в LTR-крейте корректно будет источником меток назначить только один из этих объектов. Для понимания ситуации, поясните для начала, какой источник меток используете?
|
|
|
|
|
Re: Штатное ПО для LTR
Используются метки от крейта
|
|
|
|
|
Re: Штатное ПО для LTR
точнее от крейт-контроллера
|
|
|
|
- Сотрудник "Л Кард"
- Здесь с 17.04.2014
- Сообщений: 1,381
|
Re: Штатное ПО для LTR
А Вы используете внутреннюю генерацию меток (в LTR_MakeStartMark параметр mode = LTR_MARK_INTERNAL (5)) или от внешнего сигнала (mode = LTR_MARK_EXT_DIGINx_RISE/LTR_MARK_EXT_DIGINx_FALL)?
В последнем случае при отсутствии подключения к нужному входу может быть что угодно - метки вполне могут постоянно генерироваться.
Для внутреннего однократного запуска только что проверил – при подключении по USB пришла как и должно быть - одна метка.
|
|
|
|
|
Re: Штатное ПО для LTR
да, используется пока внутренняя генерация меток
|
|
|
|
|
Re: Штатное ПО для LTR
при тех же условиях секундные метки генерируются нормально
|
|
|
|
|
Re: Штатное ПО для LTR
ltr-сервер показывает количество меток СТАРТ за несколько секунд десятки миллионов
|
|
|
|
|
Re: Штатное ПО для LTR
проблема временно решена путем замены крейта (csn 1R815069) на крейт (csn 1R815070), теперь метки СТАРТ генерируются правильно и передаются на удаленный крейт. Что делать с крейтом (1R815069)? Он поставлялся с модулями, если доставлять его к вам, можно ли вести его без модулей?
|
|
|
|
- Инженер-электронщик
- Откуда: "Л Кард"
- Здесь с 21.04.2014
- Сообщений: 4,597
|
Re: Штатное ПО для LTR
Для обоих крейтов выложите, пожалуйста, сообщения LTR-сервера из вкладки "Журнал" на момент времени после подключения крейта LTR. Это позволит мне увидеть версию прошивок ПЛИС в каждом из крейтов.
Если выяснится, что в 1R815069 версия прошивки последняя, тогда будем говорить о ремонте..
|
|
|
|
|
Re: Штатное ПО для LTR
журнал ltr-сервера
[19.01.12 16:20:19.609] (0) SERVER: Starting up LTR-Server v1.5.2.1 (L-CARD)
[19.01.12 16:20:19.609] (4) CRATE_CTL: LTRServiceCrate thread started.
[19.01.12 16:20:19.609] (3) SERVER: UDP auto-discovery mode enabled
[19.01.12 16:20:19.609] (4) CLIENT_CTL: LTRServiceClient thread started.
[19.01.12 16:20:19.625] (4) CLIENT_INIT: Server: РЫЖКОВ [192.168.0.250] [192.168.12.1]
[19.01.12 16:20:19.625] (4) CRATE_CTL: Scanning USB crates
[19.01.12 16:20:19.625] (4) CRATE_CTL: Found 1 USB crates
[19.01.12 16:20:19.625] (3) CRATE_INIT: Connecting USB crate ////?//usb#vid_0471&pid_3030#5&476fb6f&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed} ...
[19.01.12 16:20:19.625] (3) CRATE_INIT: Crate Info:
[19.01.12 16:20:19.625] (3) CRATE_INIT: + PIDString = Crate LTR(HS Mode)
[19.01.12 16:20:19.625] (3) CRATE_INIT: + DeviceName = LTR030
[19.01.12 16:20:19.625] (3) CRATE_INIT: + SerialNumber = 1R815069
[19.01.12 16:20:19.625] (4) CRATE_INIT: + DeviceComment = Broaching Creation Date Jun 25 2009
[19.01.12 16:20:19.625] (4) CRATE_INIT: + BootLoaderVersion = 151.152.164.175
[19.01.12 16:20:19.625] (4) CRATE_INIT: + FirmwareVersion = 1.0.0.1
[19.01.12 16:20:20.656] (4) CRATE_INIT: + TTF_FILE = C://Program Files//L-Card//ltrserver//ltr010v3_0_5.ttf
[19.01.12 16:20:20.656] (4) CRATE_INIT: + FpgaName = LTR-030
[19.01.12 16:20:20.656] (4) CRATE_INIT: + FpgaVersion = 1.0.1.0
[19.01.12 16:20:20.656] (4) CRATE_INIT: + FpgaComment = Прошивка ПЛИС EP1C8 контроллера крейта LTR-EU-8(16). L-CARD
[19.01.12 16:20:20.656] (4) CRATE_INIT: + BaudRate = 0x0000 DMAR = 7 DMAW = 0
[19.01.12 16:20:20.671] (3) CRATE_INIT: Crate service started.
[19.01.12 16:20:20.671] (3) CRATE_READ: RST.XXXX module configuration updated. mconfig=1FFF
[19.01.12 16:20:20.703] (3) CRATE_INIT: Crate service started.
[19.01.12 16:20:20.703] (3) CRATE_INIT: Connecting IP crate 192.168.12.248 ...
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=1
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=2
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=3
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=4
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=5
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=6
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=7
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=8
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=9
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=10
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=11
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=12
[19.01.12 16:20:20.703] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=13
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=9 mid=2A2A (LTR42)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=8 mid=2A2A (LTR42)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=7 mid=2A2A (LTR42)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=6 mid=2B2B (LTR43)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=5 mid=2B2B (LTR43)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=4 mid=2B2B (LTR43)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=3 mid=2B2B (LTR43)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=2 mid=1616 (LTR22)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=1 mid=3333 (LTR51)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=12 mid=2A2A (LTR42)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=11 mid=2A2A (LTR42)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=10 mid=2A2A (LTR42)
[19.01.12 16:20:20.718] (3) CRATE_READ: RST.XXXX found new module. slot=13 mid=2A2A (LTR42)
[19.01.12 16:20:21.500] (3) CRATE_INIT: Crate Info:
[19.01.12 16:20:21.500] (3) CRATE_INIT: + Location = 192.168.12.248
[19.01.12 16:20:21.500] (3) CRATE_INIT: + DeviceName = LTR030
[19.01.12 16:20:21.500] (3) CRATE_INIT: + SerialNumber = 1R815068
[19.01.12 16:20:21.500] (4) CRATE_INIT: + DeviceComment = Broaching Creation Date Nov 16 2009
[19.01.12 16:20:21.500] (4) CRATE_INIT: + BootLoaderVersion = 165.165.165.165
[19.01.12 16:20:21.500] (4) CRATE_INIT: + FirmwareVersion = 1.0.0.1
[19.01.12 16:20:21.500] (4) CRATE_INIT: + FpgaName = LTR-030
[19.01.12 16:20:21.500] (4) CRATE_INIT: + FpgaVersion = 1.0.7.0
[19.01.12 16:20:21.500] (4) CRATE_INIT: + FpgaComment = Прошивка ПЛИС EP1C8 контроллера крейта LTR-EU-8(16). L-CARD
[19.01.12 16:20:21.500] (4) CRATE_INIT: + BaudRate = 0x0000 DMAR = 7 DMAW = 0
[19.01.12 16:20:21.500] (4) CRATE_CTL: Service thread [192.168.12.248]: STARTED
[19.01.12 16:20:21.500] (4) CRATE_INIT: Service thread [192.168.12.248]: Opening data connection
[19.01.12 16:20:21.500] (4) CRATE_INIT: Service thread [192.168.12.248]: Data connection established
[19.01.12 16:20:21.718] (3) CRATE_READ: RST.XXXX module configuration updated. mconfig=FFFF
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=1
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=2
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=3
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=4
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=5
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=6
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=7
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=8
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=9
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=10
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=11
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=12
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=13
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=14
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=15
[19.01.12 16:20:21.718] (3) CRATE_WRITE: WST.XXXX send STOP+RESET+STOP to module. slot=16
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=11 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=10 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=9 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=8 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=7 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=6 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=5 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=4 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=3 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=2 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=1 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=13 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=12 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=15 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=14 mid=1B1B (LTR27)
[19.01.12 16:20:21.750] (3) CRATE_READ: RST.XXXX found new module. slot=16 mid=1B1B (LTR27)
|
|
|
|
|
Re: Штатное ПО для LTR
Прошивки 1R815069 и 1R815070 одинаковые а работают они по разному
|
|
|
|
- Инженер-электронщик
- Откуда: "Л Кард"
- Здесь с 21.04.2014
- Сообщений: 4,597
|
Re: Штатное ПО для LTR
В крейте 1R815069 FpgaVersion = 1.0.1.0,
а в крейте 1R815068 FpgaVersion = 1.0.7.0
В этом то и причина! Прошивка 1.0.1.0 - древнейшая, в которой ещё не было логики синхронизации. Откуда она взялась у Вас, я не понял...
|
|
|
|
|
Re: Штатное ПО для LTR
Странно, все три крейта приобретались одновременно...
|
|
|
|
|
Re: Штатное ПО для LTR
Подскажите пожалуйста, откуда брать новую прошивку? из ltr_eu_8_16_fw2000.zip?
|
|
|
|
|
Re: Штатное ПО для LTR
Новая прошивка лежит здесь http://www.lcard.ru/download/ltr_eu_8_16_fw.zip.
Попробуйте обновить.
|
|
|
|
|
Re: Штатное ПО для LTR
Спасибо, попробуем обновить.
|
|
|
|
|
Re: Штатное ПО для LTR
Попробовал перешить ПО из этого архива, и из ltr_eu_8_16_fw2000.zip, меняется FirmwareVersion, а FpgaVersion не меняется
|
|
|
|
|
Re: Штатное ПО для LTR
Добрый день.
Попробуйте еще раз обновиться из указанного мною архива. Вывод программы обновления сохраните. Если не поможет, напишите здесь вывод этой программы.
|
|
|
|
|
Re: Штатное ПО для LTR
попробуем, но сможем это сделать уже в понедельник
|
|
|
|
- Инженер-электронщик
- Откуда: "Л Кард"
- Здесь с 21.04.2014
- Сообщений: 4,597
|
Re: Штатное ПО для LTR
Ого! 50 м для такого интерфейса это ОЧЕНЬ много. Всё вышесказанное мной относилось к интерфейсу не более 10 м., и уж точно для случая, когда оба крейта заземлены в одну точку. Совершенно очевидно, что для обеспечения помехозащиты здесь нужно применить специальное решение. Возможные варианты:
1. Применить оптронную развязку. Оптроны запитать от +3.3V c разъёма синхронизации.
2. Применить систему развязки на основе пары приёмопередатчиков RS-485/422-UART
http://www.lcard.ru/products/accesories/rs485 , т.е. фактически использовать физический канал RS-485 (и витую пару от него) для передачи сигнала синхронизации.
3. Применить схему на основе "цифровых изоляторов".
По каждому из этих вариантов могу проконсультировать.
|
|
|
|
|
Re: Штатное ПО для LTR
Ваши рекомендации я передал специалистам, которые обеспечивают коммутацию электрических сигналов, они склоняются к варианту опторазвязки, когда они созреют, думаю, мы обратимся к Вам за консультацией с конкретными вопросами.
|
|
|
|
|
Re: Штатное ПО для LTR
У меня возникли еще вопросы по секундным меткам синхронизации.
1.Каков реальный интервал времени между метками в миллисекундах?
2.Возможно ли каким либо способом задать этот интервал, равным, например, 990 миллисекунд?
Появилась мысль попытаться синхронизировать потоки данных с разных модулей LTR27, работающих с разной частотой дискретизации (100 Гц и 10 Гц), с точностью не хуже 10 миллисекунд, используя идею нониуса. Можно,конечно, добиться эффекта путем подбора частоты дискретизации LTR27 (задав делитель частоты например = 109), но нашим руководителям нравятся почему-то временные шаги, кратные 10 миллисекундам.
|