питание USB
-
- junior
- Сообщения: 62
- Зарегистрирован: 13 фев 2016, 19:35
- Версия LabVIEW: 8
- Контактная информация:
питание USB
Всем здравствуйте.
Лет 5 назад на близком форуме пытался найти возможность управления питанием USB порта в среде LabVIEW. На то время решения никто не предложил, хотя советчиков-эрудитов вокруг да около было много :) Может быть сейчас кто знает о таком решении? Подчеркиваю нужно именно средствами LabVIEW и именно выхода питания (а не просто программного отключения конфигурации). В идеале буду признателен за готовый vi лучше в версии 7.1
Лет 5 назад на близком форуме пытался найти возможность управления питанием USB порта в среде LabVIEW. На то время решения никто не предложил, хотя советчиков-эрудитов вокруг да около было много :) Может быть сейчас кто знает о таком решении? Подчеркиваю нужно именно средствами LabVIEW и именно выхода питания (а не просто программного отключения конфигурации). В идеале буду признателен за готовый vi лучше в версии 7.1
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: питание USB
Программно нельзя снять +5 В с USB-порта, по крайней мере в Windows точно. Хочешь - не хочешь, а придётся использовать аппаратное реле, например, Cleware USB Connect или аналог. См. тему http://www.labviewportal.org/viewtopic. ... are#p65065
-
- junior
- Сообщения: 62
- Зарегистрирован: 13 фев 2016, 19:35
- Версия LabVIEW: 8
- Контактная информация:
Re: питание USB
сходу пример http://safelyremove.com/blog/ru/usbsafe ... -4-4-finaldadreamer писал(а):Программно нельзя снять +5 В с USB-порта, по крайней мере в Windows точно. Хочешь - не хочешь, а придётся использовать аппаратное реле, например, Cleware USB Connect или аналог. См. тему <!-- l --><a class="postlink-local" href="http://www.labviewportal.org/viewtopic. ... 65</a><!-- l -->
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: питание USB
Это настолько ёмкий вопрос, даже не представляете. На метод, который подойдет для любой ОС, любой мат.платы и USB-контроллеров на ней можете не рассчитывать.пытался найти возможность управления питанием USB порта в среде LabVIEW
Отключение видимо должно поддерживаться драйвером USB-контроллера. А вот поддерживает ли ваш контроллер такую функцию - это другой вопрос.
Дать однозначную функцию типа: указали порт и питание ON/OFF "на все случаи жизни и железа" нельзя.
Можете попробовать использовать devcon.exe в случае винды. Возможно имеет смысл ввести промежуточное устройство, что-то типа USB-hub с поддержкой программного управления питанием подключенных устройств.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- junior
- Сообщения: 62
- Зарегистрирован: 13 фев 2016, 19:35
- Версия LabVIEW: 8
- Контактная информация:
Re: питание USB
вот еще пример c файлообмена : programma_dlya_otklyucheniya_napryajeniya_na_usb.rar
короче в Виндах можно стопудово, ищу решение в среде LabView. Прошу вокруг и около не предлагать для э
кономии времени. Если конечно кто знает
короче в Виндах можно стопудово, ищу решение в среде LabView. Прошу вокруг и около не предлагать для э
кономии времени. Если конечно кто знает
-
IvanLis
- guru
- Сообщения: 5462
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 86 раз
Re: питание USB
В Linux можно, за редким исключением: http://sysadm.pp.ua/linux/usb.htmldadreamer писал(а):Программно нельзя снять +5 В с USB-порта, по крайней мере в Windows точно.
Про Windows вот что накопал, но попробовать нет возможности:
Devcon https://technet.microsoft.com/en-us/lib ... 75588.aspx
disable
The disable operation disables the specified devices.
Example 30: Disable devices by an ID pattern.
The following command disables the USB devices on the local computer. It identifies the device by a hardware ID pattern, USB*. This pattern will match an device whose hardware ID or compatible ID begins with "USB." The command includes the /r parameter, which reboots the system if it is necessary to make the disabling effective.
Caution
Before using an ID pattern to disable a device, determine which devices will be affected. To do so, use the pattern in a display command, such as devcon status USB* or devcon hwids USB*.
devcon /r disable USB*
In response, Devcon displays the instance IDs of the USB devices and reports that they are disabled. Although the command included the /r parameter, the system did not reboot because a reboot was not required to disable the devices.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- junior
- Сообщения: 62
- Зарегистрирован: 13 фев 2016, 19:35
- Версия LabVIEW: 8
- Контактная информация:
Re: питание USB
Уважаю емкость и мудрость ответа, если можете прислать рабочую vi даже для одного случая из жизни железа - буду безмерно рад. Найти железо будет моя проблемаVitekkz88 писал(а):Это настолько ёмкий вопрос, даже не представляете. На метод, который подойдет для любой ОС, любой мат.платы и USB-контроллеров на ней можете не рассчитывать.пытался найти возможность управления питанием USB порта в среде LabVIEW
Отключение видимо должно поддерживаться драйвером USB-контроллера. А вот поддерживает ли ваш контроллер такую функцию - это другой вопрос.
Дать однозначную функцию типа: указали порт и питание ON/OFF "на все случаи жизни и железа" нельзя.
Можете попробовать использовать devcon.exe в случае винды. Возможно имеет смысл ввести промежуточное устройство, что-то типа USB-hub с поддержкой программного управления питанием подключенных устройств.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: питание USB
servk, ну тогда за чем дело встало? Используйте консольный USR или стандартное извлечение. Если, конечно, у вас обычная флэшка / съемный диск.
Devcon, по сути, тот же диспетчер устройств в Windows, ничего более он сделать не может. В частности, для USB варианты те же, что и в GUI-редакторе: отключить или удалить сам девайс (съемный диск, например), контроллер устройства, либо весь USB-концентратор. Но все эти изменения программные. Если само устройство требует физического переподключения, то единственный вариант - извлечь его и вставить обратно в порт. Это во-многом зависит от самого устройства, если для обычных флэшек можно сделать извлечение - возврат программным методом (как реализовано в USR), то для специфических чипов (как некоторые UART-мосты) такое может не прокатить (по своему опыту знаю, были устройства, которые ни devcon'ом, ни USR не возвращались к жизни, кроме как через физическое извлечение).[b][color=#008000]IvanLis[/color][/b] писал(а):Про Windows вот что накопал, но попробовать нет возможности:
Devcon https://technet.microsoft.com/en-us/lib ... 75588.aspx
Последний раз редактировалось dadreamer 13 фев 2016, 20:53, всего редактировалось 1 раз.
-
- junior
- Сообщения: 62
- Зарегистрирован: 13 фев 2016, 19:35
- Версия LabVIEW: 8
- Контактная информация:
Re: питание USB
коллеги, пожалейте время и электричество. Как писал в начале - ищу решение только в среде LabVIEW, советы от эрудитов как это сделать другими приемами конечно уважаю, но для конкретно моей задачи они бесполезны. Подобное многостраничное обсуждение темы уже пережил 5 лет назад. Ну как говорится на нет и суда нет
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: питание USB
servk, так мы за рамки и не выходим. Я полагаю, вы в курсе об инструментах System Exec, CLFN, .NET/ActiveX. Для поставленной задачи подойдёт либо 1, либо 2, а нативных средств (увы) нет.
Вообще, способ с реле наиболее простой и работающий на 100% на любом . Можно при желании и на ISA/PCI-платах реализовать. Но надо было начинать с простого: что за устройство используется и в каком режиме предполагается им управлять. Отсюда уже можно понять, достаточно ли программного механизма извлечения или нет.
Вообще, способ с реле наиболее простой и работающий на 100% на любом . Можно при желании и на ISA/PCI-платах реализовать. Но надо было начинать с простого: что за устройство используется и в каком режиме предполагается им управлять. Отсюда уже можно понять, достаточно ли программного механизма извлечения или нет.
Последний раз редактировалось dadreamer 13 фев 2016, 21:05, всего редактировалось 1 раз.
-
- junior
- Сообщения: 62
- Зарегистрирован: 13 фев 2016, 19:35
- Версия LabVIEW: 8
- Контактная информация:
Re: питание USB
замечательно. Если Вы (в отличии от меня - чайника) все знаете и это так просто, пришлите плиз посмотреть рабочую vi (надеюсь понимаете о чем речь)dadreamer писал(а):servk, так мы за рамки и не выходим. Я полагаю, вы в курсе об инструментах System Exec, CLFN, .NET/ActiveX. Для поставленной задачи подойдёт либо 1, либо 2, а нативных средств (увы) нет.
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: питание USB
Явного решения в виде .vi НЕТ!LabVIEW не умеет этого делать без танцев с бубном. Это хотели услышать?)servk писал(а):ищу решение только в среде LabVIEW
Надо либо функцию писать, оборачивать её в .dll, а затем вызывать из LabVIEW. Либо пользоваться вызовом сторонних сценариев или приложений, но в рамках LabVIEW(System Exec, CLFN, .NET/ActiveX).
Вам рекомендуют второй вариант, так как он проще. Первый тоже можно сделать - но это сложнее гораздо.
Аппаратное решение: использовать переходную железку с возможностью управления питанием подключенных устройств. И даже в этом случае чтобы протащить эту функцию в LabVIEW - придётся повозиться.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- junior
- Сообщения: 62
- Зарегистрирован: 13 фев 2016, 19:35
- Версия LabVIEW: 8
- Контактная информация:
Re: питание USB
Вот это я и ожидал услышать. На нет и суда нетVitekkz88 писал(а):Явного решения в виде .vi НЕТ!LabVIEW не умеет этого делать без танцев с бубном. Это хотели услышать?)servk писал(а):ищу решение только в среде LabVIEW
Надо либо функцию писать, оборачивать её в .dll, а затем вызывать из LabVIEW. Либо пользоваться вызовом сторонних сценариев или приложений, но в рамках LabVIEW(System Exec, CLFN, .NET/ActiveX).
Вам рекомендуют второй вариант, так как он проще. Первый тоже можно сделать - но это сложнее гораздо.
Аппаратное решение: использовать переходную железку с возможностью управления питанием подключенных устройств. И даже в этом случае чтобы протащить эту функцию в LabVIEW - придётся повозиться.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: питание USB
Полагаю, USR у вас уже установлен. Если речь об обычной флэшке, то её можно извлечь так:servk писал(а):замечательно. Если Вы (в отличии от меня - чайника) все знаете и это так просто, пришлите плиз посмотреть рабочую vi (надеюсь понимаете о чем речь)
Код: Выделить всё
C:\Program Files (x86)\USB Safely Remove\usr stop -d D:
Код: Выделить всё
C:\Program Files (x86)\USB Safely Remove\usr stop -n "UFD 2.0 Silicon-Power32G USB Device"
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: питание USB
Я могу в отделе у программистов-железячников поинтерисоваться, может у них есть готовая функция в тексте. Если будет что, скину в качестве примера...Вот это я и ожидал услышать. На нет и суда нет
Я понял вашу логику: есть порт на мамке компа, его бы питания лишить и всего дел)А когда надо - включить. Что на порте будет висеть - без разницы.
Но и Вы поймите, не всё в руках программистов) Мать тоже играет роль, usb-контроллеры тоже.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 4 Ответы
- 607 Просмотры
-
Последнее сообщение Borjomy_1
-
- 4 Ответы
- 450 Просмотры
-
Последнее сообщение Eugene543210
-
- 4 Ответы
- 192 Просмотры
-
Последнее сообщение Embedder74