USB3000 & LabView

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы

Re: USB3000 & LabView

Postby dadreamer on 15 Feb 2019, 22:18

Прошелся в ReadData0 по шагам - ошибка возникает в блоке StopRead...
Как-то уж слишком мало информации выдаёт 10-ка, даже имя сбойного модуля не написано. Два варианта: косяк в обёртках/dll или косяк в драйвере. Ошибка возникает сразу на первом блоке StopRead.vi? (5-й по счёту, идёт после SetInputPars.vi). В самом конце программы есть аналогичный StopRead.vi, стоит предпоследним, дальше ReleaseInstance.vi.
- В 32-битном :labview: на 32-битных библиотеках описанная ошибка возникает?
- Что выводится в консоль при запуске примера ReadData0 на отладочных (DBG) библиотеках? Скиньте, плиз, скрин или текст, если успеете скопировать (Пометить/Ctrl+M -> Enter).
- Покажите ещё панель ReadData0 целиком; желательно ещё глянуть панель StopRead после выполнения, чтобы проверить содержимое кластера ViStatusOut.
User avatar
dadreamer
professor
professor
 
Posts: 3420
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: USB3000 & LabView

Postby Agat on 18 Feb 2019, 07:52

Прошелся в 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
следующий шаг будет синий экран..
Agat
beginner
beginner
 
Posts: 28
Joined: 16 Jan 2019, 09:22
LabVIEW Version: 18
Karma: 0

Re: USB3000 & LabView

Postby dadreamer on 18 Feb 2019, 08:55

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

ReadData0 целиком
Забыл уточнить - после выполнения (или точнее, в процессе выполнения), пока система не ушла в БСОД. Как обычно, на StopRead прервите выполнение и заскриньте панель ReadData0.

Более отвлечённый вопрос - а на младших ОС (7 или XP) удалось получить какой-нибудь вменяемый ответ? Могли бы вы подставить 32-битные библиотеки из этой темы на 7/XP и проверить?.. Чтобы определиться, что не так всё-таки с новым вариантом библиотек.
User avatar
dadreamer
professor
professor
 
Posts: 3420
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: USB3000 & LabView

Postby Agat on 18 Feb 2019, 10:45

А 32-битные DLL'ки вы брали родные или из моего поста в этой теме?
DLL'ки ваши.
Замените Rtusbapi.dll и wrRtusbapi.dll на Debug-версии и запустите пример ReadData0.vi. Версии выложены на первой странице этой темы с пометкой DBG. При открытии :vi: отобразится окно консоли, куда будет выводиться информация о вызываемых функциях.
консоль.txt
(15.38 KiB) Downloaded 37 times


Забыл уточнить - после выполнения (или точнее, в процессе выполнения), пока система не ушла в БСОД. Как обычно, на StopRead прервите выполнение и заскриньте панель ReadData0.
Панель.jpg

Более отвлечённый вопрос - а на младших ОС (7 или XP) удалось получить какой-нибудь вменяемый ответ? Могли бы вы подставить 32-битные библиотеки из этой темы на 7/XP и проверить?.. Чтобы определиться, что не так всё-таки с новым вариантом библиотек.
На ХР завтра попробую.
Agat
beginner
beginner
 
Posts: 28
Joined: 16 Jan 2019, 09:22
LabVIEW Version: 18
Karma: 0

Re: USB3000 & LabView

Postby dadreamer on 18 Feb 2019, 11:04

Agat, по консоли и скриншотам - ошибок никаких нет. Теперь надо как-то поймать вывод после захода в StopRead, т.е. всё, что будет написано после строки IDevPtr->SET_INPUT_PARS returned TRUE (OK). Полагаю, есть небольшое время между вызовом этого блока и крахом системы?.. Можно успеть сфоткать на фотоаппарат, при желании. Или нет?
По варианту 32 бит - нужно так же читать отладку, без неё не могу больше ничего сказать. Вывод там должен быть не такой большой, т.к. до InitModule дело не доходит.
User avatar
dadreamer
professor
professor
 
Posts: 3420
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: USB3000 & LabView

Postby Agat on 20 Feb 2019, 07:37

Agat, по консоли и скриншотам - ошибок никаких нет. Теперь надо как-то поймать вывод после захода в StopRead, т.е. всё, что будет написано после строки IDevPtr->SET_INPUT_PARS returned TRUE (OK). Полагаю, есть небольшое время между вызовом этого блока и крахом системы?.. Можно успеть сфоткать на фотоаппарат, при желании. Или нет?
По варианту 32 бит - нужно так же читать отладку, без неё не могу больше ничего сказать. Вывод там должен быть не такой большой, т.к. до InitModule дело не доходит.
Лог консоли, который я скинул - это за один шаг до ошибки, после нажатия следующего шага labview замерает на несколько секунд и в логе ничего не менятся! после синий экран.
В 32-битной версии заработало!!! Изначально с модулями напутал.
Agat
beginner
beginner
 
Posts: 28
Joined: 16 Jan 2019, 09:22
LabVIEW Version: 18
Karma: 0

Re: USB3000 & LabView

Postby dadreamer on 20 Feb 2019, 08:18

В 32-битной версии заработало!!! Изначально с модулями напутал.
32-битные DLL из этой темы, 32-битный :labview: на Windows 10?
User avatar
dadreamer
professor
professor
 
Posts: 3420
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: USB3000 & LabView

Postby Agat on 20 Feb 2019, 10:13

В 32-битной версии заработало!!! Изначально с модулями напутал.
32-битные DLL из этой темы, 32-битный :labview: на Windows 10?
Так точно.
Agat
beginner
beginner
 
Posts: 28
Joined: 16 Jan 2019, 09:22
LabVIEW Version: 18
Karma: 0

Re: USB3000 & LabView

Postby dadreamer on 20 Feb 2019, 22:16

У меня такое ощущение, что уже в GetInputPars стэк портится, а когда программа в StopRead входит, :labview: просто падает с исключением. В StopRead всего одна функция вызывается, ничего "криминального" не должно быть. Ну, для 100%-ной дефектовки можно провести тест вот на такой программе:
ReadData-TEST.vi
lv2018
(21.27 KiB) Downloaded 32 times
Как видно из диаграммы, активированы три :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:
User avatar
dadreamer
professor
professor
 
Posts: 3420
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: USB3000 & LabView

Postby Agat on 21 Feb 2019, 08:06

Спасибо, что всё ещё продолжаете заниматься этим нелёгким делом. Надеюсь, допилим-таки 64-битные либы до рабочего состояния. :wink:
Мне спасибо? Это вам спасибо!
Ошибка возникает только в 5-ом варинте...
CreateInstance,InitModul,GetInpuPars,SetInputPars,ReleaseInstance.txt
(15.38 KiB) Downloaded 33 times

CreateInstance,InitModul,ReleaseInstance.txt
(9.06 KiB) Downloaded 33 times
CreateInstance,InitModul,GetInputPars,ReleaseInstance.txt
(15.33 KiB) Downloaded 33 times
CreateInstance,InitModul,GetInpuPars,SetInputPars,ReleaseInstance.txt
(15.38 KiB) Downloaded 33 times
CreateInstance,InitModul,SetInputPars,ReleaseInstance.txt
(10.16 KiB) Downloaded 34 times
CreateInstance,InitModul,StopRead,ReleaseInstance.txt
(9.86 KiB) Downloaded 34 times
Agat
beginner
beginner
 
Posts: 28
Joined: 16 Jan 2019, 09:22
LabVIEW Version: 18
Karma: 0

Re: USB3000 & LabView

Postby Agat on 21 Feb 2019, 08:17

Прошелся по шагам в конфигурации 5. CreateInstance, InitModule, GetInputPars, SetInputPars и ReleaseInstance.
Ошибка возникла при выполнении ReleaseInstance
Agat
beginner
beginner
 
Posts: 28
Joined: 16 Jan 2019, 09:22
LabVIEW Version: 18
Karma: 0

Re: USB3000 & LabView

Postby dadreamer on 24 Feb 2019, 21:54

Нашёл несколько однотипных "косяков" в коде GetInputPars, SetInputPars и ReleaseInstance. Не совсем корректно выполнялась работа с памятью для некоторых структур. Профиксил :vi: , перезалил - viewtopic.php?p=80045#p80045 Прошу проверить и отписать результат.
User avatar
dadreamer
professor
professor
 
Posts: 3420
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Re: USB3000 & LabView

Postby Agat on 25 Feb 2019, 08:11

Нашёл несколько однотипных "косяков" в коде GetInputPars, SetInputPars и ReleaseInstance. Не совсем корректно выполнялась работа с памятью для некоторых структур. Профиксил :vi: , перезалил - viewtopic.php?p=80045#p80045 Прошу проверить и отписать результат.
Ура Работает!!! :1stplace: а как консоль убрать?
Спасибо вам большое! Надеюсь это понадобится не только мне.
Agat
beginner
beginner
 
Posts: 28
Joined: 16 Jan 2019, 09:22
LabVIEW Version: 18
Karma: 0

Re: USB3000 & LabView

Postby dadreamer on 25 Feb 2019, 09:12

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

P.S.: если нужны исходники обёрток или основных библиотек, дайте знать.
User avatar
dadreamer
professor
professor
 
Posts: 3420
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2019
Karma: 858
I/O VIP vision internet

Previous

Return to Коммуникация с приборами

Who is online

Users browsing this forum: No registered users and 4 guests

cron