Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top