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

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

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

Сообщение IvanLis »

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

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

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

Возможно кто-то знает, как LV вообще отличает "родные" SubVI от "инвазивных"?
Может там есть какие-то флаги или атрибуты у файла, которые достаточно установить, чтобы данные SubVI начали сохраняться вместе с VI.
Сам я найти ничего подобного не смог :dntknw:
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

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

Сообщение Kosist »

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

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

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

Сообщение IvanLis »

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

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

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

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

Сообщение Kosist »

IvanLis писал(а): А как Вы предлагаете, мне нужно вручную отследить все зависимости и пересобрать проект заново, только с нужными SubVI.
Нет - Вы просто добавите в новый проект одну нужную виайку; а :labview: все зависимости добавит в dependencies.
виайку которую хотите сохранить со всеми сабвиайками
- я не имел ввиду, что нужно добавлять сабвиайки в проект; пардон за формулировку :dntknw:
Мы делили апельсин - много наших полегло...
Аватара пользователя
ladik

Silver
developer
developer
Сообщения: 275
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Версия LabVIEW: 2015, 2019
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

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

Сообщение ladik »

Мы для подобных задач делаем Build Specification -> Source Distribution. Имеется Tree.vi, в котором лежат все VI верхнего уровня, которые нужно "расшарить". Во вкладке Source Files (Build Specification) указываем этот VI, тип билда папка или .llb. В итоге на выходе получаем папку/либу со всеми зависимостями Tree.vi. К файлам зависимостей в таком случае относятся все subVI, которые также должны быть в проекте. Ну и дерево Dependencies должно быть чистым, либо иметь только системные зависимости, например vi.lib.
Дорогу осилит идущий.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

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

Сообщение Borjomy_1 »

Для полностью рабочего проекта "Duplicate hierarchy to new location" полностью справляется. Однако, если есть VI, которые используются в разных проектах, жди проблем. Источник проблемы в том, что каждая VI скомпилирована (и имеет зависимости в текущем проекте). Но! При использовании ее в другом проекте, похоже, линковка динамическая. Мало открыть внешнюю VI и сохранить, надо ее еще и перекомпилировать (Ctrl+кнопка Run) и все входящие в нее VI. Либо Mass Compile (хотя и он в нижеприведенном случае не помог).
У меня был запущенный случай с проектом, когда из 2013 надо было вернуться на 2012, но т.к. 2013 не было, пришлось делать это через 2017. А он все зависимости не мог построить. В результате все запускается и работает, но сохранение проекта в 2012 версию повисает. Пришлось сохранять головную VI, иерархия которой перенеслась частично, и по-файлово через Hierarhy делать сохранение недостающего.
Ответить

Вернуться в «Для чайников»