Страница 1 из 1

Список NiScope устройств

Добавлено: 21 июн 2018, 16:45
Stkn
Подскажите, можно ли получить программно список NiScope устройств.
Ну или как сделать так, чтобы выбиралось 1е доступное устройсво

Re: Список NiScope устройств

Добавлено: 21 июн 2018, 18:11
dadreamer

Re: Список NiScope устройств

Добавлено: 21 июн 2018, 19:55
Blackman
Для любого IO name Control есть приватное свойство DropDownList [] - массив строк ресурсов отображаемых в контроле. Содержанием списка можно управлять при помощи свойств фильтра контрола. Работает в обоих системах.

Re: Список NiScope устройств

Добавлено: 22 июн 2018, 09:24
Stkn
dadreamer писал(а):А это не подходит?
Programmatically Retrieving A VISA Resource Name in LabVIEW
Сходу пока не получается, может что-то не так делаю. Да и поиск довольно долгий.
Blackman писал(а):Для любого IO name Control есть приватное свойство DropDownList [] - массив строк ресурсов отображаемых в контроле. Содержанием списка можно управлять при помощи свойств фильтра контрола. Работает в обоих системах.
Похоже на то, что нужно. А как получить доступ к этим приватным свойствам?

Re: Список NiScope устройств

Добавлено: 22 июн 2018, 10:30
dadreamer
Stkn писал(а):Сходу пока не получается, может что-то не так делаю. Да и поиск довольно долгий.
Поиск да, иногда может затянуться. А что не получается? VISA Find Resource выдаёт вам список доступных устройств?
Stkn писал(а):А как получить доступ к этим приватным свойствам?
Пропишите SuperSecretPrivateSpecialStuff=True в LabVIEW.ini, перезапустите :labview: , если он открыт.

Re: Список NiScope устройств

Добавлено: 22 июн 2018, 11:32
Blackman
Для версии 2014 :
Команда меню Tools -> Options... -> Категория VI Server -> поставить "галки" в поле VI Scripting
Перезапуск не нужен.
Upd: Включение скриптинга не активирует SuperSecretPrivateSpecialStuff ((. Надо редактировать ini файл.
Пример применения

Re: Список NiScope устройств

Добавлено: 22 июн 2018, 15:02
Kosist
А это свойство также работает в Run-Time engine? Т.к. многие из приватный свойств в исполняемом приложении недоступны...

Re: Список NiScope устройств

Добавлено: 22 июн 2018, 15:54
Stkn
dadreamer писал(а):А что не получается? VISA Find Resource выдаёт вам список доступных устройств?
Список выдаёт, но niScope устройств в нём нет
Blackman писал(а): Пример применения
Спасибо, всё получилось
Kosist писал(а):А это свойство также работает в Run-Time engine? Т.к. многие из приватный свойств в исполняемом приложении недоступны...
В рантайме у меня почему-то работает не при каждом запуске. Выкрутился, засунув это в цикл for с остановкой, когда массив стал непустым

Re: Список NiScope устройств

Добавлено: 22 июн 2018, 18:17
IvanLis
Stkn писал(а):
dadreamer писал(а):В рантайме у меня почему-то работает не при каждом запуске. Выкрутился, засунув это в цикл for с остановкой, когда массив стал непустым
На сколько мне известно, никто и не гарантирует работоспособность функций скриптинга в EXE, почитайте например: https://forums.ni.com/t5/LabVIEW-APIs-D ... -p/3416747

Re: Список NiScope устройств

Добавлено: 22 июн 2018, 19:03
dadreamer
IvanLis, ну, это не совсем скриптинг, а приватное свойство, которое не манипулирует элементами среды и не требует (пере)компиляции :vi: , а только вытаскивает нужные данные, как в общем-то большая часть свойств делает. Приватное оттого, что NI толком не протестировали его (а может, и вовсе не тестировали), и пользователю придётся использовать его "как есть", без возможности обращения в тех. поддержку, и приняв все возможные риски (например, может упасть :labview: и вместе с этим порушится структура открытых :vi: ). Иногда R&D отписывают на Лаве о тех или иных свойствах, почему их лучше не использовать и в чём ограничения/"косяки" реализации. Некоторые свойства довольно-таки стабильны, некоторые - очень нет. Какие-то - коричневые просто из-за отсутствия кросс-платформенности.

А вот эта приведённая тема относится к тем временам, когда скриптинг ещё не был официальной частью :labview: , а был "секретной" фичей, включаемой разным "шаманством", наподобие того, что приходится в *.ini файл прописывать. Для Property/Invoke Nodes везде явно прописано, будет работать в EXE или нет. Некоторое количество голубых блоков всё же вполне себе работает в EXE тоже. Для встроенных не прописано, но легко проверяется.

Почему не всегда срабатывает DropDownList, может, оттого, что список должен наполниться именами, для этого необходимо однократно вызвать внутренний аналог VISA Find Resource. Пока список не заполнился, он пустой, что и возвращается. Если стрелку на VISA Resource Name нажать, то тоже не мгновенно список вылазит.

Re: Список NiScope устройств

Добавлено: 22 июн 2018, 19:17
Blackman
Перед первым вызовом проперти надо прочитать один раз IO Name control (например в свою локальную переменную). Это гарантирует обновление списка. У меня эта проперть в рантайме работает как часы))

Re: Список NiScope устройств

Добавлено: 22 июн 2018, 21:23
Artem.spb
Blackman писал(а):У меня эта проперть в рантайме работает как часы))
всегда в таких случаях хочется спросить: время показывает? :)

Re: Список NiScope устройств

Добавлено: 23 июн 2018, 10:56
Stkn
Blackman писал(а):Перед первым вызовом проперти надо прочитать один раз IO Name control (например в свою локальную переменную). Это гарантирует обновление списка. У меня эта проперть в рантайме работает как часы))
Вот именно с niScope у меня работает с перебоями. Проверил с DAQmx устройствами, там всё отлично.