Страница 4 из 6

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

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

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

Добавлено: 27 дек 2016, 22:54
Atom
В продолжении моих измышлений:
А зачем нам каждый раз открывать/закрывать сессию (для каждого дескриптора в массиве) когда мы можем просто проанализировать массив на предмет совпадения и открыть сессию (получить resource name) только тогда, когда нашли НУЖНЫЙ нам дескриптор.
Попробую в этом ключе модернуть мою SubVI-ку.

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

Добавлено: 27 дек 2016, 23:03
Atom
dadreamer писал(а):так используйте Визу, кто ж вам запрещает. :wink: Тем более что это универсальный инструментарий для работы с различным железом из-под LV. Просто вы ж взялись переделать нынешний алгоритм поиска искомого устройства.
Это понятно. И я не взялся его переделывать, а я хочу его сделать наиболее оптимально. Я же обещал прислушиваться к доводам "старших" :thank:
Вот и разбираюсь с вашей помощью как сделать этот узел правильнее. Спасибо что не бросаете это обсуждение. Вот сейчас мы уже к чему-то предварительно приплыли.

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

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

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

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

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

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

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

Добавлено: 28 дек 2016, 10:54
Blackman
dadreamer писал(а):... Или используйте вот такой :vi: , работающий через Setup API.
У меня не все порты находит)

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

Добавлено: 28 дек 2016, 11:17
dadreamer
Blackman писал(а):
dadreamer писал(а):... Или используйте вот такой :vi: , работающий через Setup API.
У меня не все порты находит)

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

Добавлено: 28 дек 2016, 11:42
Blackman
:cry:

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

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

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

Добавлено: 28 дек 2016, 22:33
Blackman
:wink:

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

Добавлено: 28 дек 2016, 22:53
dadreamer
Blackman, так это не COM-порт, а модем! Потому и не определяет. Нужно указать другой GUID.

Да и до кучи - COM3 физически отсутствует в системе (нету его в списке портов), хотя к нему идёт привязка от модема. По моему методу перечисляются только существующие устройства (см. флаги GetClassDevs).

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

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

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

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

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

Добавлено: 28 дек 2016, 23:52
Blackman
dadreamer писал(а):...Его можно перечислить при желании. Но к тематике это имеет довольно посредственное отношение.
VISA это делает без всяких условий. Исходная тема уже давно трансформировалась в тему о способах (технике, алгоритме, стиле ...) программного поиска требуемых ресурсов, а какой он - физический, виртуальный или "призрак" уже второе дело.

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

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