LabVIEW 2018

Темы связанные с инженерными разработками, но не подходящие в другие ветки форума

LabVIEW 2018

Postby dadreamer on 02 May 2018, 16:25

По традиции выход новой версии "проворонил", плюшки толком не попробовал, поэтому нынче вовсе без экскурса в новшества. Кому интересно, читаем официальную выдержку из хэлпа:
LabVIEW 2018 Features and Changes.pdf
(77.78 KiB) Downloaded 37 times

На сервере NI файлы пока что скрыты, скачать можно только 32-битную версию. Хотя в сети уже лежит и 64-битная версия, но сторонние ссылки давать здесь не буду. Вышел также и Vision 2018, сейчас докачивается. Описывать особо нечего, порадовала интеграция с Питоном (Connectivity -> Python), также более полноценно продолжают внедряться Malleable VIs, в палитре Timing появился новый :vi: High Resolution Polling Wait. Да, и "плоские" контролы из NXG перекочевали в 2018-ю версию.

Баг-фиксы:

The following items are the IDs and titles of a subset of issues fixed in LabVIEW 2018. This is not an exhaustive list of issues fixed in the current version of LabVIEW. If you have a CAR ID, you can search this list to validate that the issue has been fixed.

ID Fixed Issue
457851 Bundling class data is slower than bundling cluster data.
536763 Pop-up menus can appear only limited number of times before LabVIEW crashes.
619819 Icon transparency of VIs is not maintained when building a packed project library.
629258 In some cases, reading from a corrupt TDMS file deletes the file from your machine.
630227 LabVIEW incorrectly allows dropping a shared variable into a cluster.
631802 Exporting typedef array of numerics to Excel may crash LabVIEW.
639000 LabVIEW crashes when updating the radix of a numeric control on an Actor Core VI that is running.
643107 Changing the line styles of multiple plots does not work as expecting in XY graphs.
645059 Uninitialized shift registers may cause incorrect type propagation.
648582 Cannot create Express VIs in certain localized versions of LabVIEW.
658587 Rescripting a message for an actor on a Linux RT target results in error 7.
664649 Accessing a DVR and deleting its reference in parallel can, in certain circumstances, cause LabVIEW to crash.
666823 VIs that use channel wires are broken when built into a packed project library.
670440 When dynamically registering events, LabVIEW may behave unexpectedly if an event is fired and unregistered before it is processed.
671753 The LabVIEW Application Builder has the potential to hang when building malleable VIs with subarray or substring inputs.
672120 Malleable VIs may not properly break after you rename a class method that the mallable VI calls when performing class substitution.
678973 Tools»Synchronize with ni.com Icon Library fails in the LabVIEW Icon Editor.
684125 In some cases, resizing a mixed signal graph causes LabVIEW to crash.

Кстати, ещё зимой вышел NXG 2.0, но что-то никто его, видать, не качал и не тестировал (включая меня)... Писали, что по сравнению с предыдущей версией выполнен ряд (чуть ли не) радикальных улучшений, например, реализована поддержка Vision и т.п.
User avatar
dadreamer
professor
professor
 
Posts: 3025
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 733
I/O VIP vision internet

Re: LabVIEW 2018

Postby Kosist on 03 May 2018, 08:48

Выглядит интерестно. Особенно подддержка Питона, и создание packages. Любопытно, что в будущем станет тогда с VI packages от JKI?.. Для чисто энаевских "пакетов" есть одна выгода, как мне кажется - не нужно лицензии от 3-й компании (даже если фича билдить .nipkg будет тоже под лицензией, для интеграторов с SSP контрактом это не будет проблемой). Но с другой стороны, vip уже давно работают...
О, и форматирование текста добавили! Наконец-то Ctrl-B будет работать )))
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 802
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 238
CLAD I/O VIP students

Re: LabVIEW 2018

Postby taras_33 on 03 May 2018, 15:01

Наконец-то Ctrl-B будет работать
Уже занято - убирает с блок диаграмы broken wires. :D
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
User avatar
taras_33
advanced
advanced
 
Posts: 179
Joined: 31 Oct 2009, 18:25
Location: Minsk -> Miami
Medals: 1
Activity (1)
LabVIEW Version: 2016
Karma: 92
CLD

Re: LabVIEW 2018

Postby alex3f on 03 May 2018, 21:20

На сервере NI файлы пока что скрыты, скачать можно только 32-битную версию. Хотя в сети уже лежит и 64-битная версия, но сторонние ссылки давать здесь не буду.

Многое доступно на их FTP-сервере. Там всё в куче... Если отсортировать по времени, то видно что последнее NI выложили (обновили). В том числе и LabVIEW 2018 64 bit.
alex3f
beginner
beginner
 
Posts: 14
Joined: 23 Aug 2016, 09:16
LabVIEW Version: 2016
Karma: 5

Re: LabVIEW 2018

Postby rushonda on 03 May 2018, 23:21

Установил, для питона всего 3 функции - открыть сессию, закрыть сессию и python node. Примеров как с ним работать нет.
Никто не может любой пример выложить, хоть как 2 числа сложить?
rushonda
assistant
assistant
 
Posts: 103
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 0

Re: LabVIEW 2018

Postby dadreamer on 04 May 2018, 00:22

rushonda wrote:Установил, для питона всего 3 функции - открыть сессию, закрыть сессию и python node. Примеров как с ним работать нет.
Никто не может любой пример выложить, хоть как 2 числа сложить?

Там же до безобразия просто. Мне хватило 5 минут, чтобы разобраться, хотя я и не эксперт в Питоне. Вот самый простейший пример:
Python_Sample.png
Python_Sample.png (18.38 KiB) Viewed 662 times

Подпрограмма sum.py:
Code: Select all
def add(x, y):
return x + y

Учтите, что разрядность Питона и разрядность :labview: важна: если установлен Питон 32 бита, то его можно использовать только в :labview: 32 бита. То же самое для 64. Это в хэлпе также написано, советую прочитать.
User avatar
dadreamer
professor
professor
 
Posts: 3025
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 733
I/O VIP vision internet

Re: LabVIEW 2018

Postby rushonda on 04 May 2018, 12:20

dadreamer, спасибо. Да я как раз и пытался так сделать - только питон 3.6 - выдавал ошибку при инициализации сессии.
А Вы как раз написали что важна разрядность - проверил - labview 32, а питон как раз 64. Спасибо за ответ!
rushonda
assistant
assistant
 
Posts: 103
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 0

Re: LabVIEW 2018

Postby dadreamer on 04 May 2018, 16:25

А вот любопытно, насколько быстро выполняется питоновский скрипт по сравнению с традиционными подходами (встроенные :vi: / Formula Node / MathScript Node)... Как будет время, хочу дополнить вот этот свой бенчмарк, чтобы внести ясность. Насколько я понял из теории, код на Питоне компилится в промежуточный байт-код, который затем интерпретируется процессом python.exe. Ну, т.е. машинного кода как такового нет. Думаю, Питон будет где-то между нативными :vi: и узлом формулы. Ещё из Питона можно вызывать библиотеки, это даёт простор для написания разного рода плагинов.

upd:
Бенчмарк сделал. Результат не слишком меня порадовал (хоть и был ожидаемым). Пожалуй, использовать Питон для времякритичных задач не стоит.
Attachments
2018-05-05_18-10-14.jpg
Python_Bench.rar
lv2018
(42.77 KiB) Downloaded 15 times
User avatar
dadreamer
professor
professor
 
Posts: 3025
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 733
I/O VIP vision internet

Re: LabVIEW 2018

Postby rushonda on 07 May 2018, 22:01

dadreamer, я тоже проверял - сильно медленнее получается. Вопрос только зачем и где вообще можно применять питон, встроенный в labview?
rushonda
assistant
assistant
 
Posts: 103
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 0

Re: LabVIEW 2018

Postby Vitekkz88 on 08 May 2018, 05:18

Я пропустил новинки и поэтому мой отзыв основывается на опыте работы с LabVIEW 2015.
Type Specialization Structure - годное дополнение(если без багов).
Ноги растут из полиморфизма, а точнее параметрического полиморфизма. Однако, как показывает практика, добрую часть
лабвьюшников следует ознакомить с этим китом ООП, а то по незнанию можно в калошу сесть.

Новые команды для CLI, ага. Резонный вопрос: почему бы сразу не заложить эти команды в более ранних версиях?
Наверняка найдутся те единицы, которые экономят на спичках используя именно CLI взамен олд-скула. Или же добавленые команды не получится выполнить кроме как в CLI?

Вызов кода Python - занимает особое место.
Заманчиво звучит, но Python как бы и сам по себе простой и годный инструмент. Это мне напоминает возможность вызывать
скрипт MATLAB-а из LabVIEW. Целевая аудитория не оценила, вряд ли это кому-то понравится с точки зрения производительности да и фунционал урезанный. А для серьёзных вещей, где требуется вызов крафтовых функций MATLAB-а, потребуется на борту непосрдственно сам MATLAB с его же супер-пупер ToolBox-ами. В итоге получаем для конечного
приложения: вместо одного Run-Time от NI нам нужно будет накатывать еще Run-Time и от MATLAB, тратить деньги на сам MATLAB, при этом иметь посредственную производительность.
"You must install Python 2.7 or 3.6 to use the LabVIEW Python functions." говорят нам ребятки из NI. Благо, Python бесплатный(?),
есть профит по деньгам. Но опять же, если идет прицел на обычные апликухи без привязки к производительности, то почему бы не сделать всё на Python или LabVIEW? Портировать LV-код с скриптами Python на Linux тоже не получится, т.к. поддержка LV для Linux со стороны NI оффициально прекращена.
Пример: заинтересовался Big Data и хочу использовать возможности Python на всю катушку с его библиотеками. От Python я хочу математику, а всю визуализацию и пост.обработку ставлю на рельсы LabVIEW. Весь азарт разобъётся о суровую реальность тормознутости этого подхода.
В худшем случае потребуется 2 разработчика+совместная отладка+баг.фиксы. В лучшем - это будет один разработчик одинаково хорошо владеющий как LabVIEW, так и Python. Резонный вопрос: зачем смешивать ужа с ежом если всё можно сделать на змейке и производительность будет выше? Вот и я не знаю, но, как говорится: "Всё же от задачи зависит!". Главное добавить, а о приминимости потом будет известно.

Хвалу бантикам нового дизайна стартового окна оставлю без внимания. Это не имеет практической значимости, в прошлых версиях было вполне нормально. А в целом уже давно можно было бы заморочиться с плагином, который позволяет менять тему оформления на что-то интересное. Этим не брезгуют многие среды разработки.

Итог: баги таскаются из версии в версию с небольшими исправлениями. Новые фишки поражадают и новые баги, которые исправляются только к следующей версии.
"Так есть же NXG - следующее поколение LabVIEW!"
Этот NXG еще следует пощупать как следует, чтобы понять, на сколько там всё так же красиво и эффективно, как преподносят
маркетологи. Если NXG - это прям таки будущее, то имеет смысл привести в полный порядок настоящее, а не вот это вот всё.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
leader
leader
 
Posts: 991
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 270
hardware I/O VIP

Re: LabVIEW 2018

Postby dadreamer on 08 May 2018, 08:50

rushonda wrote:Вопрос только зачем и где вообще можно применять питон, встроенный в labview?

Ну, допустим, чтобы повторно использовать уже имеющийся код. Например, есть множество скриптов на Питоне, а переписывать всё в :labview: долго или сложно выполнимо. Тогда можно попробовать подключить через Python Node. И хотя это теоретически реализуемо, практически - будет жутко медленно и абсолютно недружелюбно для конечного пользователя. Уж лучше тогда, на самом деле, написать всё на чистом Питоне или прикрутить GUI на другой IDE. Ну, или край - написать с нуля в :labview: . NI пытаются шагать "в ногу со временем", прикручивая новомодные фишки. Как это будет работать - другой вопрос. Сдаётся мне, проку от Python Node будет столько же, сколько от MathScript Node, - меньше 1 процента юзеров будут реально пытаться использовать (и плеваться, разумеется). Кроме прочего, ещё не до конца понятно, какие баги имеет такая интеграция одного в другое. У меня, например, команда print подвесила :labview: - понятно, принтить-то ему некуда, хотя можно было бы в отладочное окно или cmd.
Vitekkz88 wrote:Если NXG - это прям таки будущее, то имеет смысл привести в полный порядок настоящее, а не вот это вот всё.

Похоже, побыстрее хотят свести две ветки вместе - NXG и классический :labview: . Из-за этого нынешний :labview: становится сильно похож на NXG, добавили "плоские" контролы, добавили поддержку Питона, наверное, ещё будут добавлять всякого. И в итоге, как уже подмечали в теме про 2017-й, лет через 5 появится этакий гибрид (ужа с ежом) вместо привычного LV.
User avatar
dadreamer
professor
professor
 
Posts: 3025
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 733
I/O VIP vision internet

Re: LabVIEW 2018

Postby Kosist on 08 May 2018, 11:02

Vitekkz88 wrote:Новые команды для CLI, ага. Резонный вопрос: почему бы сразу не заложить эти команды в более ранних версиях?
Наверняка найдутся те единицы, которые экономят на спичках используя именно CLI взамен олд-скула. Или же добавленые команды не получится выполнить кроме как в CLI?

CLI - это не просто Command Promt. Фишка CLI (command line interface) в том, что она может возвращать код после выполнения команды непосредственно к :labview: - например, запуск виайки, или еще что-то. До этого CLI в :labview: было лишь это. И в основном используется для автоматизации юнит тестирования, VI Analyzer, билдера, и т.д. И поэтому ранее закладывать выполнение этих команд было некуда - т.к. command promt узел это немного не то...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 802
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 238
CLAD I/O VIP students

Re: LabVIEW 2018

Postby Vitekkz88 on 08 May 2018, 12:42

Kosist, Я пользовался CLI - раз, может два раза от силы в проекте. И то, потому что надо было по кнопке запускать какое-то там стороннее приложение, а юзер ленивый до невозможности не хотел делать это через "Пуск".
Не знаю, стоит ли внимания этот инструмент? Юнит-тестирование это как? Чет я не знаю куда это прикрутить...Но за рассказ спасибо, для меня это важно!
dadreamer, я обязательно поставлю NXG для ознакомления, меня подкупает возможность запускать софт без инсталятора. Вот на сколько это возможно будет, прям очень интересно для меня, т.к. я в проекте не использую никаких тулкитов. Чистый LabVIEW+сторонние dll-ки. Еще по теме вопрос: правда, что начиная с LV 2017 единый RTE идет? То есть то, что сделано на 2018 должно взлететь и на 2017? Может пробовали, знаете? Я чет или на форуме вычитал или где-то у офицалов.
И еще один вопрос(возможно ламерский): а как сделать собственную палитру контролов? Я умею через кастом их изменять, но вот чтоб прям свои и в палитру их добавить...хз как) Подскажите плиз? :cry:
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
User avatar
Vitekkz88
leader
leader
 
Posts: 991
Joined: 21 Jan 2014, 15:45
Location: Томск
Medals: 3
Activity (1) Silver (1) Автор (1)
LabVIEW Version: 12,13,14
Karma: 270
hardware I/O VIP

Re: LabVIEW 2018

Postby dadreamer on 08 May 2018, 18:03

Vitekkz88 wrote:я обязательно поставлю NXG для ознакомления, меня подкупает возможность запускать софт без инсталятора.

Вы считаете, что бинарник, скомпиленный в NXG, не нуждается в ран-тайме?..
LabVIEW NXG 2.0 Run-Time Engine Web Installer
The LabVIEW NXG 2.0 Run-Time Engine must be installed on any Windows system where you plan to run executables that you build with the LabVIEW NXG 2.0 Application Builder.

Или смысл был в том, что NXG ставится маленько "нетрадиционно" - через VIPM, а не через stand-alone инсталлер?
Vitekkz88 wrote:правда, что начиная с LV 2017 единый RTE идет? То есть то, что сделано на 2018 должно взлететь и на 2017? Может пробовали, знаете? Я чет или на форуме вычитал или где-то у офицалов.

Ну, я писал об этом год назад. Только нюанс в том, что совместимость обратная (backward). То есть, ран-тайм 2018 может подгружать exe 2018 и 2017, а ран-тайм 2017 - только exe 2017. Этот принцип должен распространяться и на будущие ран-таймы, если только NI чего-то не поменяют. За обратную совместимость ран-тайма отвечает галочка "Allow future versions of the LabVIEW Runtime to run this application" в доп. параметрах билда (по дефолту установлена). Можно её снять, тогда магия NI работать перестанет.
Vitekkz88 wrote:а как сделать собственную палитру контролов?

Ну, я создавал собственную палитру только один раз, и мне хватило трёх встроенных :vi: по адресу Application Control -> Palette Editing. Я просто взял готовую палитру и поменял её ресурсы (что не надо выкинул, что надо добавил). Если есть желание, можно поизучать ещё вот эти инструменты: C:\Program Files (x86)\National Instruments\LabVIEW 2018\vi.lib\Palette API. Для полного счастья можно снести пароли и посмотреть БД'шки. Вроде, ещё были какие-то приватные методы, но я сходу не помню.
User avatar
dadreamer
professor
professor
 
Posts: 3025
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 733
I/O VIP vision internet

Re: LabVIEW 2018

Postby Kosist on 08 May 2018, 19:09

Vitekkz88 wrote:Kosist, Я пользовался CLI - раз, может два раза от силы в проекте. И то, потому что надо было по кнопке запускать какое-то там стороннее приложение, а юзер ленивый до невозможности не хотел делать это через "Пуск".
Не знаю, стоит ли внимания этот инструмент? Юнит-тестирование это как? Чет я не знаю куда это прикрутить...Но за рассказ спасибо, для меня это важно!

Советую почитать тогда о Continuous integration (CI). Это пришло от Agile разработки, и естественно, в мире :labview: все еще не очень популярно, хотя интерес растет. Вкратце - поднимается CI сервер, и по триггеру (например, коммиту в Git/любой другой SVC) начинается процес билда. Запускаются юнит тесты (unit testing, в гугле полно инфы + я на форуме постил о JKI VI Tester и Caraya), запускается :vi: analyzer, билдится екзешник/инсталлер, и т.д. - все, что душе угодно, и что можно автоматизировать. И Вы не тратите время на ручную работу, т.к. процесс автоматизирован. Вся эта рутина, выполненная N крат, отнимает кучу времени, и иногда это даже не замечается.
Я игрался с этим, и у меня билдился екзешник, затем инсталлер, создавался запароленый zip-архив, и загружался на сервер. Мне нужно было лишь запустить задачу на билд, а затем отправить заказчику готовый архив. И не нужно было ждать, когда закончится каждая из стадий + все это выполняется на отдельном компе. В ручную нужно ведь как - запустить билд екзе; подождать пока он закончится. Тогда билд инсталлера, подождать пока он закончится. Ясно, что не нужно сидеть за компом, и ждать как Хатико, но скрипт среагирует быстрее, и запустит нужную комманду как только предыдущий билд будет готовый. Зачем вручную делать то, что можно автоматизировать? :wink:
Все это уже давным-давно используется в "обычном" мире программистов, только мы, лабвьюшники, как всегда отстаем...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 802
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 238
CLAD I/O VIP students

Next

Return to Общие

Who is online

Users browsing this forum: Google and 1 guest

cron