Что творится с VISAй?

Простейшие вопросы в области инженерной разработки

Что творится с VISAй?

Postby Юрий on 18 Jan 2020, 22:34

Посылаю команду. VISA Write даёт ошибку -1073807298 (Could not perform operation because of I/O error.). Но устройство отвечает совершенно адекватно команде. Что бы это могло быть? Раньше такого не было.
Юрий
professional
professional
 
Posts: 332
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Что творится с VISAй?

Postby dadreamer on 18 Jan 2020, 23:15

А параллельно с устройством никто не работает в этот момент (окно MAX, терминал, какие-то другие утилиты)?
User avatar
dadreamer
professor
professor
 
Posts: 3423
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: Что творится с VISAй?

Postby Юрий on 19 Jan 2020, 00:06

Ничего. Сколько уж работал и всё нормально, а сегодня - на тебе. А работал так. Родную программу модема (устройство- это модем) отключаю и работаю со своей. И всё было нормально до сегодняшнего дня. Правда, есть интереснейшая ситуация, которая была изначально и до которой ещё руки не дошли разобраться. Диспетчер устройств показывает, что модем подключён к COM4, а при работе с VISA с этим устройством общаюсь через COM5. На COM4 VISA ругается. В общем заколдун.
Юрий
professional
professional
 
Posts: 332
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Что творится с VISAй?

Postby Юрий on 19 Jan 2020, 00:53

Чего то сразу не сообразил. При подключённом другом устройстве выдаётся ошибка -1073807246 (The resource is valid, but VISA cannot currently access it.).
Юрий
professional
professional
 
Posts: 332
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Что творится с VISAй?

Postby dadreamer on 19 Jan 2020, 15:21

Юрий
Вы правы, это я не сообразил, что ошибки разные получаются и в данном случае причина кроется в другом. У меня такое бывало, может, раза 2-3 за всё время пользования :labview: и возникало, когда с устройством работали то через одну утилиту, то через другую. Например, сперва подключались прогой от производителя, потом её закрывали, подключались из-под :labview: , закрывали так далее. Каждая программа по своему инициализирует подключение, иногда драйвер может "переклинить". Бывало, что приходилось перезапускать :labview: .

>> Диспетчер устройств показывает, что модем подключён к COM4, а при работе с VISA с этим устройством общаюсь через COM5.
Похоже на софтовую петлю (loopback), такое обычно делается при установке виртуального COM-порта (эмулятор порта). Модемный софт такое часто делает, причём используется порт, физически отсутствующий в системе. Вот здесь мы похожий случай разбирали: http://www.labviewportal.ru/viewtopic.p ... 519#p73519

Советов в сложившейся ситуации у меня немного. Попробуйте поменять режим работы VISA Write / Read на синхронный (ПКМ по узлу -> Synchronous I/O Mode). Также проверьте настройки VISA Configure Serial Port, может есть какие-то расхождения в инициализации в :labview: и в программе от поставщика. В идеале можно пройтись сниффером и сравнить оба результата. Можете попробовать удалить фантомные порты из системы: https://superuser.com/questions/408976/ ... rts-in-use Хотя это, скорее всего, никак не поможет.

>> Но устройство отвечает совершенно адекватно команде.
Я правильно понимаю, что несмотря на ошибку, всё работает? Если так, то может просто игнорить?
User avatar
dadreamer
professor
professor
 
Posts: 3423
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: Что творится с VISAй?

Postby Юрий on 20 Jan 2020, 22:09

>>Я правильно понимаю, что несмотря на ошибку, всё работает? Если так, то может просто игнорить?
Это была первая мысль выхода из ситуации. Если не удастся разобраться, то так и сделаю. А пока так и не удаётся. Спасибо за ссылки с интересом посмотрел. Не догадываюсь, скорее, что не знаю, что имеется ввиду под "сниффером".
Юрий
professional
professional
 
Posts: 332
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Что творится с VISAй?

Postby dadreamer on 21 Jan 2020, 13:56

>> Не догадываюсь, скорее, что не знаю, что имеется ввиду под "сниффером".
Вот здесь описано на русском: https://www.aggsoft.ru/serial-port-moni ... niffer.htm В составе :labview: есть сниффер NI IO Trace (ранее назывался NI Spy), его можно использовать для прослушивания вызовов через VISA. Скорее всего, программа от вендора написана не на :labview: , поэтому придётся взять сторонний сниффер на Windows API, типа Advanced Serial Port Monitor или другой, их очень много в природе. Из бесплатных: https://docs.microsoft.com/en-us/sysint ... ds/portmon (мануал: https://www.mathworks.com/matlabcentral ... erial-port) , https://freeserialanalyzer.com/ или https://www.serialmon.com/ . Вам надо проверить только параметры инициализации порта, т.е. увидеть, какую скорость, чётность, число битов и прочее выставляет программа от производителя, и потом сравнить с тем, что задаёте на инструменте VISA Configure.
User avatar
dadreamer
professor
professor
 
Posts: 3423
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: Что творится с VISAй?

Postby Юрий on 21 Jan 2020, 22:24

dadreamer, спасибо. Advanced Serial Port Monitor в своё время использовал очень активно - отличная программа. С самого начала хотел ей ткнуться. Но, то ли лень, то ли внутренний голос говорил, что не в этом дело. В общем всё же её запустил, выставил настройки, но результат не изменился. Но, ведь, работало то нормально, но момент изменения ни с чем не могу связать.
Юрий
professional
professional
 
Posts: 332
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Что творится с VISAй?

Postby dadreamer on 21 Jan 2020, 23:14

Ну, у меня остались только глупые советы а ля переустановить/обновить Визу согласно этой таблице: http://www.ni.com/product-documentation/53413/en/ А если в MAX сделать простейший тест "запись-чтение", такая же ошибка выскочит?
User avatar
dadreamer
professor
professor
 
Posts: 3423
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: Что творится с VISAй?

Postby Юрий on 22 Jan 2020, 23:13

VISA переустановил, ничего не изменилось. В MAX та же ситуация - выдаёт ошибку "VISA: (Hex 0xBFFF003E) Could not perform operation because of I/O error.", но устройство даёт правильный ответ (в MAXе).
Юрий
professional
professional
 
Posts: 332
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Что творится с VISAй?

Postby dadreamer on 22 Jan 2020, 23:22

Хотя я лично не сталкивался, но возможно, это тот редкий случай, когда VISA не совсем подходит для этого конкретного устройства. Например, драйвер как-то нестандартно написан. Попробуйте альтернативу: http://www.mhst.de/downloads.htm (под 32-битный LV) Конечно, можете игнорить ошибку и работать дальше. Просто предлагаю work-around, если есть желание и время на эксперименты.
User avatar
dadreamer
professor
professor
 
Posts: 3423
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: Что творится с VISAй?

Postby Юрий on 23 Jan 2020, 20:24

Всё время lvserial и использовал до того, как пересел на новый 64 разрядный ноутбук с Windows 8. Жаль, что он не 64 разрядный. Пока плюнул и игнорирую именно эту ошибку и раздумываю, что, может быть, для идентификации правильного посыла лучше будет использовать количество байт, которое выдаёт VISA Write. Т.е. оно должно быть равно количеству отсылаемых байт.
Юрий
professional
professional
 
Posts: 332
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Что творится с VISAй?

Postby dadreamer on 23 Jan 2020, 20:45

>> Жаль, что он не 64 разрядный
Я имел в виду, что :labview: должен быть 32 бита, а система может быть вполне 64. Сам давно уже сижу везде под 64-битными Виндами, на некоторых спокойно уживаются разные разрядности и версии :labview: .

Однако даже если :labview: 64 бита, ситуация не совсем безвыходная. Автор lvserial.dll выложил на сайте исходники на сях, можно попробовать скомпилировать под 64 бита. У меня, правда, сейчас студии нет под рукой, надо будет ставить. И похоже, придётся маленько обёртки править: хэндл на порт передаётся везде как U32, а не U64; возможно, есть и другие косяки.
User avatar
dadreamer
professor
professor
 
Posts: 3423
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: Что творится с VISAй?

Postby Юрий on 23 Jan 2020, 21:56

Решил посмотреть что же делается с другими устройствами. Кое что сделано на STM32, но не удачно в плане размещения компонентов - USB-шный кабель не лез чисто физически. Ситуация заставила его варварски доработать. В результате с этим устройством обсуждаемой ситуации нет - работает как по маслу, без ошибок. Жаль, что совершенно не могу вспомнить, что было на тот момент, когда стала появляться ошибка.
Юрий
professional
professional
 
Posts: 332
Joined: 28 Feb 2010, 18:04
LabVIEW Version: LV2015
Karma: 55

Re: Что творится с VISAй?

Postby dadreamer on 25 Jan 2020, 22:29

>> Автор lvserial.dll выложил на сайте исходники на сях, можно попробовать скомпилировать под 64 бита.
Скомпилил: viewtopic.php?p=82105#p82105 Но толком не тестировал (нет сейчас железа), открыл порт, записал данные, закрыл порт - без ошибок.
User avatar
dadreamer
professor
professor
 
Posts: 3423
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

Next

Return to Для чайников

Who is online

Users browsing this forum: Google and 8 guests

cron