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

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

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение dadreamer »

Atom, так используйте Визу, кто ж вам запрещает. :wink: Тем более что это универсальный инструментарий для работы с различным железом из-под LV. Просто вы ж взялись переделать нынешний алгоритм поиска искомого устройства. Так что тут два пути: либо возвращать, как было, либо доводить задумку до конца. На остальные куски кода это вообще никак не должно повлиять, если речь об этом...
Atom
advanced
advanced
Сообщения: 196
Зарегистрирован: 01 ноя 2009, 23:18
Версия LabVIEW: 2010
Откуда: Москва
Контактная информация:

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

Сообщение Atom »

В продолжении моих измышлений:
А зачем нам каждый раз открывать/закрывать сессию (для каждого дескриптора в массиве) когда мы можем просто проанализировать массив на предмет совпадения и открыть сессию (получить resource name) только тогда, когда нашли НУЖНЫЙ нам дескриптор.
Попробую в этом ключе модернуть мою SubVI-ку.
Atom
advanced
advanced
Сообщения: 196
Зарегистрирован: 01 ноя 2009, 23:18
Версия LabVIEW: 2010
Откуда: Москва
Контактная информация:

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

Сообщение Atom »

dadreamer писал(а):так используйте Визу, кто ж вам запрещает. :wink: Тем более что это универсальный инструментарий для работы с различным железом из-под LV. Просто вы ж взялись переделать нынешний алгоритм поиска искомого устройства.
Это понятно. И я не взялся его переделывать, а я хочу его сделать наиболее оптимально. Я же обещал прислушиваться к доводам "старших" :thank:
Вот и разбираюсь с вашей помощью как сделать этот узел правильнее. Спасибо что не бросаете это обсуждение. Вот сейчас мы уже к чему-то предварительно приплыли.
Atom
advanced
advanced
Сообщения: 196
Зарегистрирован: 01 ноя 2009, 23:18
Версия LabVIEW: 2010
Откуда: Москва
Контактная информация:

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

Сообщение Atom »

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

Проверил свою идею.
Да, в массиве выходящем из VISA F находится не то что мы видим в диспетчере устройств.
Но так как было РЕШЕНО работать (определятся) ПО ДЕСКРИПТОРУ (как в диспетчере) то нужно вместо VISA F сделать "что-то" аналогичное (сформировать массив), но только чтобы в массиве была инфа как в диспетчере. И вот из этого "чего-то" должны быть выходы самого массива и количества записей в нем. Естественно разговор идет только о СОМ портах (железных или виртуальных). Где-то подобный кусок на днях попадался но с лету не могу найти.
Продолжу изыскания завтра. Если ткнете буду признателен.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение dadreamer »

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

Или используйте вот такой :vi: , работающий через Setup API.
Вложения
List COMs.vi
lv2009
(58.17 КБ) 215 скачиваний
2016-12-28_12-09-16.jpg
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

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

Сообщение Blackman »

dadreamer писал(а):... Или используйте вот такой :vi: , работающий через Setup API.
У меня не все порты находит)
Вложения
List COMs FP.PNG
VISA_Find by Interface Name FP.PNG
VISA_Find by Interface Name BD.PNG
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение dadreamer »

Blackman писал(а):
dadreamer писал(а):... Или используйте вот такой :vi: , работающий через Setup API.
У меня не все порты находит)
Вложения
List COMs - 2.vi
lv2009
(58.22 КБ) 208 скачиваний
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

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

Сообщение Blackman »

:cry:
Вложения
List COMs - 2 FP.PNG
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение dadreamer »

Blackman, что за странный порт такой... Изображение Скиньте вывод софтины EnumSer.exe - разберёмся. :wink:
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

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

Сообщение Blackman »

:wink:
Вложения
My Serial VISA Resources.PNG
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение dadreamer »

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

Да и до кучи - COM3 физически отсутствует в системе (нету его в списке портов), хотя к нему идёт привязка от модема. По моему методу перечисляются только существующие устройства (см. флаги GetClassDevs).
Вложения
List COMs (Modems).vi
lv2009
(58.21 КБ) 235 скачиваний
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

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

Сообщение Blackman »

Во вкладке указан COM3. На вкладке "Дополнительные параметры связи" стандартные настройки порта. MAX его определяет нормально. VISA c ним работает (class serial). Понятно, что порт виртуальной, но в этом и заключается его фишка. Он работает как физический порт с Loopback.)
Последний раз редактировалось Blackman 28 дек 2016, 23:15, всего редактировалось 1 раз.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение dadreamer »

Blackman, однако в диспетчере его нет как класса. Это не просто виртуальный порт, а порт-призрак. :D Его можно перечислить при желании. Но к тематике это имеет довольно посредственное отношение.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

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

Сообщение Blackman »

dadreamer писал(а):...Его можно перечислить при желании. Но к тематике это имеет довольно посредственное отношение.
VISA это делает без всяких условий. Исходная тема уже давно трансформировалась в тему о способах (технике, алгоритме, стиле ...) программного поиска требуемых ресурсов, а какой он - физический, виртуальный или "призрак" уже второе дело.
Atom
advanced
advanced
Сообщения: 196
Зарегистрирован: 01 ноя 2009, 23:18
Версия LabVIEW: 2010
Откуда: Москва
Контактная информация:

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

Сообщение Atom »

Прошу прощение за отсутствие. Пытался на протяжении ШЕСТИ часов попасть на форум. При входе пишет что залогинился нормально и сразу выкидывает. Второй день уже так. Прям беда-огорчения.
dadreamer писал(а):Blackman, однако в диспетчере его нет как класса.
А если в диспетчере во вкладке "Вид" поставить галку на "Показать скрытые устройства" - он где нибудь покажется? Может даже не обязательно в разделе портов.
Ответить

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