LabView сетевая программа?
-
- adviser
- Сообщения: 222
- Зарегистрирован: 14 апр 2014, 17:36
- Версия LabVIEW: 14
- Откуда: г.Киров
- Контактная информация:
LabView сетевая программа?
Меня интересует модель отладки (доработки) программы в сетевом режиме с разных компьютеров. Имеется ли такая возможность? По аналогии например с 1с 8, если модуль программы установлен на сервере, то можно вносить доработки с разных компьютеров. Я не сравниваю эти программы, просто поясняю, что именно меня интересует. Или другой пример - при настройке сайта, я могу на хостинг скинуть новую версию программы с одного компьютера, а что бы проверить на другом, достаточно только выполнить обновление странички и все сделанные доработки будут видны. Каким образом в LabView можно проводить разделенные доработки программы?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: LabView сетевая программа?
Я точно не знаю, есть ли у NI какой-то инструмент для этого, но можно было бы закинуть на сервер основной , а с клиентских компов открывать его и вносить изменения. Но тут другие грабли получатся - одновременная запись с двух и более компов. В таком случае я вижу только один подход - модульный принцип построения программы. Каждый разработчик работает над своим SubVI, потом соединяете всё вместе.
-
- adviser
- Сообщения: 222
- Зарегистрирован: 14 апр 2014, 17:36
- Версия LabVIEW: 14
- Откуда: г.Киров
- Контактная информация:
Re: LabView сетевая программа?
Вы имели в виду, что один проект и в нем разные модули vi. Попробую, спасибо.
- kapusta1986
- assistant
- Сообщения: 103
- Зарегистрирован: 14 июн 2014, 13:56
- Версия LabVIEW: 2014, 2015
- Откуда: Караганда
- Контактная информация:
Re: LabView сетевая программа?
Наверно поздно отвечаю, но а что если смотреть в сторону git? svn? bitbucket?
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: LabView сетевая программа?
SVN отлично подходит - просто, удобно.kapusta1986 писал(а):Наверно поздно отвечаю, но а что если смотреть в сторону git? svn? bitbucket?
Мы делили апельсин - много наших полегло...
-
- adviser
- Сообщения: 222
- Зарегистрирован: 14 апр 2014, 17:36
- Версия LabVIEW: 14
- Откуда: г.Киров
- Контактная информация:
Re: LabView сетевая программа?
Это дополнительные программы сторонних поставщиков ПО? Я имел в виду не совсем это, но за информацию спасибо.
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: LabView сетевая программа?
Не так это делается. То, что вам советуют - это системы контроля версий, оно к рантайму не имеет никакого отношения. Грубо говоря, исходный код хранится на сервере, вы делаете "Check out", получаете локальную копию на свой компьютер, изменяете её, и делаете "Check In", затем другой разработчик получает последнюю версию, которую может модифицировать и положить обратно в систему контроля версий. При этом хранится вся история изменений - если надо будет откатиться к предыдущей версии исходного кода, то вы это легко сделаете. После выпуска релиза вы можете пометить все исходники "версия 1.0" - это даст возможность получить из системы контроля весь исходный код соответствующий данной версии и так далее. Есть разные системы - мы используем Source Safe и потихоньку переезжаем на TFS.
Если же вам надо модифицировать работающую программу "на лету", то это делается чуть иначе - через динамически вызываемые инструменты. Надо полагать, вам именно это надо.
Следите за руками:
Берём переднюю панель, на которую бросаем SubPanel для нашего динамически загружаемого инструмента:
То, что будет крутиться в окне, просто как пять копеек:
Теперь при старте программы грузим подприбор в окно и запускаем его:
Обработчик нажатия кнопки Reload выглядит следующим образом:
Тут мы останавливаем наш инструмент через Abort, выгружаем его из субпанели, грузим с диска модифицированную версию, и запускаем его.
Теперь вы можете запустить приложение, потом в LabVIEW открыть подприбор прямо из директории исполняемого приложения, модифицировать его, и нажать кнопку Reload - новая версия тут же подгрузится без остановки основного приложения. Ну вот, к примеру, я добавлю Boolean контрол и нажму Reload SubVI:
При останове основной программы подбрибор тоже абортится ессно.
Данная архитектура открывает простор для модификаций, к примеру, основная программа может автоматически следить за изменениями подприбора (да хотя бы по метке даты и времени) и автоматически перегружать его при изменениях. Можете запустить эту программу на сервере и просто копировать туда изменённые подприборы - они будут "на лету" подменяться. Также можно усовершенствовать логику останова прибора - если метод Abort (это как авто об стену тормозить), то можно придумать систему нотификаций для мягкого управляемого останова и т.д и т.п.
Если же вам надо модифицировать работающую программу "на лету", то это делается чуть иначе - через динамически вызываемые инструменты. Надо полагать, вам именно это надо.
Следите за руками:
Берём переднюю панель, на которую бросаем SubPanel для нашего динамически загружаемого инструмента:
То, что будет крутиться в окне, просто как пять копеек:
Теперь при старте программы грузим подприбор в окно и запускаем его:
Обработчик нажатия кнопки Reload выглядит следующим образом:
Тут мы останавливаем наш инструмент через Abort, выгружаем его из субпанели, грузим с диска модифицированную версию, и запускаем его.
Теперь вы можете запустить приложение, потом в LabVIEW открыть подприбор прямо из директории исполняемого приложения, модифицировать его, и нажать кнопку Reload - новая версия тут же подгрузится без остановки основного приложения. Ну вот, к примеру, я добавлю Boolean контрол и нажму Reload SubVI:
При останове основной программы подбрибор тоже абортится ессно.
Данная архитектура открывает простор для модификаций, к примеру, основная программа может автоматически следить за изменениями подприбора (да хотя бы по метке даты и времени) и автоматически перегружать его при изменениях. Можете запустить эту программу на сервере и просто копировать туда изменённые подприборы - они будут "на лету" подменяться. Также можно усовершенствовать логику останова прибора - если метод Abort (это как авто об стену тормозить), то можно придумать систему нотификаций для мягкого управляемого останова и т.д и т.п.
- Вложения
-
- Reload DynVI.zip
- (32.29 КБ) 273 скачивания
-
- adviser
- Сообщения: 222
- Зарегистрирован: 14 апр 2014, 17:36
- Версия LabVIEW: 14
- Откуда: г.Киров
- Контактная информация:
Re: LabView сетевая программа?
Спасибо, интересно, со 2м прибором подмены SUBVI на лету идея понятна в целом, но не все , попробую поразбираться на Вашем примере. Что мне нужно я сам не понимаю по хорошему. Наверно больше подойдет первый вариант, через "Check out/in". Поэтому разрешите еще уточнить , "то что мне советуют" это системы контроля версий .Это отдельная программа или она входит в комплект рабочей программы LabView, иными словами требуется для этого, что то еще докупать? или действует лицензия самой программы? И второй вопрос "мы используем Source Safe и потихоньку переезжаем на TFS" это, что за программы? Какое у них полное наименование, что бы посмотреть информацию по ним в инете? И они являются дополнительными программами? или входят в комплект LabView?
PS.Возможно не очень понятно объяснил, что хочется, но уж как получилось...
PS.Возможно не очень понятно объяснил, что хочется, но уж как получилось...
- kapusta1986
- assistant
- Сообщения: 103
- Зарегистрирован: 14 июн 2014, 13:56
- Версия LabVIEW: 2014, 2015
- Откуда: Караганда
- Контактная информация:
Re: LabView сетевая программа?
Ну..... если тебя устроит контроль версии, то советую смотреть в сторону git https://git-scm.com/
Я ставил на центральной машине ssh сервер, сам гит (консоль), генерил ключи и раздавал участникам проекта. Участники создают свою ветку, модифицируют проект, сливают в один проект. В целом очень удобно. Также поставил redmine и привязал к гиту.
Так что это даже геморнее, чем вариант AndreyDmitriev, я с ним полностью согласен. Но нам удобнее целый проект чтоб участники по разному что то меняли в целом, а не подгружая меняемый модуль. Но на вкус цвет карандаши разные...
Я ставил на центральной машине ssh сервер, сам гит (консоль), генерил ключи и раздавал участникам проекта. Участники создают свою ветку, модифицируют проект, сливают в один проект. В целом очень удобно. Также поставил redmine и привязал к гиту.
Так что это даже геморнее, чем вариант AndreyDmitriev, я с ним полностью согласен. Но нам удобнее целый проект чтоб участники по разному что то меняли в целом, а не подгружая меняемый модуль. Но на вкус цвет карандаши разные...
- kapusta1986
- assistant
- Сообщения: 103
- Зарегистрирован: 14 июн 2014, 13:56
- Версия LabVIEW: 2014, 2015
- Откуда: Караганда
- Контактная информация:
Re: LabView сетевая программа?
Забыл...
Еще проще, если у участников есть хороший интернет, можно воспользоватся онлайн гитом типа https://bitbucket.org/ или https://github.com/
Создаете учетку, генерите и добавляете ключи доступа, используете TortoiseGit или любой другой клиент, сливаете проект (баре-репозитории), а участники пусть сливают себе проет, меняют его как угодно и заливают обратно.
PS: это все сторонние приложения... не NIшные...
Вот к примеру мне нравится, что Altium Designer поддерживает svn... Очень удобно.
Еще проще, если у участников есть хороший интернет, можно воспользоватся онлайн гитом типа https://bitbucket.org/ или https://github.com/
Создаете учетку, генерите и добавляете ключи доступа, используете TortoiseGit или любой другой клиент, сливаете проект (баре-репозитории), а участники пусть сливают себе проет, меняют его как угодно и заливают обратно.
PS: это все сторонние приложения... не NIшные...
Вот к примеру мне нравится, что Altium Designer поддерживает svn... Очень удобно.
-
- VIP
- Сообщения: 1337
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: LabView сетевая программа?
Source Safe - это Microsoft Visual Source Safe. Снята с производства.седьмой писал(а):разрешите еще уточнить , "то что мне советуют" это системы контроля версий .Это отдельная программа или она входит в комплект рабочей программы LabView, иными словами требуется для этого, что то еще докупать? или действует лицензия самой программы? И второй вопрос "мы используем Source Safe и потихоньку переезжаем на TFS" это, что за программы? Какое у них полное наименование, что бы посмотреть информацию по ним в инете? И они являются дополнительными программами? или входят в комплект LabView?
TFS - это Microsoft Team Foundation Server. Это замена для Source Safe.
Да, программы платные. Нет, в состав LabVIEW не входят.
Ну можно git использовать, как уже выше советовали.
Самое главное - не путайте систему контроля версий исходного кода и пример с динамически подгружаемым кодом. Эти две штуки совершенно и абсолютно, ну просто вообще никак не связаны.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 1790 Просмотры
-
Последнее сообщение FredP
-
- 0 Ответы
- 1900 Просмотры
-
Последнее сообщение Anastasia
-
- 3 Ответы
- 2068 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 344 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2416 Просмотры
-
Последнее сообщение dadreamer