Несколько COM-портом в Labview
-
- beginner
- Сообщения: 10
- Зарегистрирован: 12 окт 2013, 11:47
- Версия LabVIEW: 7
- Контактная информация:
Несколько COM-портом в Labview
Здравствуйте! Необходимо реализовать в LabView одновременно с 2 устройствами. В обоих стоит микросхема FT232RL,которая преобразует USB в UART.Но в системе оба устройства определяются как USB Serial Port. Можно ли их как то переименовать, чтобы в программе определять устройство по названию?Есть ли у микросхем какая-то другая уникальная информация, с помощью которой можно определить, то устройство или не то подключено? Заранее спасибо.
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Несколько COM-портом в Labview
У Вас в списке COM портов появиться новый порт (виртуальный) для каждого устройства свой номер.
Вот и работайте как с обычным COM портом.
Только будьте внимательны, т.к. нумерация виртуальных портов непредсказуема и может изменяться.
Вот и работайте как с обычным COM портом.
Только будьте внимательны, т.к. нумерация виртуальных портов непредсказуема и может изменяться.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- beginner
- Сообщения: 10
- Зарегистрирован: 12 окт 2013, 11:47
- Версия LabVIEW: 7
- Контактная информация:
Re: Несколько COM-портом в Labview
В том то и дело, что на разных компьютерах номера портов меняются, каждый раз менять в программе номер порта не вариант.IvanLis писал(а):У Вас в списке COM портов появиться новый порт (виртуальный) для каждого устройства свой номер.
Вот и работайте как с обычным COM портом.
Только будьте внимательны, т.к. нумерация виртуальных портов непредсказуема и может изменяться.
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: Несколько COM-портом в Labview
Тогда можно попробовать поискать:Shach писал(а):В том то и дело, что на разных компьютерах номера портов меняются, каждый раз менять в программе номер порта не вариант.
http://www.labviewportal.org/viewtopic. ... 56&p=47690
http://www.automationlabs.ru/forum/show ... php?t=5085
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Несколько COM-портом в Labview
В данном случае VID/PID будет одинаковым, т.к. микросхема преобразователя USB-UART одна и та же. Что является уникальным на одном ПК для портов, кроме номера порта, так это диапазон адресов ввода-вывода. Его можно узнать в Диспетчере устройств в свойствах порта:
Здесь есть инструкция для получения адреса LPT порта. Если порт встроенный, то нужно выбирать из класса Win32_SerialPort. Но если речь о USB-UART переходнике, то лучше сделать так:
1) из класса Win32_PnPEntity получаем список свойств PNPDeviceID, Caption / Name;
2) парсим список и находим нужный порт (порты) по известному идентификатору VID/PID;
3) из класса Win32_PNPAllocatedResource получаем весь список свойств (Antecedent, Dependent);
4) по известному из шага 2 PNPDeviceID и имеющимся Dependent определяем начальный адрес (StartingAddress) (Antecedent);
5) из класса Win32_PortResource получаем список свойств Caption / Name / Description и StartingAddress;
6) по известному из шага 4 StartingAddress (Antecedent) и имеющимся StartingAddress определяем диапазон адресов ввода-вывода (Caption / Name / Description);
7) соотносим диапазон адресов и имя / номер порта из пункта 1.
На Windows XP вместо WMI можно попробовать утилиту msinfo32 с параметрами /categories resourcesio и /report, а потом парсить созданный файл. На 7 эта утилита не поддерживает вывод по категориям.
Программно получить этот адрес можно через WMI. 1) из класса Win32_PnPEntity получаем список свойств PNPDeviceID, Caption / Name;
2) парсим список и находим нужный порт (порты) по известному идентификатору VID/PID;
3) из класса Win32_PNPAllocatedResource получаем весь список свойств (Antecedent, Dependent);
4) по известному из шага 2 PNPDeviceID и имеющимся Dependent определяем начальный адрес (StartingAddress) (Antecedent);
5) из класса Win32_PortResource получаем список свойств Caption / Name / Description и StartingAddress;
6) по известному из шага 4 StartingAddress (Antecedent) и имеющимся StartingAddress определяем диапазон адресов ввода-вывода (Caption / Name / Description);
7) соотносим диапазон адресов и имя / номер порта из пункта 1.
На Windows XP вместо WMI можно попробовать утилиту msinfo32 с параметрами /categories resourcesio и /report, а потом парсить созданный файл. На 7 эта утилита не поддерживает вывод по категориям.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Несколько COM-портом в Labview
Диапазон адресов ввода-вывода, мне кажется, тоже может смениться. Нельзя ли опросить устройства, подключаемые через оба порта и по ответу понять что-где?
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Несколько COM-портом в Labview
По умолчанию на большинстве компьютеров базовый адрес первого COM-порта - 3F8, второго - 2F8. Это можно посмотреть и изменить в BIOS, например для Phoenix-AwardBIOS путь к настройке такой: Integrated Peripherals -> SuperIO Device -> Onboard Serial Port 1 (2). В принципе, можно использовать эти адреса как константы. Хотя, насчёт виртуальных портов уверенности меньше. Я думаю, драйвер преобразователя USB-UART выбирает из адресного пространства свободные адреса и назначает их порту. А на каждом ПК разное количество свободных адресов, т.к. установлено разное оборудование (ISA/PCI), в т.ч. всякие платы ввода-вывода. Здесь остаётся поэкспериментировать, подключая переходник в разные ПК и сравнивая адреса. Если не меняется, то можно использовать.mzu2006 писал(а):Диапазон адресов ввода-вывода, мне кажется, тоже может смениться.
Shach, попробуйте ещё утилиту listComPorts, она делает всю "грязную" работу с WMI, выводя номер порта, имя производителя, USB идентификатор поставщика, идентификатор продукта и серийный номер. Есть предположение, что хотя бы серийники должны быть у микросхем чуть разные...
-
- beginner
- Сообщения: 10
- Зарегистрирован: 12 окт 2013, 11:47
- Версия LabVIEW: 7
- Контактная информация:
Re: Несколько COM-портом в Labview
dadreamer, в программе FT Prog можно задать уникальный Description Device. Можно ли в Visa выбрать устройство по этому Description Device?
-
- beginner
- Сообщения: 10
- Зарегистрирован: 12 окт 2013, 11:47
- Версия LabVIEW: 7
- Контактная информация:
Re: Несколько COM-портом в Labview
Проблема решена использованием библиотек для работы с FTDI http://www.ftdichip.com/Support/Softwar ... abVIEW.htm
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 535 Просмотры
-
Последнее сообщение Юрий
-
- 0 Ответы
- 1844 Просмотры
-
Последнее сообщение Anastasia
-
- 3 Ответы
- 2027 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 322 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2261 Просмотры
-
Последнее сообщение dadreamer