Наилучший способ передачи множества параметров в SubVI

Обсуждение, связанное с разработкой ПО верхнего уровня

Re: Наилучший способ передачи множества параметров в SubVI

Postby alex3f on 05 Apr 2017, 13:56

Тоже использовал кластеры для ссылок и параметров. Но, примерно, 2 года назад начал присматриваться к массивам. Как и писал dadreamer, при инициализации программы рекурсивно обходится панель основного VI и извлекаются ссылки на контролы/индикаторы. Для этого можно использовать TRef Get All FP References.vi или другие примеры (суть та же). Дальше ссылки идут в один или несколько (например, управление и результаты) массивов. Задачу поиска нужного элемента в массиве я для себя решил поддержкой Enum TypeDef. Поддерживать подобную конструкцию легче (по моему мнению). Основной Vi получается компактным.
Удобство использования меня устроило и позже я применил подобный подход (массив + Enum TypeDef) к пределам измеряемых параметров (80 параметров, и, соответственно, для каждого верхний и нижний предел). Кластер с входными параметрами для SubVI стал намного более компактным.
Attachments
Vi.PNG
alex3f
beginner
beginner
 
Posts: 15
Joined: 23 Aug 2016, 09:16
LabVIEW Version: 2016
Karma: 10

Re: Наилучший способ передачи множества параметров в SubVI

Postby Konstantin Sumenko on 06 Apr 2017, 17:20

Сравнительно давно я использую подход с Variant и атрибутами, в 2016 версии LV стало еще удобнее с добавлением в Inplace структуру режима Get/Replace attribute. Подробнее про техники:
https://forums.ni.com/t5/LabVIEW-Develo ... -p/3478922
ftp://ftp.ni.com/pub/events/webcasts/va ... _table.pdf

Само собой где-то удобнее и правильнее использовать кластер или простой массив для коллекций.
User avatar
Konstantin Sumenko
expert
expert
 
Posts: 1436
Joined: 17 Jul 2008, 12:20
Location: Moscow
Medals: 2
Activity (1) Bronze (1)
LabVIEW Version: 2010
Karma: 122
VIP bloggers students

Previous

Return to Лицевая панель

Who is online

Users browsing this forum: No registered users and 4 guests

cron