Как сделать задержку в labview

Как сделать задержку в labview

Сообщение grjgrj » 15 июл 2010, 12:05

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Сообщение Sergey Ivanov » 15 июл 2010, 12:16

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Сообщение grjgrj » 15 июл 2010, 13:09

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Сообщение Sergey Ivanov » 15 июл 2010, 13:47

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Сообщение mzu2006 » 15 июл 2010, 21:50

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Сообщение Pavel Krivozubov » 16 июл 2010, 08:01

Сообщение Drachev » 31 июл 2010, 22:46

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Сообщение mzu2006 » 01 авг 2010, 06:20

Сообщение Drachev » 01 авг 2010, 09:05

Можно пример, или по подробнее.

только на вейтах и подобных вещах много получить не смог

Сообщение Drachev » 01 авг 2010, 09:45

Сообщение MrBobre » 01 авг 2010, 22:52

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Сообщение mzu2006 » 02 авг 2010, 07:47

Да, это не делается

для этого необходима карточка (PCI, например) с возможностью bus mastering, аппаратный буфер на карточке, таймер с генератором (на карточке или отдельно) и грамотно написанный драйвер. Есть ещё несколько более тонких настроек вроде PCI latency, которые могут помочь.

Если я правильно понял, что ты имел в виду под генерацией

то так генерировать используя Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labviewможно, только под real-time, FPGA, возможно, микроконтроллеры.

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

Сообщение Drachev » 02 авг 2010, 14:55

mzu2006 писал(а): для этого необходима карточка (PCI, например) с возможностью bus mastering, аппаратный буфер на карточке, таймер с генератором (на карточке или отдельно) и грамотно написанный драйвер. Есть ещё несколько более тонких настроек вроде PCI latency, которые могут помочь.

то так генерировать используя Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labviewможно, только под real-time, FPGA, возможно, микроконтроллеры.

Для всего этого нужно железо (лучше NI или самодельное), просто голого системника не хватит.

Источник

LabVIEW — первое знакомство

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

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Что же такое «LabVIEW»?

LabVIEW — это один из основных продуктов компании National Instruments. Прежде всего надо отметить, что LabVIEW — это аббревиатура, которая расшифровывается как Laboratory Virtual Instrumentation Engineering Workbench. Уже в названии прослеживается ориентация на лабораторные исследования, измерения и сбор данных. Действительно, построить SCADA — систему в LabVIEW несколько проще чем при использовании «традиционных» средств разработки. В данной статье мне хотелось бы показать, что возможная область применения LabVIEW несколько шире. Это принципиально иной язык программирования, или если хотите целая «философия» программирования. Функциональный язык, заставляющий несколько иначе мыслить и порой предоставляющий совершенно фантастические возможности для разработчика. Является ли LabVIEW языком программирования вообще? Это спорный вопрос — здесь нет стандарта, как, например ANSI C. В узких кругах разработчиков мы говорим, что пишем на языке «G». Формально такого языка не существует, но в этом и заключается прелесть этого средства разработки: от версии к версии в язык вводятся всё новые конструкции. Сложно представить, что в следующей реинкарнации Си появится, например, новая структура для for-цикла. А в LabVIEW такое вполне возможно.
Впрочем надо заметить, что LabVIEW входит в рейтинг языков программирования TIOBE, занимая на данный момент тридцатое место — где-то между Прологом и Фортраном.

NI LabVIEW — история создания

Компания National Instruments была создана в 1976 году тремя основателями — Джеффом Кодоски (Jeff Kodosky), Джеймсом Тручардом (James Truchard) и Биллом Новлиным (Bill Nowlin) в американском городе Остин (Austin), штат Техас. Основной специализацией компании являлись инструментальные средства для измерений и автоматизация производства.
Первая версия LabVIEW увидела свет спустя десять лет после создания компании — в 1986 году (это была версия для Apple Mac). Инженеры NI решили бросить вызов «традиционным» языкам программирования и создали полностью графическую среду разработки. Основным идеологом графического подхода стал Джефф. Год за годом выпускались новые версии. Первой кроссплатформенной версией (включая Windows) была третья версия, выпущенная в 1993 году. Актуальной на данный момент является версия 8.6, вышедшая в прошлом году.

В Остине и по сегодняшний день располагается головной офис компании. Сегодня в компании работают почти четыре тысячи человек, а офисы находятся почти в сорока странах (есть также офис и в России)

Моё знакомство с LabVIEW

Моё знакомство с LabVIEW произошло почти десять лет назад. Я начал трудиться по новому контракту, и мой тогдашний шеф вручил мне пачку дисков со словами «теперь ты будешь работать на этом». Я установил LabVIEW (это была пятая версия), и поигравшись некоторое время заявил, что на ЭТОМ ничего серьёзного не сделать, уж лучше я «по старинке» на Delphi… На что он мне сказал — ты просто не распробовал. Поработай недельку-другую. Через некоторое время я пойму, что ни на чём другом, кроме LabVIEW, я уже писать не смогу. Я просто влюбился в этот язык, хотя это и не была «любовь с первого взгляда».

Вообще говоря, довольно сложно сравнивать графический и текстовый языки программирования. Это, пожалуй, сравнение из разряда «PC» против «MAC» или «Windows» против «Linux» — можно спорить сколько угодно, но спор абсолютно лишён смысла — каждая система имеет право на существование и у каждой найдутся как сторонники так и противники, кроме того у каждого продукта своя ниша. LabVIEW – всего лишь инструмент, хотя и весьма гибкий.

Так что же такое LabVIEW?

LabVIEW — это кроссплатформенная графическая среда разработки приложений. LabVIEW — в принципе универсальный язык программирования. И хотя этот продукт порой тесно связан с аппаратным обеспечением National Instruments, он тем не менее не связан с конкретной машиной. Существуют версии для Windows, Linux, MacOS. Исходные тексты переносимы, а программы будут выглядеть одинаково во всех системах. Код, сгенерированный LabVIEW также может быть также исполнен на Windows Mobile или PalmOS (справедливости ради надо отметить, что поддержка PalmOS прекращена, впрочем здесь сама Palm больше виновата). Этот язык может с успехом использоваться для создания больших систем, для обработки текстов, изображений и работы с базами данных.

LabVIEW – программа и возможности языка

В LabVIEW разрабатываемые программные модули называются «Virtual Instruments» (Виртуальные Инструменты) или по-простому VI. Они сохраняются в файлах с расширением *.vi. VIs – это кирпичики, из которых состоит LabVIEW – программа. Любая LabVIEW программа содержит как минимум один VI. В терминах языка Си можно достаточно смело провести аналогию с функцией с той лишь разницей, что в LabVIEW одна функция содержится в одном файле (можно также создавать библиотеки инструментов). Само собой разумеется, один VI может быть вызван из другого VI. В принципе каждый VI состоит из двух частей — Блок-Диаграмма (Block Diagram) и Передняя Панель (Front Panel). Блок-диаграмма — это программный код (точнее визуальное графическое представление кода), а Передняя панель — это интерфейс. Вот как выглядит классический пример Hello, World!:

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

В основе LabVIEW лежит парадигма потоков данных. В вышеприведённом примере константа и терминал индикатора соединены между собой линией. Эта линия называется Wire. Можно назвать её «проводом». По проводам передаются данные от одних элементов другим. Вся эта концепция называется Data Flow. Суть Блок Диаграммы — это узлы (ноды), выходы одних узлов присоединены ко входам других узлов. Узел начнёт выполнение только тогда, когда прибудут все необходимые для работы данные. На диаграмме вверху две ноды. Одна из них — константа. Этот узел самодостаточен — он начинает выполнение немедленно. Второй узел — индикатор. Он отобразит данные, которые передаёт константа (но не сразу, а как только данные прибудут от константы).

Вот чуть более сложный пример: сложение и умножение двух чисел. В традиционных языках мы напишем что-то вроде

int a, b, sum, mul;
//.
sum = a + b;
mul = a * b;

Вот как это выглядит в LabVIEW:

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

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

А вот как выглядят while / for циклы и if / then / else структура:

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

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

LabVIEW включает в себя богатые наборы элементов для построения пользовательских интерфейсов. Уж на что быстро «набрасывались» интерфейсы в Дельфи, а в LabVIEW этот процесс происходит ещё стремительнее.

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Часто можно услышать мнение, что графический код плохо читаем. Действительно, с непривычки обилие иконок и проводников несколько шокирует. Также начинающие разработчики создают программы-«простыни» и программы-«спагетти». Однако опытный LabVIEW-разработчик никогда не создаст диаграмм, превышающих размер экрана, даже если программа состоит из сотен модулей. Хорошо разработанная программа фактически «самодокументируется», поскольку в основе уже лежит графическое представление.

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Довольно долгое время, программируя на LabVIEW, я пребывал в полной уверенности, что LabVIEW — это интерпретатор и блок-диаграммы постоянно интерпретируются ядром. После разговоров с инженерами NI выяснилось, что это не так. LabVIEW — это компилятор (качество кодогенерации, впрочем оставляет желать лучшего). Зато компиляция происходит «на лету» — в любой момент разработки программа всегда готова к запуску. Также LabVIEW-код может быть скомпилирован в полноценный исполнямый файл, который может быть запущен на компьютере без установленной LabVIEW (правда он требует LabVIEW Run-Time). Также можно собрать установочный пакет-инсталлятор, сторонних утилит типа InstallShield при этом не требуется.

Дальнейшее и более детальное описание возможностей пакета выходит за рамки данной статьи, я же просто предлагаю попробовать (ссылки даны ниже). Как говорили великие «… единственный способ освоить новый язык программирования — писать на нём программы». Ну а опытные программисты смогут экстраполировать полученные знания на свои собственные нужды.

Источник

Расширенный функционал обработки и анализа сигналов

Различные подходы к проведению анализа

Вы можете выбрать наиболее подходящий для Вас вашим задачам метод проведения анализа.

«Интеллектуальные» алгоритмы работы программы на основе анализа в режиме реального времени

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Дополнительная обработка сохраненных данных в LabVIEW.

Экономьте время, сохраняя только нужные вам данные

Расширенные возможности ведения разработки

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Расширенные библиотеки функций

Интерактивная настройка параметров анализа с помощью Экспресс-ВП

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Также в LabVIEW присутствуют Экспресс-ВП, реализующие следующие высокоуровневые функции:

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Комбинируйте математические вычисления с помощью текстовых алгоритмов вычислений в LabVIEW

Интерактивная работа с кодом в MathScript Window

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Доступны различные виды графиков и диаграмм, включая:

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

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

Наиболее распространенные типы сигналов можно генерировать также с помощью экспресс-ВП.
Экспресс-ВП Simulate Signal, окно настройки которого представлено на рис. 15, позволяет генерировать синусоидальный, прямоугольный, треугольный, пилообразный сигналы, постоянный сигнал, а экспресс-ВП Simulate Arbitrary Signal используется для тонкой настройки параметров сигналов.

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Расширенные возможности анализа пакетов дополнений LabVIEW

Расширенная обработка сигналов

Спектральный анализ на основе модели сигнала

Разработка цифровых фильтров

Возможности модуля Vision Development:

Конструирование современных радиоустройств требует наличия гибкой и удобной тестовой системы радиочастотных измерений на всех этапах – от разработки прототипа до серийного производства.

Некоторые преимущества NI RFID:

Источник

Различные приемы программирования в NI LabVIEW

Что такое прием программирования

Вы можете представить на блок-диаграмме код, написанный с использованием разных приемов, так же как и потоковый код G, а LabVIEW скомпилирует инструкции для соответствующих целевых устройств (обычные настольные ПК, платформы с ОСРВ, ПЛИС, мобильные устройства, встраиваемые устройства на базе ARM)

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Программирование на языке G

Появление потокового программирования в 1986 действительно было инновационным. Последовательность выполнения операций с данными в языке G определяется не порядком их следования, а наличием данных на входах этих узлов. Операторы, не связанные потоком данных, выполняются параллельно в произвольном порядке.

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

На рис.2 представлен пример математического выражения на языке G. Диаграмма состоит из двух узлов (сложение и умножение) и трех входов (A, B и С). Вначале происходит сложение A и B. Код узла умножения не выполняется до тех пор, пока на оба его входные терминалы не поступят данные, а, следовательно, он ожидает результата выполнения узла сложения. Как только результат сложения поступит на первый вход узла умножения, его код (A+B)*C будет выполнен.

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

Интерактивная настройка как основа программирования

В 2003 году National Instruments выпустила NI LabVIEW 7 Express, в котором впервые появилась технология Экспрессных Виртуальных Приборов (экспресс-ВП) – технология, призванная еще больше упростить процесс разработки алгоритмов приложения. В отличие от обычных ВП, экспресс-ВП представляют собой абстрактные структуры языка, реализующие прием программирования, основанный на интерактивной настройке компонентов.

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

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

В качестве примера рассмотрим задачу ввода данных для осуществления их программного анализа. LabVIEW позволяет очень легко осуществлять взаимодействие с различным оборудованием, так как включает в себя драйверы для тысяч устройств. Задача сбора данных может быть реализована не только конструкцией из нескольких ВП, но и более простым вариантом – экспресс-ВП.

Достаточно указать в настройках экспресс-ВП DAQ Assistance каналы чтения/записи и сконфигурировать такие параметры как частота дискретизации, шкалирование, синхронизация и триггеры. Кроме того, экспресс-ВП предоставляет возможность предварительно собрать данные с устройства для проверки правильности выбранных настроек сбора данных.

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Несмотря на все свои преимущества Экспресс-ВП не предоставляют возможности низкоуровневого управления и настройки режима работы с устройством, которое реализуется с помощью обычных виртуальных приборов. Пользователи, недавно познакомившиеся с LabVIEW, могут использовать встроенную функцию, преобразующую ранее настроенный экспресс-ВП в последовательность из обычных ВП. Это может помочь новичкам изучить низкоуровневый код. Достаточно выбрать строку Open Front Panel в контекстном меню экспресс-ВП на блок-диаграмме. Следует отметить, что любой экспресс-ВП может быть заменен комбинацией нескольких обычных ВП, к тому же, версия LabVIEW Professional Development System позволяет создавать собственные экспресс-ВП.

С помощью модуля LabVIEW MathScript RT, вы можете импортировать, редактировать и выполнять сценарии *.m файлов, традиционно используемые в области математического моделирования и анализа, обработки сигналов и сложных математических вычислений. Вы можете использовать их совместно с кодом на языке G и создавать самостоятельные приложения для настольных ПК или оборудования, работающего в режиме реального времени.

Существует несколько способов работы с MathScript в LabVIEW. Для работы со сценариями в интерактивном режиме используется окно MathScript, показанное на рис. 6

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Чтобы использовать сценарии *.m в приложении LabVIEW и объединить возможности текстового и графического программирования, следует использовать узел MathScript, который изображен на рис.7. Использование узла MathScript позволяет внедрить текстовые алгоритмы в код ВП и использовать графические возможности интерфейса для управления параметрами сценария (кнопки, слайдеры, регуляторы, графики и прочие элементы).

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Модуль LabVIEW MathScript RT имеет собственный обработчик сценариев *.m и не требует установки стороннего программного обеспечения. Использование узла MathScript позволяет объединить в одном приложении преимущества текстовых алгоритмов, высокую степень интеграции LabVIEW с оборудованием, интерактивный интерфейс пользователя и прочие приемы программирования, рассматриваемые в этой статье.

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

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Использование ООП в LabVIEW стало возможным начиная с версии 8.2

Основные преимущества этого подхода таковы:

Моделирование и имитация

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

На рис.9 представлен цикл Control & Simulation Loop, который осуществляет решение дифференциального уравнения с помощью алгоритмов, встроенных в LabVIEW, в режиме реального времени за определенный промежуток времени. Этот подход к программированию также основан на потоке данных, как и язык G, однако, обычно называется потоком сигналов. Как показано на рис.9, вы можете сочетать методы математического моделирования с другими методами, такими как потоки данных языка G и узел MathScript Node.

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Цикл Control & Simulation Loop поддерживает функции, которые используются для реализации моделей линейных стационарных систем на устройствах с установленной ОС реального времени. Вы можете использовать эти функции для определения дискретных моделей путем задания передаточной функции, полюсно-нулевой диаграммы и системы дифференциальных уравнений. Средства анализа во временной и частотной областях, такие как функции «time-step response» или «Bode plot», позволяют вам интерактивно анализировать поведение открытых и замкнутых циклов управления/моделирования. Вы также можете использовать встроенные средства конвертации моделей, разработанных в среде программирования The MathWorks, Inc. Simulink®, что позволит использовать их в среде LabVIEW. Эти динамические системы могут быть установлены на устройства с ОС реального времени минуя различные этапы преобразования программы благодаря функциональности библиотеки LabVIEW Real-Time Module, которая отлично подходит для разработки прототипов систем управления и приложений программно-аппаратного моделирования.

Модуль NI LabVIEW Statechart предоставляет разработчику возможность описания функционала системы максимально абстрактным способом с помощью диаграмм состояний. Интеграция кода LabVIEW в состояния диаграммы позволяет создать фактически рабочую спецификацию приложения. Модуль NI LabVIEW Statechart добавляет к функционалу обычных диаграмм состояний возможность организации иерархической вложенности и параллельного выполнения. Следует отметить, что диаграммы состояний позволяют описать реакцию системы на события, что делает их очень удобным инструментом разработки реактивных систем, например, встроенных устройств, систем управления и сложных пользовательских интерфейсов.

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

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

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

Модуль LabVIEW FPGA позволяет использовать язык G для написания кода для ПЛИС. Однако, как и в случае с другими методиками разработки, вы можете использовать написанный ранее код или просто иметь возможность выбора способа реализации программы. Большинство ПЛИС программируются с помощью языка текстового языка потокового программирования VHDL. Вместо того, чтобы переписывать уже имеющиеся IP-блоки на языке G, вы можете импортировать VHDL код с помощью узла Component-Level IP (CLIP). Обычно требуется наличие файла CLIP XML для настройки интерфейса между элементами блок-диаграммы, однако в LabVIEW имеется мастер импорта CLIP, позволяющий выполнить эту настройку автоматически. Он выводит перечень входов и выходов IP-блока, которые можно перетащить с помощью мыши на блок-диаграмму и использовать в работе приложения, как показано на рис. 11.

Как сделать задержку в labview. Смотреть фото Как сделать задержку в labview. Смотреть картинку Как сделать задержку в labview. Картинка про Как сделать задержку в labview. Фото Как сделать задержку в labview

Поскольку NI использует ПЛИС Xilinix и набор программных инструментов Xilinx в модуле LabVIEW FPGA, вы можете использовать генератор ядер Xilinx для создания совместимого ядра. Вы также можете использовать набор разработчика Xilinx Embedded для создания любого программного микропроцессора. И, наконец, множество сторонних разработчиков предоставляют различные типы IP-блоков для управления шинами, обработки сигналов и специфических ядер.

Интеграция C-подобного кода

Узел Inline C Node похож на узел Formula Node и предоставляет дополнительные возможности низкоуровневого программирования и поддержку файлов заголовков без лишних накладных расходов на вызовы процедур. Вы можете использовать узел Inline C Node для встраивания любого кода на языке C, включая операторы #defines, которые синтаксически заключены в округлые скобки в коде C.

Взаимодействие с исполняемыми файлами

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

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

Также, с помощью System Exec.vi, можно использовать интерфейс командной строки операционной системы.

Комбинация нескольких приемов программирования в одной среде разработки дает возможность повторно использовать алгоритмы, разработанные на других языках. Кроме того, разработчик может сочетать в одном приложении высокоуровневые и низкоуровневые операции, делая код более гибким и наглядным. Различные уровни абстракции позволяют представить сложные алгоритмы в наглядном виде, и в то же время сохраняется возможность контроля приложения и оборудования на низком уровне. Благодаря тесной интеграции с оборудованием, вы можете использовать оба подхода для работы с сигналами на платформах с многоядерными процессорами, ПЛИС и процессорами встраиваемых систем.

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

ARM, Keil, и µVision торговые марки и зарегистрированные торговые марки ARM Ltd or its subsidiaries.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *