LabView сетевая программа?

Общие принципы, проектирование, модуляризация, темплейты и шаблоны
Ответить
седьмой
adviser
adviser
Сообщения: 222
Зарегистрирован: 14 апр 2014, 17:36
Версия LabVIEW: 14
Откуда: г.Киров
Контактная информация:

LabView сетевая программа?

Сообщение седьмой »

Меня интересует модель отладки (доработки) программы в сетевом режиме с разных компьютеров. Имеется ли такая возможность? По аналогии например с 1с 8, если модуль программы установлен на сервере, то можно вносить доработки с разных компьютеров. Я не сравниваю эти программы, просто поясняю, что именно меня интересует. Или другой пример - при настройке сайта, я могу на хостинг скинуть новую версию программы с одного компьютера, а что бы проверить на другом, достаточно только выполнить обновление странички и все сделанные доработки будут видны. Каким образом в LabView можно проводить разделенные доработки программы?
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: LabView сетевая программа?

Сообщение dadreamer »

Я точно не знаю, есть ли у NI какой-то инструмент для этого, но можно было бы закинуть на сервер основной :vi: , а с клиентских компов открывать его и вносить изменения. Но тут другие грабли получатся - одновременная запись с двух и более компов. В таком случае я вижу только один подход - модульный принцип построения программы. Каждый разработчик работает над своим SubVI, потом соединяете всё вместе.
седьмой
adviser
adviser
Сообщения: 222
Зарегистрирован: 14 апр 2014, 17:36
Версия LabVIEW: 14
Откуда: г.Киров
Контактная информация:

Re: LabView сетевая программа?

Сообщение седьмой »

Вы имели в виду, что один проект и в нем разные модули vi. Попробую, спасибо.
Аватара пользователя
kapusta1986
assistant
assistant
Сообщения: 103
Зарегистрирован: 14 июн 2014, 13:56
Версия LabVIEW: 2014, 2015
Откуда: Караганда
Контактная информация:

Re: LabView сетевая программа?

Сообщение kapusta1986 »

Наверно поздно отвечаю, но а что если смотреть в сторону git? svn? bitbucket?
Аватара пользователя
Kosist

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

Re: LabView сетевая программа?

Сообщение Kosist »

kapusta1986 писал(а):Наверно поздно отвечаю, но а что если смотреть в сторону git? svn? bitbucket?
SVN отлично подходит - просто, удобно.
Мы делили апельсин - много наших полегло...
седьмой
adviser
adviser
Сообщения: 222
Зарегистрирован: 14 апр 2014, 17:36
Версия LabVIEW: 14
Откуда: г.Киров
Контактная информация:

Re: LabView сетевая программа?

Сообщение седьмой »

Это дополнительные программы сторонних поставщиков ПО? Я имел в виду не совсем это, но за информацию спасибо.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: LabView сетевая программа?

Сообщение AndreyDmitriev »

Не так это делается. То, что вам советуют - это системы контроля версий, оно к рантайму не имеет никакого отношения. Грубо говоря, исходный код хранится на сервере, вы делаете "Check out", получаете локальную копию на свой компьютер, изменяете её, и делаете "Check In", затем другой разработчик получает последнюю версию, которую может модифицировать и положить обратно в систему контроля версий. При этом хранится вся история изменений - если надо будет откатиться к предыдущей версии исходного кода, то вы это легко сделаете. После выпуска релиза вы можете пометить все исходники "версия 1.0" - это даст возможность получить из системы контроля весь исходный код соответствующий данной версии и так далее. Есть разные системы - мы используем Source Safe и потихоньку переезжаем на TFS.
Если же вам надо модифицировать работающую программу "на лету", то это делается чуть иначе - через динамически вызываемые инструменты. Надо полагать, вам именно это надо.
Следите за руками:
Берём переднюю панель, на которую бросаем SubPanel для нашего динамически загружаемого инструмента:
Изображение
То, что будет крутиться в окне, просто как пять копеек:
Изображение
Теперь при старте программы грузим подприбор в окно и запускаем его:
Изображение
Обработчик нажатия кнопки Reload выглядит следующим образом:
Изображение
Тут мы останавливаем наш инструмент через Abort, выгружаем его из субпанели, грузим с диска модифицированную версию, и запускаем его.
Теперь вы можете запустить приложение, потом в LabVIEW открыть подприбор прямо из директории исполняемого приложения, модифицировать его, и нажать кнопку Reload - новая версия тут же подгрузится без остановки основного приложения. Ну вот, к примеру, я добавлю Boolean контрол и нажму Reload SubVI:
Изображение
При останове основной программы подбрибор тоже абортится ессно.

Данная архитектура открывает простор для модификаций, к примеру, основная программа может автоматически следить за изменениями подприбора (да хотя бы по метке даты и времени) и автоматически перегружать его при изменениях. Можете запустить эту программу на сервере и просто копировать туда изменённые подприборы - они будут "на лету" подменяться. Также можно усовершенствовать логику останова прибора - если метод Abort (это как авто об стену тормозить), то можно придумать систему нотификаций для мягкого управляемого останова и т.д и т.п.
Вложения
Reload DynVI.zip
(32.29 КБ) 272 скачивания
седьмой
adviser
adviser
Сообщения: 222
Зарегистрирован: 14 апр 2014, 17:36
Версия LabVIEW: 14
Откуда: г.Киров
Контактная информация:

Re: LabView сетевая программа?

Сообщение седьмой »

Спасибо, интересно, со 2м прибором подмены SUBVI на лету идея понятна в целом, но не все , попробую поразбираться на Вашем примере. Что мне нужно я сам не понимаю по хорошему. Наверно больше подойдет первый вариант, через "Check out/in". Поэтому разрешите еще уточнить , "то что мне советуют" это системы контроля версий .Это отдельная программа или она входит в комплект рабочей программы LabView, иными словами требуется для этого, что то еще докупать? или действует лицензия самой программы? И второй вопрос "мы используем Source Safe и потихоньку переезжаем на TFS" это, что за программы? Какое у них полное наименование, что бы посмотреть информацию по ним в инете? И они являются дополнительными программами? или входят в комплект LabView?
PS.Возможно не очень понятно объяснил, что хочется, но уж как получилось...
Аватара пользователя
kapusta1986
assistant
assistant
Сообщения: 103
Зарегистрирован: 14 июн 2014, 13:56
Версия LabVIEW: 2014, 2015
Откуда: Караганда
Контактная информация:

Re: LabView сетевая программа?

Сообщение kapusta1986 »

Ну..... если тебя устроит контроль версии, то советую смотреть в сторону git https://git-scm.com/

Я ставил на центральной машине ssh сервер, сам гит (консоль), генерил ключи и раздавал участникам проекта. Участники создают свою ветку, модифицируют проект, сливают в один проект. В целом очень удобно. Также поставил redmine и привязал к гиту.

Так что это даже геморнее, чем вариант AndreyDmitriev, я с ним полностью согласен. Но нам удобнее целый проект чтоб участники по разному что то меняли в целом, а не подгружая меняемый модуль. Но на вкус цвет карандаши разные...
Аватара пользователя
kapusta1986
assistant
assistant
Сообщения: 103
Зарегистрирован: 14 июн 2014, 13:56
Версия LabVIEW: 2014, 2015
Откуда: Караганда
Контактная информация:

Re: LabView сетевая программа?

Сообщение kapusta1986 »

Забыл...

Еще проще, если у участников есть хороший интернет, можно воспользоватся онлайн гитом типа https://bitbucket.org/ или https://github.com/

Создаете учетку, генерите и добавляете ключи доступа, используете TortoiseGit или любой другой клиент, сливаете проект (баре-репозитории), а участники пусть сливают себе проет, меняют его как угодно и заливают обратно.

PS: это все сторонние приложения... не NIшные...

Вот к примеру мне нравится, что Altium Designer поддерживает svn... Очень удобно.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: LabView сетевая программа?

Сообщение AndreyDmitriev »

седьмой писал(а):разрешите еще уточнить , "то что мне советуют" это системы контроля версий .Это отдельная программа или она входит в комплект рабочей программы LabView, иными словами требуется для этого, что то еще докупать? или действует лицензия самой программы? И второй вопрос "мы используем Source Safe и потихоньку переезжаем на TFS" это, что за программы? Какое у них полное наименование, что бы посмотреть информацию по ним в инете? И они являются дополнительными программами? или входят в комплект LabView?
Source Safe - это Microsoft Visual Source Safe. Снята с производства.
TFS - это Microsoft Team Foundation Server. Это замена для Source Safe.
Да, программы платные. Нет, в состав LabVIEW не входят.
Ну можно git использовать, как уже выше советовали.

Самое главное - не путайте систему контроля версий исходного кода и пример с динамически подгружаемым кодом. Эти две штуки совершенно и абсолютно, ну просто вообще никак не связаны.
седьмой
adviser
adviser
Сообщения: 222
Зарегистрирован: 14 апр 2014, 17:36
Версия LabVIEW: 14
Откуда: г.Киров
Контактная информация:

Re: LabView сетевая программа?

Сообщение седьмой »

Спасибо всем, буду смотреть :super:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Модели программирования»