Сохранение с иерархией

Простейшие вопросы в области инженерной разработки

Сохранение с иерархией

Postby IvanLis on 13 Apr 2019, 22:26

Подскажите, если кто сталкивался с подобным.

Мне необходимо сохранить VI со всеми SubVI, которые она включает, т.е. всю иерархию.
Делаю Save As.., выбираю пункт Duplicate hierarchy to new location
И ву а ля ... в указанной папке оказывается сохранены не все SubVI :cry:
Часть SubVI я перетянул из другого проекта и именно они не сохранились.

Пробовал сохранить с понижением версии, результат аналогичен.
Такое впечатление, что LabVIEW их воспринимает как родные и не считает нужным их сохранять в иерархии.

Возможно кто-то знает, как LV вообще отличает "родные" SubVI от "инвазивных"?
Может там есть какие-то флаги или атрибуты у файла, которые достаточно установить, чтобы данные SubVI начали сохраняться вместе с VI.
Сам я найти ничего подобного не смог :dntknw:
User avatar
IvanLis
professor
professor
 
Posts: 4783
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 759
hardware VIP bloggers teachers

Re: Сохранение с иерархией

Postby Kosist on 14 Apr 2019, 19:56

Попробуйте создать новый проект, а в него добавить виайку которую хотите сохранить со всеми сабвиайками. А затем, сохраните проект или как Save As, или в предыдущую версию (второй вариант точно должен работать, т.к. :labview: даже виайки с vi.lib и instr.lib будет "запихать" в новую локацию).
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 937
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 259
CLAD I/O VIP students

Re: Сохранение с иерархией

Postby IvanLis on 14 Apr 2019, 22:12

Kosist wrote:Попробуйте создать новый проект, а в него добавить виайку которую хотите сохранить со всеми сабвиайками. А затем, сохраните проект или как Save As, или в предыдущую версию (второй вариант точно должен работать, т.к. :labview: даже виайки с vi.lib и instr.lib будет "запихать" в новую локацию).


Нужно было мне полностью задачу описать.
У меня есть проект, в котором много всего.
Мне нужно передать только одну VI - часть программы.
Для того, что бы людей не заваливать парой сотен SubVI я и хотел вычленить только необходимое.

А как Вы предлагаете, мне нужно вручную отследить все зависимости и пересобрать проект заново, только с нужными SubVI.
User avatar
IvanLis
professor
professor
 
Posts: 4783
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 759
hardware VIP bloggers teachers

Re: Сохранение с иерархией

Postby Kosist on 15 Apr 2019, 08:58

IvanLis wrote:А как Вы предлагаете, мне нужно вручную отследить все зависимости и пересобрать проект заново, только с нужными SubVI.

Нет - Вы просто добавите в новый проект одну нужную виайку; а :labview: все зависимости добавит в dependencies.
виайку которую хотите сохранить со всеми сабвиайками
- я не имел ввиду, что нужно добавлять сабвиайки в проект; пардон за формулировку :dntknw:
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 937
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 259
CLAD I/O VIP students

Re: Сохранение с иерархией

Postby ladik on 15 Apr 2019, 10:39

Мы для подобных задач делаем Build Specification -> Source Distribution. Имеется Tree.vi, в котором лежат все VI верхнего уровня, которые нужно "расшарить". Во вкладке Source Files (Build Specification) указываем этот VI, тип билда папка или .llb. В итоге на выходе получаем папку/либу со всеми зависимостями Tree.vi. К файлам зависимостей в таком случае относятся все subVI, которые также должны быть в проекте. Ну и дерево Dependencies должно быть чистым, либо иметь только системные зависимости, например vi.lib.
Дорогу осилит идущий.
User avatar
ladik
adviser
adviser
 
Posts: 227
Joined: 18 Nov 2014, 11:45
Location: Астана
Medals: 1
Silver (1)
LabVIEW Version: 2011, 2015
Karma: 87
hardware I/O VIP

Re: Сохранение с иерархией

Postby Borjomy_1 on 15 Apr 2019, 15:12

Для полностью рабочего проекта "Duplicate hierarchy to new location" полностью справляется. Однако, если есть VI, которые используются в разных проектах, жди проблем. Источник проблемы в том, что каждая VI скомпилирована (и имеет зависимости в текущем проекте). Но! При использовании ее в другом проекте, похоже, линковка динамическая. Мало открыть внешнюю VI и сохранить, надо ее еще и перекомпилировать (Ctrl+кнопка Run) и все входящие в нее VI. Либо Mass Compile (хотя и он в нижеприведенном случае не помог).
У меня был запущенный случай с проектом, когда из 2013 надо было вернуться на 2012, но т.к. 2013 не было, пришлось делать это через 2017. А он все зависимости не мог построить. В результате все запускается и работает, но сохранение проекта в 2012 версию повисает. Пришлось сохранять головную VI, иерархия которой перенеслась частично, и по-файлово через Hierarhy делать сохранение недостающего.
Borjomy_1
expert
expert
 
Posts: 1874
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 321
VIP


Return to Для чайников

Who is online

Users browsing this forum: No registered users and 4 guests

cron