USB3000 & LabView

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3998
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 149 раз

Re: USB3000 & LabView

Сообщение dadreamer »

Agat писал(а):Прошелся в ReadData0 по шагам - ошибка возникает в блоке StopRead...
Как-то уж слишком мало информации выдаёт 10-ка, даже имя сбойного модуля не написано. Два варианта: косяк в обёртках/dll или косяк в драйвере. Ошибка возникает сразу на первом блоке StopRead.vi? (5-й по счёту, идёт после SetInputPars.vi). В самом конце программы есть аналогичный StopRead.vi, стоит предпоследним, дальше ReleaseInstance.vi.
- В 32-битном :labview: на 32-битных библиотеках описанная ошибка возникает?
- Что выводится в консоль при запуске примера ReadData0 на отладочных (DBG) библиотеках? Скиньте, плиз, скрин или текст, если успеете скопировать (Пометить/Ctrl+M -> Enter).
- Покажите ещё панель ReadData0 целиком; желательно ещё глянуть панель StopRead после выполнения, чтобы проверить содержимое кластера ViStatusOut.
Agat
junior
junior
Сообщения: 56
Зарегистрирован: 16 янв 2019, 09:22
Версия LabVIEW: 18
Благодарил (а): 8 раз
Контактная информация:

Re: USB3000 & LabView

Сообщение Agat »

dadreamer писал(а):
Agat писал(а):Прошелся в ReadData0 по шагам - ошибка возникает в блоке StopRead...
Как-то уж слишком мало информации выдаёт 10-ка, даже имя сбойного модуля не написано. Два варианта: косяк в обёртках/dll или косяк в драйвере. Ошибка возникает сразу на первом блоке StopRead.vi? (5-й по счёту, идёт после SetInputPars.vi). В самом конце программы есть аналогичный StopRead.vi, стоит предпоследним, дальше ReleaseInstance.vi.
- В 32-битном :labview: на 32-битных библиотеках описанная ошибка возникает?
- Что выводится в консоль при запуске примера ReadData0 на отладочных (DBG) библиотеках? Скиньте, плиз, скрин или текст, если успеете скопировать (Пометить/Ctrl+M -> Enter).
- Покажите ещё панель ReadData0 целиком; желательно ещё глянуть панель StopRead после выполнения, чтобы проверить содержимое кластера ViStatusOut.
Да, ошибка в первом блоке StopRead.
В 32-битном labview ошибок нет, но результата выполнения тоже нет (
20190218_105552.JPG
Как посмотреть, что выводится в консоль?
ReadData0 целиком
Панель ReadData0.JPG
StopRead после выполнения не глянуть ) в момент ее выполнения вылетает синий экран..
Панель StopRead.JPG
следующий шаг будет синий экран..
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3998
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 149 раз

Re: USB3000 & LabView

Сообщение dadreamer »

Agat писал(а):В 32-битном labview ошибок нет, но результата выполнения тоже нет (
InitModule не проходит. Видите, лампочка напротив не горит? Возможно, опять CreateFile не выполняется. А 32-битные DLL'ки вы брали родные или из моего поста в этой теме? Если родные, то они не заработают на ОСях начиная с Win 8 и выше.
Agat писал(а):Как посмотреть, что выводится в консоль?
Замените Rtusbapi.dll и wrRtusbapi.dll на Debug-версии и запустите пример ReadData0.vi. Версии выложены на первой странице этой темы с пометкой DBG. При открытии :vi: отобразится окно консоли, куда будет выводиться информация о вызываемых функциях. Окно не закрывайте, :labview: закроет его сам, когда вы закроете основной :vi: . Мне нужен текст из консоли после выполнения ReadData0 (до StopRead, понятное дело). Как скопировать - ПКМ на заголовке окна -> Изменить -> Пометить -> выделяете мышью текст -> нажимаете Enter -> текст скопирован в буфер обмена.
2019-02-18_10-18-48.jpg
Agat писал(а):ReadData0 целиком
Забыл уточнить - после выполнения (или точнее, в процессе выполнения), пока система не ушла в БСОД. Как обычно, на StopRead прервите выполнение и заскриньте панель ReadData0.

Более отвлечённый вопрос - а на младших ОС (7 или XP) удалось получить какой-нибудь вменяемый ответ? Могли бы вы подставить 32-битные библиотеки из этой темы на 7/XP и проверить?.. Чтобы определиться, что не так всё-таки с новым вариантом библиотек.
Agat
junior
junior
Сообщения: 56
Зарегистрирован: 16 янв 2019, 09:22
Версия LabVIEW: 18
Благодарил (а): 8 раз
Контактная информация:

Re: USB3000 & LabView

Сообщение Agat »

dadreamer писал(а): А 32-битные DLL'ки вы брали родные или из моего поста в этой теме?
DLL'ки ваши.
dadreamer писал(а): Замените Rtusbapi.dll и wrRtusbapi.dll на Debug-версии и запустите пример ReadData0.vi. Версии выложены на первой странице этой темы с пометкой DBG. При открытии :vi: отобразится окно консоли, куда будет выводиться информация о вызываемых функциях.
консоль.txt
(15.38 КБ) 205 скачиваний
dadreamer писал(а): Забыл уточнить - после выполнения (или точнее, в процессе выполнения), пока система не ушла в БСОД. Как обычно, на StopRead прервите выполнение и заскриньте панель ReadData0.
Панель.jpg
dadreamer писал(а): Более отвлечённый вопрос - а на младших ОС (7 или XP) удалось получить какой-нибудь вменяемый ответ? Могли бы вы подставить 32-битные библиотеки из этой темы на 7/XP и проверить?.. Чтобы определиться, что не так всё-таки с новым вариантом библиотек.
На ХР завтра попробую.
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3998
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 149 раз

Re: USB3000 & LabView

Сообщение dadreamer »

Agat, по консоли и скриншотам - ошибок никаких нет. Теперь надо как-то поймать вывод после захода в StopRead, т.е. всё, что будет написано после строки IDevPtr->SET_INPUT_PARS returned TRUE (OK). Полагаю, есть небольшое время между вызовом этого блока и крахом системы?.. Можно успеть сфоткать на фотоаппарат, при желании. Или нет?
По варианту 32 бит - нужно так же читать отладку, без неё не могу больше ничего сказать. Вывод там должен быть не такой большой, т.к. до InitModule дело не доходит.
Agat
junior
junior
Сообщения: 56
Зарегистрирован: 16 янв 2019, 09:22
Версия LabVIEW: 18
Благодарил (а): 8 раз
Контактная информация:

Re: USB3000 & LabView

Сообщение Agat »

dadreamer писал(а):Agat, по консоли и скриншотам - ошибок никаких нет. Теперь надо как-то поймать вывод после захода в StopRead, т.е. всё, что будет написано после строки IDevPtr->SET_INPUT_PARS returned TRUE (OK). Полагаю, есть небольшое время между вызовом этого блока и крахом системы?.. Можно успеть сфоткать на фотоаппарат, при желании. Или нет?
По варианту 32 бит - нужно так же читать отладку, без неё не могу больше ничего сказать. Вывод там должен быть не такой большой, т.к. до InitModule дело не доходит.
Лог консоли, который я скинул - это за один шаг до ошибки, после нажатия следующего шага labview замерает на несколько секунд и в логе ничего не менятся! после синий экран.
В 32-битной версии заработало!!! Изначально с модулями напутал.
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3998
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 149 раз

Re: USB3000 & LabView

Сообщение dadreamer »

Agat писал(а):В 32-битной версии заработало!!! Изначально с модулями напутал.
32-битные DLL из этой темы, 32-битный :labview: на Windows 10?
Agat
junior
junior
Сообщения: 56
Зарегистрирован: 16 янв 2019, 09:22
Версия LabVIEW: 18
Благодарил (а): 8 раз
Контактная информация:

Re: USB3000 & LabView

Сообщение Agat »

dadreamer писал(а):
Agat писал(а):В 32-битной версии заработало!!! Изначально с модулями напутал.
32-битные DLL из этой темы, 32-битный :labview: на Windows 10?
Так точно.
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3998
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 149 раз

Re: USB3000 & LabView

Сообщение dadreamer »

У меня такое ощущение, что уже в GetInputPars стэк портится, а когда программа в StopRead входит, :labview: просто падает с исключением. В StopRead всего одна функция вызывается, ничего "криминального" не должно быть. Ну, для 100%-ной дефектовки можно провести тест вот на такой программе:
ReadData-TEST.vi
lv2018
(21.27 КБ) 201 скачивание
Как видно из диаграммы, активированы три :vi: : CreateInstance, InitModule и ReleaseInstance. Три прочих :vi: - GetInputPars, SetInputPars и StopRead - отключены. Предлагаю выполнить серию запусков с фиксацией результата:
1. Исходное состояние, как есть - всё должно быть ок;
2. CreateInstance, InitModule, StopRead и ReleaseInstance;
3. CreateInstance, InitModule, GetInputPars и ReleaseInstance;
4. CreateInstance, InitModule, SetInputPars и ReleaseInstance;
5. CreateInstance, InitModule, GetInputPars, SetInputPars и ReleaseInstance.
Что происходит, когда все 6 :vi: работают, мы уже знаем. После каждого запуска желательно делать так: File -> Close All. Зачем? Чтобы явно вызвать падение :labview: , если память порушена (при закрытии :vi: :labview: выполняет очистку памяти и, "наступая на грабли" в стэке, легко падает, тогда как при открытом :vi: вылет может произойти далеко не сразу).

Спасибо, что всё ещё продолжаете заниматься этим нелёгким делом. Надеюсь, допилим-таки 64-битные либы до рабочего состояния. :wink:
Agat
junior
junior
Сообщения: 56
Зарегистрирован: 16 янв 2019, 09:22
Версия LabVIEW: 18
Благодарил (а): 8 раз
Контактная информация:

Re: USB3000 & LabView

Сообщение Agat »

dadreamer писал(а):Спасибо, что всё ещё продолжаете заниматься этим нелёгким делом. Надеюсь, допилим-таки 64-битные либы до рабочего состояния. :wink:
Мне спасибо? Это вам спасибо!
Ошибка возникает только в 5-ом варинте...
CreateInstance,InitModul,ReleaseInstance.txt
(9.06 КБ) 224 скачивания
CreateInstance,InitModul,GetInputPars,ReleaseInstance.txt
(15.33 КБ) 209 скачиваний
CreateInstance,InitModul,SetInputPars,ReleaseInstance.txt
(10.16 КБ) 271 скачивание
CreateInstance,InitModul,StopRead,ReleaseInstance.txt
(9.86 КБ) 283 скачивания
Agat
junior
junior
Сообщения: 56
Зарегистрирован: 16 янв 2019, 09:22
Версия LabVIEW: 18
Благодарил (а): 8 раз
Контактная информация:

Re: USB3000 & LabView

Сообщение Agat »

Прошелся по шагам в конфигурации 5. CreateInstance, InitModule, GetInputPars, SetInputPars и ReleaseInstance.
Ошибка возникла при выполнении ReleaseInstance
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3998
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 149 раз

Re: USB3000 & LabView

Сообщение dadreamer »

Нашёл несколько однотипных "косяков" в коде GetInputPars, SetInputPars и ReleaseInstance. Не совсем корректно выполнялась работа с памятью для некоторых структур. Профиксил :vi: , перезалил - http://labviewportal.org/viewtopic.php?p=80045#p80045 Прошу проверить и отписать результат.
Agat
junior
junior
Сообщения: 56
Зарегистрирован: 16 янв 2019, 09:22
Версия LabVIEW: 18
Благодарил (а): 8 раз
Контактная информация:

Re: USB3000 & LabView

Сообщение Agat »

dadreamer писал(а):Нашёл несколько однотипных "косяков" в коде GetInputPars, SetInputPars и ReleaseInstance. Не совсем корректно выполнялась работа с памятью для некоторых структур. Профиксил :vi: , перезалил - http://labviewportal.org/viewtopic.php?p=80045#p80045 Прошу проверить и отписать результат.
Ура Работает!!! :1stplace: а как консоль убрать?
Спасибо вам большое! Надеюсь это понадобится не только мне.
Аватара пользователя
dadreamer

Activity Professionalism Tutorials Gold Silver
Bronze Black Автор
professor
professor
Сообщения: 3998
Зарегистрирован: 17 фев 2013, 16:33
Награды: 9
Версия LabVIEW: 2.5 — 2025
Благодарил (а): 14 раз
Поблагодарили: 149 раз

Re: USB3000 & LabView

Сообщение dadreamer »

Agat писал(а):Ура Работает!!! :1stplace: а как консоль убрать?
Замените Rtusbapi.dll и wrRtusbapi.dll на обычные версии (без пометки DBG).
Agat писал(а):Спасибо вам большое! Надеюсь это понадобится не только мне.
Пожалуйста! :wink: Я тоже на это надеюсь. :)

P.S.: если нужны исходники обёрток или основных библиотек, дайте знать.
Mr_Wolf
interested
interested
Сообщения: 1
Зарегистрирован: 29 сен 2025, 11:12
Версия LabVIEW: 2019
Контактная информация:

Re: USB3000 & LabView

Сообщение Mr_Wolf »

Здравствуйте, у меня возникли проблемы с чтением данных с модуля USB3000 из LabView.

С Вашими dll: Rtusbapi.dll и wrRtusbapi.dll, выложенными в этой ветке, пример "ReadData0.vi" из SDK от производителя частично запускается, но возникает ошибка при вызове "ReadData.vi".
Ошибка: "ReadFile returned 0, GetLastError = 3e5, message is 'Overlapped I/O operation is in progress.", что видно в консоли при использовании Ваших dll с пометкой DBG.
Также, после завершения примера "ReadData0.vi" по нажатии кнопки "STOP", т.е. с вызовом функций "ReleaseInstace.vi", повторно запустить пример без переподключения устройства не получается, возникает ошибка: "call CreateFile with szDrvName='\\.\Rtecusb0' CreateFile returned 0xffffffff, GetLastError = 5, message is 'Access is denied.".

При этом, модуль корректно работает при запуске программы "RtViewer" из SDK.
Корректно запускается пример "ModuleLoading" и написанный Вами тестовый пример "_ Basic LV Test.vi".
Примеры корректно перезапускаются без переподключения модуля.
Прилагаю скриншоты лицевой панели, а также логи из консоли при запуске "ReadData0.vi", "ModuleLoading" и "_ Basic LV Test.vi".
Операционная система Windows 10 64бит, LabView 2019 32бит.

Прошу помочь разобраться с этой ошибкой.
Вложения
Лицевая панель Вашей тестовой программы "_ Basic LV Test.vi"
Лицевая панель Вашей тестовой программы "_ Basic LV Test.vi"
_ Basic LV Test_log.txt
Лог программы "_ Basic LV Test.vi"
(8.31 КБ) 29 скачиваний
Лицевая панель программы "ModuleLoading"
Лицевая панель программы "ModuleLoading"
ModuleLoading_log.txt
Лог программы "ModuleLoading"
(16.57 КБ) 32 скачивания
Лицевая панель программы "ReadData0.vi"
Лицевая панель программы "ReadData0.vi"
ReadData0_log.txt
Лог программы "ReadData0.vi"
(15.56 КБ) 41 скачивание
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»