Несколько COM-портом в Labview

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
Shach
beginner
beginner
Сообщения: 10
Зарегистрирован: 12 окт 2013, 11:47
Версия LabVIEW: 7
Контактная информация:

Несколько COM-портом в Labview

Сообщение Shach »

Здравствуйте! Необходимо реализовать в LabView одновременно с 2 устройствами. В обоих стоит микросхема FT232RL,которая преобразует USB в UART.Но в системе оба устройства определяются как USB Serial Port. Можно ли их как то переименовать, чтобы в программе определять устройство по названию?Есть ли у микросхем какая-то другая уникальная информация, с помощью которой можно определить, то устройство или не то подключено? :labview: Заранее спасибо.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Несколько COM-портом в Labview

Сообщение IvanLis »

У Вас в списке COM портов появиться новый порт (виртуальный) для каждого устройства свой номер.
Вот и работайте как с обычным COM портом.

Только будьте внимательны, т.к. нумерация виртуальных портов непредсказуема и может изменяться.
Shach
beginner
beginner
Сообщения: 10
Зарегистрирован: 12 окт 2013, 11:47
Версия LabVIEW: 7
Контактная информация:

Re: Несколько COM-портом в Labview

Сообщение Shach »

IvanLis писал(а):У Вас в списке COM портов появиться новый порт (виртуальный) для каждого устройства свой номер.
Вот и работайте как с обычным COM портом.

Только будьте внимательны, т.к. нумерация виртуальных портов непредсказуема и может изменяться.
В том то и дело, что на разных компьютерах номера портов меняются, каждый раз менять в программе номер порта не вариант.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Несколько COM-портом в Labview

Сообщение IvanLis »

Shach писал(а):В том то и дело, что на разных компьютерах номера портов меняются, каждый раз менять в программе номер порта не вариант.
Тогда можно попробовать поискать:
http://www.labviewportal.org/viewtopic. ... 56&p=47690
http://www.automationlabs.ru/forum/show ... php?t=5085
Аватара пользователя
dadreamer

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

Re: Несколько COM-портом в Labview

Сообщение dadreamer »

В данном случае VID/PID будет одинаковым, т.к. микросхема преобразователя USB-UART одна и та же. Что является уникальным на одном ПК для портов, кроме номера порта, так это диапазон адресов ввода-вывода. Его можно узнать в Диспетчере устройств в свойствах порта:
2014-05-17_22-14-07.jpg
Программно получить этот адрес можно через WMI. Здесь есть инструкция для получения адреса 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 эта утилита не поддерживает вывод по категориям.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Несколько COM-портом в Labview

Сообщение mzu2006 »

Диапазон адресов ввода-вывода, мне кажется, тоже может смениться. Нельзя ли опросить устройства, подключаемые через оба порта и по ответу понять что-где?
Аватара пользователя
dadreamer

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

Re: Несколько COM-портом в Labview

Сообщение dadreamer »

mzu2006 писал(а):Диапазон адресов ввода-вывода, мне кажется, тоже может смениться.
По умолчанию на большинстве компьютеров базовый адрес первого COM-порта - 3F8, второго - 2F8. Это можно посмотреть и изменить в BIOS, например для Phoenix-AwardBIOS путь к настройке такой: Integrated Peripherals -> SuperIO Device -> Onboard Serial Port 1 (2). В принципе, можно использовать эти адреса как константы. Хотя, насчёт виртуальных портов уверенности меньше. Я думаю, драйвер преобразователя USB-UART выбирает из адресного пространства свободные адреса и назначает их порту. А на каждом ПК разное количество свободных адресов, т.к. установлено разное оборудование (ISA/PCI), в т.ч. всякие платы ввода-вывода. Здесь остаётся поэкспериментировать, подключая переходник в разные ПК и сравнивая адреса. Если не меняется, то можно использовать.

Shach, попробуйте ещё утилиту listComPorts, она делает всю "грязную" работу с WMI, выводя номер порта, имя производителя, USB идентификатор поставщика, идентификатор продукта и серийный номер. Есть предположение, что хотя бы серийники должны быть у микросхем чуть разные...
Shach
beginner
beginner
Сообщения: 10
Зарегистрирован: 12 окт 2013, 11:47
Версия LabVIEW: 7
Контактная информация:

Re: Несколько COM-портом в Labview

Сообщение Shach »

dadreamer, в программе FT Prog можно задать уникальный Description Device. Можно ли в Visa выбрать устройство по этому Description Device?
Shach
beginner
beginner
Сообщения: 10
Зарегистрирован: 12 окт 2013, 11:47
Версия LabVIEW: 7
Контактная информация:

Re: Несколько COM-портом в Labview

Сообщение Shach »

Проблема решена использованием библиотек для работы с FTDI http://www.ftdichip.com/Support/Softwar ... abVIEW.htm
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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