Добрый день!
Мне нужно организовать общение через конечные точки USB. В случае COM портов я справлялся с помощью VISA configure serial port.
Здесь, подозреваю, нужен VISA USB Control In, но во входных параметрах это SubVI не видно явным образом основных параметров для общения, которые мне даны в спецификации используемого устройства:
1. VID – 0xFFFE
2. PID – 0x0001
3. Номер конфигурации – 1
4. Номер интерфейса – 1
5. Конечная точка записи (EP_OUT) – 0x02
6. Конечная точка для чтения (EP_IN) – 0x82
Как правильно организуется процедура общения через конечные точки ?
1) Так понимаю, index (см. Рис) может соответствовать 4. либо 6. (следуя мануалу) - но почему обоим в таком случае и как задавать каждый, если это нужно ?
2) С Value не совсем понятно - т.к. отправляю на устройство я команду типа String, а этот входной параметр типа integer.
3) Остальные параметры не понял как соотносятся с приведенной спецификации.
Общение через конечные точки USB с девайсом
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Общение через конечные точки USB с девайсом
Почитайте сначала эту статью: http://microsin.net/programming/pc/ni-v ... orial.html Далее, вы должны определить, что у вас за класс устройств (USBTMC, USB RAW, HID или что-то иное) и в какой канал (Endpoint) вам нужно передать информацию (Control, Bulk, Interrupt, Isochronous). Имея эти данные, сможете подобрать правильную последовательность из NI-VISA. Сейчас вы взяли инструмент для записи команд в Control Pipe, т.е. в канал управления. Этот канал не может принимать случайные данные, он принимает команды (запросы), в соответствии с которыми оборудование выдаёт реакцию. Погуглите по словам usb, bulk, raw на форумах NI, я много тем в своё время встречал по связи через USB.
В реальных задачах я ни разу не испытывал необходимости спускаться на уровень RAW USB. Обычно к каждой железке идёт собственный драйвер и набор DLL, которые успешно выполняют всю "грязную" низкоуровневую работу.
При желании можно сделать всё через WinAPI. Вот, к примеру, функция записи в Bulk-канал: https://docs.microsoft.com/en-us/window ... _writepipe На stackoverflow можно найти примеры приёма-передачи.
В реальных задачах я ни разу не испытывал необходимости спускаться на уровень RAW USB. Обычно к каждой железке идёт собственный драйвер и набор DLL, которые успешно выполняют всю "грязную" низкоуровневую работу.
При желании можно сделать всё через WinAPI. Вот, к примеру, функция записи в Bulk-канал: https://docs.microsoft.com/en-us/window ... _writepipe На stackoverflow можно найти примеры приёма-передачи.
-
- assistant
- Сообщения: 120
- Зарегистрирован: 05 сен 2019, 21:01
- Версия LabVIEW: 2019
- Контактная информация:
Re: Общение через конечные точки USB с девайсом
Спасибо за ответ!dadreamer писал(а):Почитайте сначала эту статью: http://microsin.net/programming/pc/ni-v ... orial.html Далее, вы должны определить, что у вас за класс устройств (USBTMC, USB RAW, HID или что-то иное) и в какой канал (Endpoint) вам нужно передать информацию (Control, Bulk, Interrupt, Isochronous). Имея эти данные, сможете подобрать правильную последовательность из NI-VISA. Сейчас вы взяли инструмент для записи команд в Control Pipe, т.е. в канал управления. Этот канал не может принимать случайные данные, он принимает команды (запросы), в соответствии с которыми оборудование выдаёт реакцию. Погуглите по словам usb, bulk, raw на форумах NI, я много тем в своё время встречал по связи через USB.
В реальных задачах я ни разу не испытывал необходимости спускаться на уровень RAW USB. Обычно к каждой железке идёт собственный драйвер и набор DLL, которые успешно выполняют всю "грязную" низкоуровневую работу.
При желании можно сделать всё через WinAPI. Вот, к примеру, функция записи в Bulk-канал: https://docs.microsoft.com/en-us/window ... _writepipe На stackoverflow можно найти примеры приёма-передачи.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 4 Ответы
- 621 Просмотры
-
Последнее сообщение Borjomy_1
-
- 4 Ответы
- 482 Просмотры
-
Последнее сообщение Eugene543210
-
- 4 Ответы
- 242 Просмотры
-
Последнее сообщение Embedder74