Разрывается связь с СОМ портом

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

Re: Разрывается связь с СОМ портом

Postby dadreamer on 27 Dec 2016, 22:44

Atom, так используйте Визу, кто ж вам запрещает. :wink: Тем более что это универсальный инструментарий для работы с различным железом из-под LV. Просто вы ж взялись переделать нынешний алгоритм поиска искомого устройства. Так что тут два пути: либо возвращать, как было, либо доводить задумку до конца. На остальные куски кода это вообще никак не должно повлиять, если речь об этом...
User avatar
dadreamer
doctor
doctor
 
Posts: 2598
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2016
Karma: 657
I/O VIP vision internet

Re: Разрывается связь с СОМ портом

Postby Atom on 27 Dec 2016, 22:54

В продолжении моих измышлений:
А зачем нам каждый раз открывать/закрывать сессию (для каждого дескриптора в массиве) когда мы можем просто проанализировать массив на предмет совпадения и открыть сессию (получить resource name) только тогда, когда нашли НУЖНЫЙ нам дескриптор.
Попробую в этом ключе модернуть мою SubVI-ку.
Atom
advanced
advanced
 
Posts: 182
Joined: 01 Nov 2009, 23:18
Location: Москва
LabVIEW Version: 2010
Karma: 0

Re: Разрывается связь с СОМ портом

Postby Atom on 27 Dec 2016, 23:03

dadreamer wrote:так используйте Визу, кто ж вам запрещает. :wink: Тем более что это универсальный инструментарий для работы с различным железом из-под LV. Просто вы ж взялись переделать нынешний алгоритм поиска искомого устройства.

Это понятно. И я не взялся его переделывать, а я хочу его сделать наиболее оптимально. Я же обещал прислушиваться к доводам "старших" :thank:
Вот и разбираюсь с вашей помощью как сделать этот узел правильнее. Спасибо что не бросаете это обсуждение. Вот сейчас мы уже к чему-то предварительно приплыли.
Atom
advanced
advanced
 
Posts: 182
Joined: 01 Nov 2009, 23:18
Location: Москва
LabVIEW Version: 2010
Karma: 0

Re: Разрывается связь с СОМ портом

Postby Atom on 28 Dec 2016, 00:16

В моей SubVI-ке (скрин в начале темы) мне не нравится то, что я действительно лишний раз стучусь не в свою квартиру (открываю и закрываю сессию того порта который мне не нужен).

Проверил свою идею.
Да, в массиве выходящем из VISA F находится не то что мы видим в диспетчере устройств.
Но так как было РЕШЕНО работать (определятся) ПО ДЕСКРИПТОРУ (как в диспетчере) то нужно вместо VISA F сделать "что-то" аналогичное (сформировать массив), но только чтобы в массиве была инфа как в диспетчере. И вот из этого "чего-то" должны быть выходы самого массива и количества записей в нем. Естественно разговор идет только о СОМ портах (железных или виртуальных). Где-то подобный кусок на днях попадался но с лету не могу найти.
Продолжу изыскания завтра. Если ткнете буду признателен.
Atom
advanced
advanced
 
Posts: 182
Joined: 01 Nov 2009, 23:18
Location: Москва
LabVIEW Version: 2010
Karma: 0

Re: Разрывается связь с СОМ портом

Postby dadreamer on 28 Dec 2016, 08:38

Atom wrote:Если ткнете буду признателен.

Если все прыдыдущие софтины не подходят, то есть ещё кое что. Существует класс CEnumerateSerial для C++, использующий 9 (9, Карл!) методов для получения списка портов. Обсуждение работы класса можно почитать здесь: http://stackoverflow.com/questions/1388 ... s-in-win32 Сам класс и консольный пример лежит тут: http://www.naughter.com/enumser.html Если совсем лень париться, то можно взять эту утиль и сразу распарсить вывод в :labview: (работает, вроде, более менее быстро). По хорошему, надо переписать утиль на работу с аргументами, чтобы можно было выбрать один метод.

Или используйте вот такой :vi: , работающий через Setup API.
Attachments
List COMs.vi
lv2009
(58.17 KiB) Downloaded 16 times
2016-12-28_12-09-16.jpg
User avatar
dadreamer
doctor
doctor
 
Posts: 2598
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2016
Karma: 657
I/O VIP vision internet

Re: Разрывается связь с СОМ портом

Postby Blackman on 28 Dec 2016, 10:54

dadreamer wrote:... Или используйте вот такой :vi: , работающий через Setup API.

У меня не все порты находит)
Attachments
List COMs FP.PNG
VISA_Find by Interface Name FP.PNG
VISA_Find by Interface Name BD.PNG
Blackman
leader
leader
 
Posts: 548
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 116

Re: Разрывается связь с СОМ портом

Postby dadreamer on 28 Dec 2016, 11:17

Blackman wrote:
dadreamer wrote:... Или используйте вот такой :vi: , работающий через Setup API.

У меня не все порты находит)
Attachments
List COMs - 2.vi
lv2009
(58.22 KiB) Downloaded 15 times
User avatar
dadreamer
doctor
doctor
 
Posts: 2598
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2016
Karma: 657
I/O VIP vision internet

Re: Разрывается связь с СОМ портом

Postby Blackman on 28 Dec 2016, 11:42

:cry:
Attachments
List COMs - 2 FP.PNG
Blackman
leader
leader
 
Posts: 548
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 116

Re: Разрывается связь с СОМ портом

Postby dadreamer on 28 Dec 2016, 14:01

Blackman, что за странный порт такой... Image Скиньте вывод софтины EnumSer.exe - разберёмся. :wink:
User avatar
dadreamer
doctor
doctor
 
Posts: 2598
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2016
Karma: 657
I/O VIP vision internet

Re: Разрывается связь с СОМ портом

Postby Blackman on 28 Dec 2016, 22:33

:wink:
Attachments
My Serial VISA Resources.PNG
Blackman
leader
leader
 
Posts: 548
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 116

Re: Разрывается связь с СОМ портом

Postby dadreamer on 28 Dec 2016, 22:53

Blackman, так это не COM-порт, а модем! Потому и не определяет. Нужно указать другой GUID.

Да и до кучи - COM3 физически отсутствует в системе (нету его в списке портов), хотя к нему идёт привязка от модема. По моему методу перечисляются только существующие устройства (см. флаги GetClassDevs).
Attachments
List COMs (Modems).vi
lv2009
(58.21 KiB) Downloaded 9 times
User avatar
dadreamer
doctor
doctor
 
Posts: 2598
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2016
Karma: 657
I/O VIP vision internet

Re: Разрывается связь с СОМ портом

Postby Blackman on 28 Dec 2016, 23:08

Во вкладке указан COM3. На вкладке "Дополнительные параметры связи" стандартные настройки порта. MAX его определяет нормально. VISA c ним работает (class serial). Понятно, что порт виртуальной, но в этом и заключается его фишка. Он работает как физический порт с Loopback.)
Last edited by Blackman on 28 Dec 2016, 23:15, edited 1 time in total.
Blackman
leader
leader
 
Posts: 548
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 116

Re: Разрывается связь с СОМ портом

Postby dadreamer on 28 Dec 2016, 23:15

Blackman, однако в диспетчере его нет как класса. Это не просто виртуальный порт, а порт-призрак. :D Его можно перечислить при желании. Но к тематике это имеет довольно посредственное отношение.
User avatar
dadreamer
doctor
doctor
 
Posts: 2598
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2016
Karma: 657
I/O VIP vision internet

Re: Разрывается связь с СОМ портом

Postby Blackman on 28 Dec 2016, 23:52

dadreamer wrote:...Его можно перечислить при желании. Но к тематике это имеет довольно посредственное отношение.

VISA это делает без всяких условий. Исходная тема уже давно трансформировалась в тему о способах (технике, алгоритме, стиле ...) программного поиска требуемых ресурсов, а какой он - физический, виртуальный или "призрак" уже второе дело.
Blackman
leader
leader
 
Posts: 548
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 116

Re: Разрывается связь с СОМ портом

Postby Atom on 29 Dec 2016, 02:13

Прошу прощение за отсутствие. Пытался на протяжении ШЕСТИ часов попасть на форум. При входе пишет что залогинился нормально и сразу выкидывает. Второй день уже так. Прям беда-огорчения.

dadreamer wrote:Blackman, однако в диспетчере его нет как класса.


А если в диспетчере во вкладке "Вид" поставить галку на "Показать скрытые устройства" - он где нибудь покажется? Может даже не обязательно в разделе портов.
Atom
advanced
advanced
 
Posts: 182
Joined: 01 Nov 2009, 23:18
Location: Москва
LabVIEW Version: 2010
Karma: 0

PreviousNext

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

Who is online

Users browsing this forum: No registered users and 9 guests

cron