Зачем использовать LabVIEW? [закрытый]

Я учусь использовать LabVIEW как часть моего проекта honours и задавался вопросом, Какие преимущества имеет графический язык программирования над текстовым?

7 ответов


его все о драйверах оборудования и пользовательских возможностях. NI (Labview) имеет хорошо поддерживаемый набор драйверов лабораторного оборудования, которые легко взаимодействуют. Оператору тестирования (не разработчику) нужен графический интерфейс с большой зеленой/красной кнопкой pass/fail. Я реализовал сложную автоматизацию через python в cygwin. Разработчик Labview смог вызвать систему cygwin / python и данные шахты файлов журнала. Так что вы можете сделать оба. Система python является портативной, ремонтопригодной, расширяемой, полезной и лучшей из все, свободен.


для меня преимущество LabVIEW не в графическом против текстового.

Это поток данных против императива.

Программирование потока данных поддается параллелизму, потому что ваше выполнение моделируется как черные ящики, которые выполняются, когда их входы действительны, входы/выходы которых соединены вместе. Это в отличие от неявного состояния со списком инструкций о том, как его изменить. (Свободно перефразируя ' kipedia, статья, связанная выше лучше.)

каждый черный ящик может работать на отдельном ядре / процессоре / узле, что дает вам, эффективно, свободный параллелизм, если вы организуете свою программу способом потока данных.

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

вопрос в том: Do плюсы потока данных перевешивают минусы для вас и вашего проекта?


одним из основных преимуществ графического программирования С LabVIEW является то, что исходный код очень похож на схемы, поэтому это очень простой язык для инженеров по электротехнике/электронике. Это одна из причин, по которой LabVIEW стал настолько популярным в области сбора данных и автоматизации, где EEs в изобилии.

еще одним преимуществом, которое я нашел, была необработанная скорость развития. Вы собираете свои GUIs из палитры доступных передней панели элементы управления, очень похожие на то, как это делается в Visual Studio. Исходный код написан аналогичным образом, со многими заранее определенными компонентами, которые можно поместить в меню и связать вместе.

третьим преимуществом является совместимость с оборудованием. Основной бизнес National Instruments-это оборудование для сбора данных, и они идут на все, чтобы убедиться, что все их продукты могут общаться с программным обеспечением LabVIEW прямо из коробки. Многие другие поставщики оборудования в данных то же самое происходит и в сфере приобретения и автоматизации.


Я использовал labview раньше для вычисления параметров для настройки машины nMRI. Они существуют, потому что теоретически легче для кого-то с небольшим опытом языка программирования создать программу. Структуры потока управления и принятия решений могут быть расположены графически, и они могут вводить свою формулу там, где они хотят.

для профессоров и лаборантов...полезный. Для настоящих разработчиков программного обеспечения ... было бы проще писать на другом языке.


Я использовал LabView в прошлом, а для сбора данных, виртуального инструментария и т. д. - Нет ничего лучше. В последний раз я использовал его 10 лет назад, и ничто из того, что я видел с тех пор, не соответствовало тому, где это было в середине 90-х.


некоторые преимущества LabVIEW на мой взгляд:

  • встроенные компоненты пользовательского интерфейса, такие как кнопки, графики и т. д., буквально не требуют программирования; вы просто размещаете их на передней панели, а терминалы данных появляются на блок-схеме.

  • есть большая библиотека драйверов для аппаратных средств сбора данных и тестирования. Если ваша задача в основном заключается в получении данных и из них и размещении пользователя интерфейс на нем, то вы можете достичь его практически без программирования.

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

многие люди, включая "реальных разработчиков программного обеспечения", считают, что графическая парадигма подходит так, как они думают и визуализируют свое программное обеспечение лучше чем текстовая. Несомненно, есть вещи, для которых текстовые языки лучше, чем LabVIEW (рассмотренный в другом обсуждении на этом сайте), но там, где LabVIEW подходит, он очень хорош в выполнении работы.


для меня это сводится к тому, что вам удобно, если вам удобно в текстовых языках, вы, вероятно, обнаружите, что Labview просто вводит еще одну кривую обучения. Если у вас нет конкретной цели учиться и использовать Labview, я не вижу смысла для вашего проекта.

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

Я использую текстовые языки для тестирования, а также Labview и TestStand довольно часто, и для меня это больше о том, кто еще будет использовать мое программное обеспечение, чем обо мне. Некоторые компании имеют несколько обученных сотрудников Labview, а другие предпочитают писать на текстовых языках. Обучение другому языку может быть очень дорогостоящим в масштабах всей компании, и это меняет требования к найму на должности в компании, поэтому некоторые компании фактически "заперты" на одна парадигма или другая. Я бы сказал, что лучше всего, если вы собираетесь работать в отрасли, быть сведущим в обоих, таким образом, вы гибки. Если это так, и у вас есть время, чтобы учиться, я бы сказал, работать в том, с которым вам наименее комфортно, и расширять свои знания, вот для чего нужна школа?