LABVIEW 2
• • • Getting Started with Lab. VIEW Quick Reference Card Lab. VIEW User Manual Lab. VIEW Help Lab. VIEW Measurements Manual Lab. VIEW Основы1
Откройте и запустите Lab. VIEW Пуск » Программы» National Instruments Lab. VIEW 8. 0 » Startup Screen: Начать с нового VI: Новый VI или Начать с примера: Examples» Find Examples…
Вставить Элементы ЛП VI
Типы элементов управления и индикаторов • Числовые типы данных – Ввод и отображение числовых данных – Слайдеры и ручки • Логичекие типы данных • Массивы и матрицы • Декоративные панели • Другие элементы и типы данных – переключатели и диоды – – – Числовые Графики диаграмм Графики осциллограмм Графики интенсивности Графики объемных изображений, поверхностей и моделей – Переключаемые панели – Стрелки – Строчные и текстовые данные – Картинки/отображение фотографий – Компоненты Active. X Палитра элементов
Элементы типовой программы A. Циклы • По условию • С заданным числом итераций B. Функции и под ВП • Виды функций • Создание собственных функций (Sub. VI) • Палитра функций и их поиск C. Принятие решений и ввод / вывод файлов Структуры CASE • Выбор • Ввод и вывод файла
Структуры • • • Структуры это графическое представление операторов цикла и операторов выбора текстовых языков программирования. Они используются для организации структуры на блок-диаграмме для повторения блоков кода и выполнения кода условного или в специфического порядка. Каждая структура имеет четкую границу с изменяемыми размерами. Эта граница охватывает фрагмент блок-диаграммы, который выполняется в соответствии с правилами данной структуры. Такой фрагмент блок-диаграммы внутри границ структуры называется поддиаграммой (subdiagram). Терминалы, через которые данные поступают внутрь структуры и выходят из нее наружу, называются туннелями. Туннель – это точка на границе структуры, к которой может быть произведено соединение. Для управления процессом исполнения блок-диаграммы используются следующие структуры, размещенные на палитре Structures: For Loop (цикл с заданным числом итераций) – Повторяет выполнение поддиаграммы заданное число раз. While Loop (цикл по условию) – Повторяет выполнение поддиаграммы, пока не выполнится некоторое условие. Case Structure (структура выбора) – Содержит много поддиаграмм, но только одна из них выполняется в зависимости от значения входной величины, поступившей на вход этой структуры
• Sequence structure (структура последовательности) – Содержит одну или несколько поддиаграмм, которые выполняются после довательно одна за другой. • Formula node (формульный узел) – Выполняет математические операции над числовой величиной, поступившей на вход. • Event structure (событийная структура) – Содержит одну или несколько поддиаграмм, которые выполняются в зависимости от того, как пользователь взаимодействует с этим ВП. Чтобы отобразить контекстное меню структуры, щелкните правой кнопкой по ее границе.
Подпалета Structures FunProgramingStructures
Преобразование числовых типов данных Обзор типов данных в Lab. VIEW
Структуры For Loop и While Loop • For Loop и While Loop для управления повторяющимися операциями. Структура For Loop (цикл с заданным числом итераций), показанная слева, выполняет поддиаграмму заданное число раз. Значение, поступающее на терминал числа повторений – count terminal (это входной терминал), определяет количество повторов выполнения поддиаграммы. Структура While Loop, повторно выполняет поддиаграмму до тех пор, пока удовлетворяется некоторое условие. Структура While Loop подобна конструкциям Do Loop или Repeat. Until Loop в текстовых языках программирования Loop, элемент управления будет установлен в значение FALSE перед активизацией цикла, а терминал условия находится в состоянии Stop if True, то получается бесконечный цикл
Структура Case (вариант), имеет две или больше поддиаграмм или вариантов. Единовременно только одна поддиаграмма является видимой и исполняется только один из вариантов. Входная величина структуры определяет, какой из вариантов (поддиаграмма) будет исполняться. Структура Case подобна операторам select ? ? ? Для следующих вариантов постановки задачи определите, какой цикл следует использовать: While или For ? . В 1. Необходимо измерять давление один раз в секунду в течение одной минуты. 1. Если вы используете цикл While, какое следует задать условие, чтобы в нужный момент остановить цикл? 2. Если вы используете цикл For, сколько необходимо выполнить итераций? 3. Какой цикл проще реализовать: For или While? В 2. Необходимо измерять давление до тех пор, пока оно не станет больше либо равно 140 мм рт. Ст. 1. Если вы используете цикл While, какое следует задать условие, чтобы в нужный момент остановить цикл? 2. Если вы используете цикл For, сколько необходимо выполнить итераций? 3. Какой цикл проще реализовать: For или While?
В 3. Необходимо сформировать напряжение, которое нарастает с нуля, со скоростью 0. 5 В/с до тех пор, пока выходное напряжение не станет равным 5 В. 1. Если вы используете цикл While, какое следует задать условие, чтобы в нужный момент остановить цикл? 2. Если вы используете цикл For, сколько необходимо выполнить итераций? 3. Какой цикл проще реализовать: For или While?
Цикл FOR For Loop • С заданным количеством – i Индикатор текущей итерации – Исполняется согласно значению счетчика N на терминале
• Реализовать “FOR 1. vi” в AP Lab. View. vi Wate Until Next ms Multiple Fun Programming Timing Random Number (0 -1) Fun ProgrammingNumering !! Использовать (Representation) согласующиеся типы данных Реализовать RANDOM 5. VI
Реализовать “distance+1 for 22. vi” в AP Lab. View. vi
Передача данных от итерации к итерации • • Создается сдвиговый регистр щелчком правой кнопки мыши по левой или правой границе цикла командой контекстного меню Add Shift Register. • • Стрелка в терминале на правой стороне цикла направлена вверх, и этот терминал хранит данные, полученные при завершении итерации. • Lab. VIEW передает данные в следующую итерацию с правой стороны регистра. По окончании выполнения цикла терминал на его правой стороне возвращает последнее значение, сохраненное в сдвиговом регистре. • • • Сдвиговый регистр пропускает через себя данные любого типа; регистру автоматически присваивается тип данных первого объекта, подключенного к регистру. • • Данные, которые подаются на терминалы каждого сдвигового регистра, должны быть одного и того же типа. • В цикле может быть любое количество сдвиговых регистров
Инициализация сдвиговых регистров • • • Сдвиговые регистры используются, если нужно передать значения данных из предыдущих итераций цикла к последующей итерации. Сдвиговый регистр появляется в виде пары терминалов, расположенных строго друг против друга на вертикальных границах цикла. При инициализации сдвигового регистра сбрасывается значение, которое регистр пропускает через себя при выполнении первой итерации цикла. Инициализация осуществляется подключением элемента управления или константы к терминалу сдвигового регистра на левой стороне границы цикла. Если не проинициализировать сдвиговый регистр, в цикле используется значение, записанное в сдвиговый регистр во время последнего выполнения цикла или, если цикл никогда не выполнялся, значение по умолчанию для соответствующего типа данных. Неинициализированный сдвиговый регистр используют, чтобы сохранять информацию о состоянии между последовательными выполнениями VI
• По условию Циклы While Loop – i Индикатор текущей итерации – Всегда запускается как минимум один раз – Исполняется до поступления на терминал условия выхода Терминал итераций является выходным, с которого считывается количество выполненных итераций
Создать WHILE n –end 22 VI Цикл также будет выполняться бесконечно, Abort execution из ПАНЕЛИ ИНСТРУМЕНТОВ + кнопка Останова
Изменение состояния элемента управления не останавливает бесконечный цикл, поскольку его значение считывается только один раз перед началом работы цикла. Чтобы остановить бесконечный цикл, вам необходимо аварийно прервать выполнение VI щелчком мыши по кнопке Abort Execution на панели инструментов
Тунель цикла While В блок-диаграмме на рисунке терминал счетчика итераций присоединен к туннелю. Данные из этого туннеля не проходят на индикатор Iterations до тех пор, пока не закончится выполнение цикла While. На индикатор Iterations выводится только последнее значение терминала счетчика итераций.
Процесс заключения в цикл 2. Обвести вокруг заданного кода 1. Выбрать из «Структуры» 3. Или переместить код внутрь цикла и завершить соединение проводников
Cложение сигналов Simulate signal- Contr. Simulate Signal Sample Compression Merge signals Fun Controls
Создание Цикла по условию, (WHILE) Если переключатель Enable включен, таблица будет отображать средние значения каждых 25 выборок синусоиды. Если он выключен, таблица не будет записывать средние значения. экспресс-ВП Build Table и терминал Таблицы Table (на ЛП) (Controls palette) экспресс-ВП Build Table и терминал Таблицы. Далее на БД - щелчок слева от Table – появится Ввести в цикл и соединить(Copy, Paste)
Остановка цикла While Simulate Signal- Express/ Signal Analise/ Simulate Signal Wait until ms - Programming/ Timing Status Programming/ Cluster/Unbundle by
Тактирование VI Когда цикл завершает выполнение некоторой итерации, он немедленно приступает к выполнению следующей итерации, пока не выполнится условие останова. Чаще всего бывает необходимо управлять частотой выполнения итераций или тактированием. Даже если не требуется, чтобы цикл выполнялся с определенной частотой, все равно необходимо дать процессору время на завершение других задач, таких, как реакция на пользовательский интерфейс.
Сдвиговый регистр – доступ к предыдущим итерациям • Правый терминал сохраняет данные последней итерации • Левый терминал сохраняет данные предыдущей итерации для начала следующей.
Сдвиговый регистр – доступ к предыдущим итерациям • Доступен на правой и левой границе циклов • Правая кнопка мыши по границе и выбор из меню Add Shift Register • Правый терминал сохраняет данные последней итерации • Левый терминал сохраняет данные предыдущей итерации для начала следующей. 3 Инициализация До начала выполнения цикла Первая итерация Вторая итерация Последняя итерация
Стековые сдвиговые регистры позволяют получить данные от предыдущих итераций цикла. Такие регистры запоминают значения от нескольких предыдущих итераций и переносят их в следующие итерации. Чтобы создать стековый сдвиговый регистр, щелкните правой кнопкой по левому терминалу и выберите из контекстного меню команду Add Element. Стековые сдвиговые регистры могут находиться только на левой границе цикла, поскольку терминал на правой стороне передает в следующую итерацию данные, сгенерированные только в текущей итерацию. Если на блок-диаграмме добавить еще один элемент к левому терминалу, то значения последних двух итераций перейдут в следующую итерацию, а значение новой итерации запоминается в верхнем сдвиговом регистре. Нижний терминал хранит данные, переданные ему из предыдущей итерации
Функции ожидания Функция Wait (ms) ожидает до тех пор, пока счетчик миллисекунд не осчитает до значения, заданного на входе. Эта функция гарантирует, что частота выполнения итераций цикла будет, по меньшей мере, соответствовать тому значению, которое задано на входе. Примечание. Time Delay Express VI ведет себя аналогично функции Wait (ms)
Задание Требуется создать VI, который непрерывно генерирует случайные числа в диапазоне от 0 до 1000 до тех пор, пока не выпадет число, равное числу, заданному пользователем. Также необходимо подсчитать количество чисел, сгенерированных до выпадения числа, совпавшего с заданным. Тип Имя Вход Number to Match Выход Current Number Выход Number of Iterations Свойства Число с плавающей точкой с двойной точностью в диапазоне от 0 до 1000, округляется до ближайшего целого, значение по умолчанию = 50 Число с плавающей точкой с двойной точностью Целое число
АЛГОРИТМ
Реализовать “Auto Match. vi” в AP Lab. View. vi • • Итерации Тунель Останов выход по условию Временная задержка
Процесс заключения в цикл 2. Обвести вокруг заданного кода 1. Выбрать из «Структуры» 3. Или переместить код внутрь цикла и завершить соединение проводников
Cложение сигналов Simulate signal- Contr. Simulate Signal Sample Compression Merge signals Fun Controls
Создание Цикла по условию, (WHILE) Если переключатель Enable включен, таблица будет отображать средние значения каждых 25 выборок синусоиды. Если он выключен, таблица не будет записывать средние значения. MERGE 22 c экспресс-ВП Build Table и терминал Таблицы Table (на ЛП) (Controls palette) экспресс-ВП Build Table и терминал Таблицы. Далее на БД - щелчок слева от Table – появится Ввести в цикл и соединить(Copy, Paste)
Структура Case
Имя фрейма Переключатель Декремент Селектор выбора фреймов Инкремент фреймы Структура Case подобна операторам select
CASE В каждый момент времени видима только одна суб-диаграмма, и в каждый момент времени выполняется код только одного фрейма. Значение на входе селектора выбора фреймов определяет, какая из суб-диаграмм выполняется. Case-структура подобна операторам-переключателям или условным операторам if…then…else в текстовых языках программирования Щелкая мышью по стрелкам инкремента и декремента, можно просмотреть доступные фреймы. Вы можете также щелкнуть по стрелке вниз рядом с именем фрейма и выбрать фрейм из выпадающего меню.
Case-структура состоит из двух и более суб-диаграмм или фреймов. В середине переключателя фреймов, расположенного вверху Case-структуры отображается имя состояния переключателя, соответствующее варианту выбора, а по краям переключателя находятся стрелки инкремента и декремента по фреймам На терминал селектора выбора необходимо подавать только значения целочисленного, булевского, строкового или перечислительного типов данных. Вы можете расположить терминал селектора выбора в любом месте на левой границе Case-структуры. Если тип данных терминала селектора булевский, то структура имеет только две фрейма: True и False. Если входной параметр является величиной целочисленного, строкового или перечислительного типа, структура может иметь любое количество фреймов. В Case-структуре можно создавать произвольное количество входных и выходных туннелей. Входные данные доступны во всех фреймах, но необязательно во всех фреймах использовать каждый из входов. Однако выходной туннель необходимо определить в каждом фрейме
Выбор фрейма в Case-структуре Значения по умолчанию для разных типов данных Тип данных Значение по умолчанию Numeric 0 Boolean False String Empty
По умолчанию значения строкового типа, которые вы подаете на терминал селектора фреймов, чувствительны к регистру клавиатуры. Чтобы сделать терминал селектора нечувствительным, подключите строковый параметр к терминалу селектора, щелкните правой кнопкой мыши по границе Case- структуры и выберите из контекстного меню команду Case Insensitive Match. Если вы не определите фрейм по умолчанию для обработки значений, выходящих за границы диапазона параметра, необходимо в явном виде указать все возможные значения входного параметра. Если, например, терминал селектора фреймов целочисленный, и вы определили код фреймов 1, 2 и 3, то следует задать фрейм по умолчанию, код которого будет выполняться, если значение входного параметра равно 4 или какому-нибудь другому значению, для которого не определен фрейм. Если ввести значение переключателя фреймов, тип которого не совпадает с типом объекта, присоединенного к терминалу селектора выбора, введенное значение становится красного цвета. (Не будет работать) Если вы подаете на терминал селектора значение с плавающей точкой, Lab. VIEW округляет его до ближайшего целого. Входные данные доступны во всех фреймах, но необязательно во всех фреймах использовать каждый из входов. Однако выходной туннель необходимо определить в каждом фрейме. Lab. VIEW сигнализирует о такой ошибке белым цветом середины туннеля. Фрейм с неподключенным выходным туннелем может быть невидим в текущий момент на блок-диаграмме. Numeric является кольцевым элементом управления текстового типа, расположенным на палитре Text Controls, который ставит в соответствие тексту числовые значения
Case-структура с булевским селектором выбора Case-структура с целочисленным селектором выбора Case-структура со строковым селектором выбора
Square Root
Лицевая панель ЛЛ
Применение Case-структур для обработки ошибок Фрейм No Error Case -структуры Фрейм Error Caseструктуры
Отображение результатов. Связываемые данные A. Отображение данных на лицевой панели • Элементы управления и индикаторы • Графики • Временные циклы B. Обработка сигналов • Math. Script ( математические скрипты) • Массивы • Кластеры • Элементы сигнала
МАССИВЫ Массивы объединяют в единую структуру данные одного типа Массив состоит из элементов и характеризуются размерностью. Элементы – это данные, из которых состоит массив. Размерность – это длина, высота или глубина массива. Массив может иметь одну или более размерностей и содержать до 231 -1 элементов в каждом измерении, если позволяет память. Массивы можно создавать из чисел, булевских элементов, строк, путей, сигналов и кластеров. Индексация массивов в Lab. VIEW начинается с нуля. Индекс первого элемента массива равен нулю независимо от размера массива. Массивы идеально подходят для хранения сигналов или данных, сгенерированных в циклах, в каждой итерации которых формируется один элемент массива
К примеру, шахматная доска имеет восемь столбцов и восемь строк для 64 позиций (клеток). Каждая клетка может быть пустой или может содержать одну шахматную фигуру. Вы можете представить шахматную доску в виде двумерного массива строк. Каждая строка является наименованием фигуры, которая занимает соответствующую клетку на доске или является пустой строкой, если эта клетка незанята Несколько осциллограмм в двумерном массиве чисел Ограничения для массивов Нельзя создать массивов. Однако Вы можете использовать многомерный массив или использовать функцию Build Cluster Array, чтобы создать массив кластеров, каждый из которых содержит один или несколько массивов. • Нельзя создать массив элементов управления «подпанель» (subpanel Сontrol). • Нельзя создать массив элементов управления «многостраничное диалоговое окно» (tab control). • Нельзя создать массив элементов управления Active. X. • Нельзя создать массив индикаторов Waveform Chart. • Нельзя создать массив индикаторов XY Graph, настроенных на несколько графиков.
Массив числовых элементов управления. Осциллограмма в виде массива чисел /Например, для девяти планет n=9, таким образом, индекс лежит в диапазоне от 0 до 8. Земля является третьей планетой, следовательно, для нее индекс равен 2. / Графическое представление массива точек, каждая из которых является кластером, содержащим пару чисел, представляющих значения координаты X и Y,
Создание массива (Шаг 1) Выбираем с палитры Controls» Modern» Array, Matrix, and Cluster иконку контейнера массива. Помещаем на лицевую панель
Cоздание массива • ЛП –индикаторы -Controls/Modern/Array &Cluster • оболочка массива • Чтобы создать массив констант на блок-диаграмме, подпалитры Fun/Array
Создание массива (Шаг 2) 1. В контейнер массива помещаем нужный нам элемент управления или индикатор
Таблицы Каждый элемент в таблице является символьной строкой и находится в определенном столбце и в определенной строке таблицы. Таким образом, таблица есть отображение двумерного массива строк. 1 - Элемент, указанный индексами 2 - Заголовки столбцов 3 - Вертикальная прокрутка 4 - Горизонтальная прокрутка 5 - Заголовки строк 6 - Горизонтальный индекс 7 - Вертикальный индекс Составные части элемента управления
Создание массивов с использованием Циклов • Циклы могут аккумулировать массивы на границах ( автоиндексация) • В цикле For Loops автоиндексация по умолчанию • Правая кнопка мыши по границе цикла активирует/ деактивирует индексацию Авто- индексация включена Проводник стал толще 1 D Array 012345 Авто- индексация отключена Толщина проводника не изменилась 1 D Array Indicator- ModernArray Cоздать ARRAY 2 a. ti , Proba-Massiv 1. ti TWO DIMENTION ARRAY. ti 5 Отображается только значение последней итерации
Создание двумерного массива Помещаем на лицевую панель Щелкнуть ПК на переключателе индексов Из КМ выбрать ADD Dimention
Массивы инициализированные, Массивы неинициализированные Входы , Выходы –автоиндексированные и неавтоиндексированные Enable Indenxing , Disable Indenxing ARRAY 2 From Structure For. vi
Индексный дисплей массива 1. Индекс строки 2. Индекс столбца 3. Значение в заданных строке и столбце Массив элементов управления Строки и столбцы имеют нулевую базу отсчета
Вопросы Какой объект доступен только на блок-диаграмме a. Элемент управления b. Константа c. Индикатор d. Панель подключения Какая структура обязательно выполняется хотя бы один раз? a. Цикл While b. Цикл For Что является идентификатором элемента управления или индикатора на блокдиаграмме? a. Заголовок b. Местоположение c. Метка d. Значение
Кластеры • Кластеры группируют элементы данных разных типов, также как жгут проводов в телефонном кабеле, где каждый из проводов кабеля представляет отдельный элемент кластера. • Объединение (bundle) нескольких элементов в кластеры позволяет избавиться от перепутывания проводников на блокдиаграмме и уменьшает необходимое число терминалов на соединительной панели ВПП. Соединительная панель ВП может содержать максимум 28 терминалов • Большинство кластеров на блок-диаграмме имеют розовый цвет проводника и терминала типа -данных. • Кластеры из чисел, как самостоятельных элементов, имеют коричневый цвет проводников и терминалов типов данных. Такие числовые кластеры можно подключать непосредственно к числовым функциям вроде Add (сложение) и Square Root (корень квадратный),
Введение в кластеры • Объединяет различные типы данных • Аналогия с struct в языке C • Могут быть группами элементов управления или индикаторов • Схожи с многожильным проводом • Порядок элементов в кластере очень важен
Функции кластеров (БД) • Местоположение Cluster & Variant, подпалитра Programming • Могут быть доступны при щелчке правой кнопки мыши по терминалу кластера (Terminal labels reflect data type) Bundle Объединение в кластер по имени
• Для создания Cluster используются кластерные функции с подпалитры Cluster и преобразования кластеров. • Можно решить следующие задачи: -Извлечение из кластера отдельных элементов. -Добавление в кластер отдельных элементов. -Разбиение кластера на отдельные элементы данных
Разбиение кластера на отдельные элементы Функция Unbundle
Порядок элементов • Разделение элементов в кластере -используя функцию Unbundle ( Unbundle By Name ) При использовании функции Unbundle by Name у каждого элемента кластера должна быть метка • Создание кластеров констант Для создания на блок-диаграмме кластера констант выбирается кластер констант в палитре функций. Контейнер кластера - на блок-диаграмму и добавлением в него строковую, числовую, булевскую константу или кластер констант. Кластер констант используется для хранения постоянных данных или в качестве базы для сравнения с другим кластером. Если есть кластер элементов управления или индикаторов на лицевой панели, и нужно создать кластер констант, содержащий такие же элементы на блок-диаграмме, вы можете или перетащить этот кластер с лицевой панели на блок-диаграмму, или щелкнуть правой кнопкой мыши по кластеру на лицевой панели и выбрать из контекстного меню Create» Constant.
Упорядочение элементов в кластере Элементы кластера имеют логический порядок, не связанный с их местом в контейнере. Первый элемент, помещенный вами в кластер – элемент 0, второй – элемент 1, и так далее. При удалении элемента порядок перестраивается автоматически. Порядок элементов кластера определяет очередность, в котором элементы появляются как терминалы функций Bundle и Unbundle на блок-диаграмме. Просмотр и изменение порядка элементов кластера - щелчок ПК мыши по границе кластера с выбором из контекстного меню Reorder Controls In Cluster.
Использование массивов и кластеров Отображение на графике • t 0 = начальное время • dt = время между отсчетами • Y = массив по оси Y Два способа создание кластера графиков Создание графика (абсолютное время) Кластер (относительное время )
Показать Лицевую Панель”Claster Experience 01 -05”
Создание кластера 1. Выбрать контейнер кластера с палитры ЛП. Controls» Modern» Array, Matrix & Cluster 2. Вставить желаемый объект в контейнер.
Кластеры ошибок • В Lab. VIEW есть специальный кластер, называемый кластером ошибок. • Lab. VIEW использует кластеры ошибок для передачи информации об ошибках. Кластеры ошибок содержит следующие элементы: • status — булевский элемент, принимающий значение TRUE при возникновении ошибки. • code — 32 -разрядное целое число со знаком, служащее для идентификации ошибки. • source — строка, определяющая место происхождения
Фрейм No Error Case -структуры Фрейм Error Caseструктуры
Применение Claster для обработки ошибок • Вы можете соединить кластер ошибки с терминалом условия цикла While или цикла For, в котором есть терминал условия, чтобы остановить повторения цикла. При этом терминалу условия передается только значение TRUE или FALSE параметра status кластера ошибки. При возникновении ошибки цикл останавливается • Момент прекращения работы цикла определяется с помощью кластера ошибки и кнопки останова цикла. Таким способом рекомендуется останавливать большинство циклов • Если соединить кластер ошибок с терминалом условия, пункты Stop if True и Continue if True контекстного меню терминала заменятся соответственно на Stop on Error и Continue while Error. • .
Создать “ARRAY Investigation”
Определители типа
Управление ресурсами • Файловый вывод
Горячие клавиши в Lab. VIEW – <Ctrl+H> – Активация/деактивация окна Help – <Ctrl+B> – Удаление оборваных проводников – <Ctrl+E> – Переключение между лицевой панелью и блок -диаграммой – <Ctrl+Z> – Отмена действий – Tools» Options… – Настройки в Lab. VIEW • VI Properties– конфигурация свойств ВП и т. д.
Элементы типовой программы A. Циклы • По условию • С заданным числом итераций B. Функции и под ВП • Виды функций • Создание собственных функций (Sub. VI) • Палитра функций и их поиск C. Принятие решений и ввод / вывод файлов Структуры CASE • Выбор • Ввод и вывод файла
Принятие решений в Lab. VIEW 1. Структуры «Case» (a) 2. Функция «Выбор» (c) (b)
Для чего нужен временной цикл? 1. Задержка времени исполнения кода • Настройка Time Delay Express VI для работы кода с определенным промежутком времени (работа с For and While циклами). 2. Временной цикл • Настройка временного цикла While loop для заданного dt. Задержка времени Временной цикл
Анализ данных Секции A, B, &C • Используем функции Экспресс для: генерации и отображения амплитуды и частоты сигнала Время выполнения 10 мин.
Анализ данных Секции A&B • Используем функцию Экспресс для: – Сбора и отображения амплитуды и частоты сигнала Время выполнения 10 мин.
Файловый ввод/вывод File I/O – передача данных в/из файлов • Файлы могут быть в виде бинарных, тестовых или таблиц • Запись/Чтение Lab. VIEW Measurements file (*. lvm) Запись в LVM файл Чтение из LVM файла
Секции A, B, C Принятие решений и сохранение данных • Используем структуру «case» для: – Сохранения данных при выполнении определенного условия Время выполнения 10 мин.
Запись/чтение в /из файла. Открыть/ Создать/ Заменить Читать или Записать в файл Закрыть файл Проверка на наличие ошибок
Отображение результатов A. Отображение данных на лицевой панели • Элементы управления и индикаторы • Графики • Временные циклы B. Обработка сигналов • Math. Script ( математические скрипты) • Массивы • Кластеры • Элементы сигнала
Использование массивов и кластеров Отображение на графике • t 0 = начальное время • dt = время между отсчетами • Y = массив по оси Y Два способа создание кластера графиков Создание графика (абсолютное время) Кластер (относительное время )
Графики диаграмм – Специальный числовой индикатор, отображающий собранные данные во времени • Обновление происходит с момента получения на вход терминала каждого значения Функции» Экспресс» Graph Indicators» Chart
Графики осциллограм – special numeric indicator that displays an array of data • Graph updates after all points have been collected • May be used in a loop if VI collects buffers of data Functions» Express» Graph Indicators» Graph
Свойства элементов управления и индикаторов • Свойства характеризуют настройки объектов • Щелчок правой кнопкой мыши по объекту • Свойства объектов: – размер – цвет – настройки шкал – цвет шкал – курсор – и т. д.
Соэдание под ВП (Sub. VI) • Выделить код на блок-диаграмме для создания под ВП • Выбрать из Меню Edit « Create Sub. VI»
Использование массивов и кластеров Отображение на графике • t 0 = начальное время • dt = время между отсчетами • Y = массив по оси Y Два способа создание кластера графиков Создание графика (абсолютное время) Кластер (относительное время )
Математический код в Math. Script Node формате Введение уравнений в текстовом • • Входные и выходные переменные на границах цикла • Синтаксис схожий с математическими текстовыми языками • Н (Functions >> Programming >> Structures >> Math. Script)
Интерактивное окно Math. Script • Быстрая разработка и алгоритмы отладки • Создание и редактирование переменных Переменные Окно • Отображение в 1 D, 2 D, Вывода и 3 D. Отображение в форматах m-file script Коммандное окно (Lab. VIEW >>Tools >> Math. Script Window)
Редактирование кода БД
Вопросы
Редактирование кода БД
Отображение результатов A. Отображение данных на лицевой панели • Элементы управления и индикаторы • Графики • Временные циклы B. Обработка сигналов • Math. Script ( математические скрипты) • Массивы • Кластеры • Элементы сигнала