1Запуск
Скачать 1.2 Mb.
|
4.2 Логические функции Логические функции (рис. 10) используются для выполнения логических операций над значениями как простых логических величин, так и массивов этих величин. Функции И (And), ИЛИ (Or), Исключающее ИЛИ (Exclusive Or), HE (Not), И-НЕ (Not And), ИЛИ-НЕ (Not Or), Исключающее ИЛИ-НЕ (Not Exclusive Or), Исключение (Implies) являются полиморфными. Оба входа этих функций должны иметь логические или числовые значения, причем эти значения могут быть скалярами, массивами или кластерами. Логические функции расположены в палитре Programming-Boolean (рис. 10). Рисунок 10 – Палитра логических операций В таблице 5 представлено описание основных логических функций LabVIEW. Таблица 5 - Описание логических Название Пиктограмма And Or Exclusive Or Not Not And Not Or Implies Перечисленные функции обработке числовых значений 4.3 Строковые функции Строки представляют неотображаемых символов качестве простых текстовых цифровые данные передаются преобразуются затем в цифры палитре Programming – String Строковые элементы демонстрируют текстовые которым проходят строковые Описание логических функций Пиктограмма Описание Возвращает значение ИСТИНА подаче на оба входа значений ИСТИНА иначе возвращает значение ЛОЖЬ Возвращает значение ЛОЖЬ (0) подаче на оба входа значений ЛОЖЬ возвращает значение ИСТИНА (1) Возвращает значение ЛОЖЬ подаче на оба входа значений ЛОЖЬ значений ИСТИНА (1), иначе значение ИСТИНА (1) Возвращает значение ЛОЖЬ (0) при вход значения ИСТИНА (1) и наоборот Возвращает значение ЛОЖЬ (0) подаче на оба входа значений ИСТИНА иначе возвращает значение ИСТИНА Возвращает значение ИСТИНА подаче на оба входа значений ЛОЖЬ возвращает значение ЛОЖЬ (0) Инвертирует х и затем выполняет Логическое ИЛИ с входом у Если значение ИСТИНА и на входе ЛОЖЬ, то функция возвращает ЛОЖЬ возвращает ИСТИНА Перечисленные функции также являются полиморфными числовых значений они выполняют побитовую обработку Строковые функции представляют собой последовательности отображаемых неотображаемых символов в стандарте ASCII. Часто строки используются простых текстовых сообщений. В процессе управления данные передаются в виде символьных строк затем в цифры. Строковые функции располагаются String (рис. 11). Строковые элементы управления и индикаторы стрируют текстовые данные. Строковые терминалы и проводники ходят строковые данные, окрашены в розовый цвет ИСТИНА (1) только при значений ИСТИНА (1), значение ЛОЖЬ (0) ЛОЖЬ (0) только при значений ЛОЖЬ (0), иначе ИСТИНА (1) ЛОЖЬ (0) только при значений ЛОЖЬ (0) или иначе возвращает ЛОЖЬ (0) при подаче на ИСТИНА и наоборот ЛОЖЬ (0) только при значений ИСТИНА (1), значение ИСТИНА (1) ИСТИНА (1) только при значений ЛОЖЬ (0), иначе ЛОЖЬ (0) затем выполняет операцию входом у Если на входе х на входе у значение возвращает ЛОЖЬ Иначе полиморфными. При побитовую обработку чисел. последовательности отображаемых и Часто строки используются в процессе управления приборами символьных строк, которые функции располагаются в индикаторы (strings) лы и проводники, по цвет. В таблице 6 представлено LabVIEW. Рисунок Таблица 6 - Описание строковых Название String Length Concatenate Strings String Subset Search and Replace String представлено описание основных строковых Рисунок 11 – Палитра строковых функций Описание строковых функций Пиктограмма Описание Функция возвращает символов (байтов вход строка (string) подана строка, кластер или массив кластеров Функция объединяет строки и одномерные строк в единственную выходную строку строк в объединенную входит каждый массива. Функция возвращает входной строки начинающуюся со (offset) и содержащую символов, заданное длина (length). Search and Replace String Функция заменяет образцы подстроки подстрокой. основных строковых функций Описание Функция возвращает число символов байтов) в строке. На строка (string) может быть строка, кластер строк массив кластеров строк Функция объединяет входные и одномерные массивы в единственную выходную строку. Для массива в объединенную строку каждый элемент Функция возвращает часть входной строки (string), начинающуюся со смещения и содержащую число символов заданное на входе Функция заменяет одну или все образцы подстроки другой Number To Decimal String Decimal String To Number String To Byte Array Byte Array To String 4.4 Функции сравнения Функции сравнения между скалярными и векторными равно, больше, меньше, больше информации, определенного двух значений, выбирать максимальное нахождение числа в располагаются в палитре Все функции сравнения сравнивать скаляры, массивы логического и строкового основе, в частности таблицы поведение функции «равно Функция «равно» иначе возвращается значение предусмотрена возможность Elements) (по умолчанию и Выбор режимов производится (Comparision Mode) контекстного Сравнение элементов выход Number To Decimal String Функция преобразует (number) в строку цифр (decimal integer string) шириной, равной или значения, установленного входе ширина (width) Decimal String To Number Функция цифровые символы (string), начиная от (offset), в целое число и передает его число (number). Функция преобразует массив байтов Каждый байт является ASCII соответствующего строке Функция преобразует байтов без представляющих символов, в строку Функции сравнения сравнения позволяют проверять различные соотношения скалярными и векторными переменными и константами меньше, больше 0,меньше 0 и т. п.), прове определенного числа или символа, а также выбирать выбирать максимальное и минимальное значения числа в заданном диапазоне. Функции в палитре Programming – Comparison (рис. 12 функции сравнения являются полиморфными и скаляры массивы и кластеры констант и переменных строкового типа, пути, ссылки, а также структуры частности таблицы, деревья и т. п. Рассмотрим функции равно» в зависимости от типов входных данных равно» возвращает значение ИСТИНА, если возвращается значение ЛОЖЬ. При сравнении массивов возможность режимов сравнение элементов умолчанию) и сравнение совокупности (Compare Aggregates) режимов производится с помощью строки Режим контекстного меню функции. При выборе элементов выход х=у? представляет массив или Функция преобразует число в строку десятичных (decimal integer string) с шириной равной или большей значения установленного на ширина (width) Функция преобразует цифровые символы строки начиная от смещения в целое десятичное и передает его на выход Функция преобразует строку в байтов без знака Каждый байт в массиве является ASCII кодом соответствующего символа в Функция преобразует массив без знака, представляющих ASCII коды символов в строку различные соотношения константами (равно, не п проверять наличие также выбирать одно из минимальное значения, проверять Функции сравнения 12). полиморфными и позволяют и переменных числового, также структуры на их Рассмотрим подробнее типов входных данных. ИСТИНА, если х равно у, сравнении массивов и кластеров равнение элементов (Compare совокупности (Compare Aggregates). строки Режим сравнения функции При выборе режима представляет массив или кластер логических скаляров, при логический скаляр. Аналогичным «меньше», «больше либо равно Рисунок В таблице 7 представлено LabVIEW. Таблица 7 - Описание функций Название Пиктограмма Equal? Not Equal? Greater? Less? Equal To 0? Not Equal To 0? скаляров, при выборе режима сравнение совокупности Аналогичным образом ведут себя функции больше либо равно», «меньше либо равно», «не равно Рисунок 12 – Палитра функций сравнения представлено описание основных функций Описание функций сравнения Пиктограмма Описание Функция возвращает значение х равно у, иначе возвращается значение Функция возвращает значение ИСТИНА х не равно у, иначе возвращается ЛОЖЬ Возвращает значение ИСТИНА, если у, иначе возвращается значение ЛОЖЬ Возвращает значение ИСТИНА больше у, иначе возвращается значение Возвращает значение ИСТИНА, если иначе - ЛОЖЬ Возвращает значение ИСТИНА равно 0, иначе - ЛОЖЬ равнение совокупности – себя функции «больше», равно не равно». основных функций сравнения ИСТИНА, если возвращается значение ЛОЖЬ значение ИСТИНА, если возвращается значение ИСТИНА, если х больше значение ЛОЖЬ ИСТИНА, если х не возвращается значение ЛОЖЬ ИСТИНА, если х равно 0, ИСТИНА, если х не Select In Range and Coerce 5 Структура Варианта Под ветвлением понимается обеспечивающая выполнение только при условии истинности выполнение одной из нескольких от значения некоторого выражения В LabVIEW оператор Вариант (Case). Структура или более поддиаграм и логическим операторам ( Лишь одна из поддиаграмм числового или строкового селектора. Структура варианта Structures. В теле структуры элементов: Тело (2) – описывает селектор (1) – отображает блок-диаграмма. Программист диапазон или список значений описанных блок-диаграмм Если к терминалу значение, то структура будет терминалу селектора подключены структура может иметь (ограниченное только типом Функция возвращает значение, подключенное к входам t или f в зависимости от входа s. Если на входе s установлено ИСТИНА, то функция возвращает подключенное к входу t Если же установлено состояние ЛОЖЬ возвращает значение, подключенное f. Функция является полиморфной Функция определяет нахождение диапазоне, заданном входами верхний (upper limit) и нижний предел (lower limit), дополнительно ограничивает значение указанным диапазоном Нахождение диапазоне приводит к появлению диапазоне? (In Range?) Структура Варианта ветвлением понимается конструкция языка программирования обеспечивающая выполнение определённой команды (набора условии истинности некоторого логического выражения одной из нескольких команд (наборов команд) в некоторого выражения. оператор ветвления реализуется на основе Структура варианта, показанная на рисунке аналогична операторам варианта (switch операторам (if... else) в текстовых языках программирования поддиаграмм выполняется в зависимости от строкового значения, которое подается на Структура варианта располагается в палитре структуры варианта можно выделить несколько описывает блок-диаграммы для различных тображает значение с которым ассоциирована диаграмма Программист может задавать в поле единичное список значений; терминал (3) – определяет диаграмм будет выполнена. терминалу структуры вариант подключено структура будет иметь два варианта: ЛОЖЬ и ИСТИНА селектора подключены числовые или строковые может иметь почти неограниченное количество только типом данных селектора). Первоначально значение, подключенное зависимости от состояния установлено состояние функция возвращает значение, входу Если же на входе s состояние ЛОЖЬ, то функция подключенное ко входу полиморфной определяет нахождение х в входами верхний предел нижний предел (lower limit), и ограничивает выходное диапазоном Нахождение в появлению на выходе в языка программирования, манды (набора команд) логического выражения, либо наборов команд) в зависимости реализуется на основе структуры рисунке 13, имеет две switch...case) или программирования. зависимости от логического, подается на терминал палитре Programming – выделить несколько основных для различных случаев; ассоциирована данная поле единичное значение, определяет, какая из подключено логическое ЛОЖЬ и ИСТИНА. Если к строковые данные, то количество вариантов Первоначально существует лишь два варианта, которые увеличить до нужного количества значений терминала для одного всегда можно выбрать вариант выполняться, если величина соответствует никакому другому (и только один) из вариантов умолчанию. Рисунок При размещении структуры она будет представлена в логической структуре числовые значения терминал селектора. Терминал подключен. 6 Циклы Цикл – это высокоуровневых языках организации многократного Последовательность инструкций исполнения, называется называется итерацией. фиксированным числом итераций Loop). Структуры циклов расположены варианта которые при помощи контекстного меню нужного количества. Допустимо использовать терминала для одного варианта, отделяя их запятыми ть вариант по умолчанию (Default), который если величина, подаваемая на терминал структуры никакому другому варианту. Стоит помнить, что из вариантов структуры вариант должен быть Рисунок 13 – Структура вариант размещении структуры варианта на блок-диаграмме представлена в логической форме. Для того чтобы использовать числовые значения, необходимо подать числовой тип селектора Терминал структуры варианта всегда должен разновидность управляющей конструкции высокоуровневых языках программирования, предназначенная многократного исполнения набора Последовательность инструкций, предназначенная для многократного называется телом цикла, а единичное выполнение В LabVIEW различают два типа фиксированным числом итераций (For Loop) и цикл по условию Структуры циклов расположены в палитре Programming контекстного меню можно использовать несколько их запятыми. Кроме того, (Default), который будет терминал структуры, не помнить, что всегда один должен быть назначен по диаграмме в первый раз того чтобы использовать в числовой тип данных на варианта всегда должен быть управляющей конструкции в предназначенная для инструкций. предназначенная для многократного выполнение тела цикла два типа циклов: с цикл по условию (While Programming – Structures. Циклы могут иметь неограниченное терминалов для получения подаваться как скалярные терминала достаточно подключить рамки цикла. При подключении Loop автоматически создается будет считывать новое значение 6.1 Цикл с фиксированным Цикл с фиксированным заданное число итераций выполнения рисунке 14 приведен общий итераций. Рисунок 14 – Структура В его составе можно Тело цикла (1), содержащее терминал количества итераций итераций программист задает счетчик итераций (3), отсчитывающий терминалы (4), на которых работы цикла. По умолчанию числом итераций создается 6.2 Цикл по условию Цикл по условию (While Loop) операции над потоком данных выхода. На рисунке 15 приведен могут иметь неограниченное количество входных для получения и выдачи данных. В терминалы скалярные, так и векторные значения. Для создания достаточно подключить провод к одной из внешних При подключении таким образом массива к структуре ки создается перечисляемый вход. Каждая итерация новое значение из массива. с фиксированным числом итераций фиксированным числом итераций (For Loop) осуществляет итераций выполнения кода внутри данной структуры приведен общий вид структуры цикла с фиксированным Структура цикла с фиксированным числом итераций составе можно выделить несколько основных компонентов содержащее инструкции, которые необходимо количества итераций (2) - с помощью терминала программист задает максимальное количество повторений , отсчитывающий номер текущей итерации на которых появляются значения только после По умолчанию на выходе структуры цикла с фиксированным создается терминал, содержащий массив значений по условию условию (While Loop) выполняет многократное потоком данных, пока не выполнится логическое приведен общий вид структуры цикла количество входных и выходных В терминалы могут значения Для создания нового одной из внешних границ массива к структуре For аждая итерация цикла (For Loop) осуществляет внутри данной структуры. На фиксированным числом фиксированным числом итераций основных компонентов. необходимо повторять; терминала количества количество повторений цикла; текущей итерации; выходные только после завершения фиксированным массив значений. многократное повторение выполнится логическое условие структуры цикла по условию. Рисунок В его структуре можно Тело цикла (3), содержащее счетчик итераций (1), отсчитывающий условия завершения (2), имеющий входе терминала ИСТИНА (переключение между режимами правой кнопкой мыши ( которых появляются значения умолчанию на выходе структуры скалярного вида. 6.3 Сдвиговые регистры Сдвиговые регистры передачи значений из текущей сдвиговых регистров производится помощью опции добавить выбираемой из контекстного мыши на одной из этих сторон Тип и размерность размерностью данных, подключаемых сдвигового регистра. К терминала сдвигового регистра перемещения или с помощью удалить элемент (Remove Element) умолчанию при первом запуске левых терминалов сдвигового типа данных регистра. Если последующих запусках в них предыдущих запусков виртуального Рисунок 15 – Структура цикла по условию структуре можно выделить несколько основных компонентов содержащее инструкции, которые необходимо отсчитывающий номер текущей итерации завершения (2), имеющий два варианта работы – остановка терминала ИСТИНА и остановка, если на входе терминала между режимами осуществляется про помо кнопкой мыши (stop if true/false)); выходные терминалы появляются значения только после завершения работы выходе структуры цикла по условию создается иговые регистры Сдвиговые регистры используются при работе с циклами значений из текущей итерации в следующую производится на вертикальных сторонах обавить сдвиговый регистр (Add Shift контекстного меню структуры при щелчке правой из этих сторон. размерность сдвигового регистра определяются данных, подключаемых к правому (входному . Количество разрядов (циклов задержки сдвигового регистра можно изменить с помощью или с помощью опций добавить элемент (Add Element), элемент (Remove Element) контекстного меню структуры рвом запуске виртуального прибора начальные сдвигового регистра равны значению по умолчанию регистра. Если эти терминалы не были подключены запусках в них будут находиться значения, оставшиеся виртуального прибора. Для инициализации основных компонентов. необходимо повторять; текущей итерации; терминал остановка, если на входе терминала ЛОЖЬ ществляется про помощи щелчка выходные терминалы (4), на завершения работы цикла. По создается терминал работе с циклами для следующую. Установка вертикальных сторонах структуры с (Add Shift Register), щелчке правой кнопкой определяются типом и входному) терминалу задержки) левого с помощью инструмента элемент (Add Element), контекстного меню структуры. По начальные значения значению по умолчанию для были подключены, то при значения, оставшиеся от Для инициализации левого терминала сдвигового элемент управления или неинициализированным неоднократном запуске сдвигового регистра значения Предусмотрена возможность регистров в одной структуре иметь несколько левых терминалов работы с несколькими значениями Единичные сдвиговые помощью опции заменить тоннель на правой вертикальной представлять терминал выхода - терминал входа данных выходной терминалы могут регистров (Replace with Рисунок На рисунке 16 представлены циклов. В данном примере при этом автоматически дополнительно создается неиндексируемый (5). На инициализирующий инициализирующее значение перечисляемого терминала значения массива (1, 3, 0, 2). структуры For Loop количество итераций (терминал исходя из размера массива регистра необходимо подключить управления или функцию инициализации массивов неинициализированным сдвиговым регистром используется запуске ВП для присвоения выходному регистра значения, взятого с последнего выполнения Предусмотрена возможность создания нескольких одной структуре цикла. К тому же сдвиговый регистр левых терминалов сдвигового регистра для возможности несколькими значениями предыдущих итераций. сдвиговые регистр могут быть преобразованы аменить тоннелем (Replace with Tunnel). После правой вертикальной границе структуры цикла терминал выхода данных из цикла, а тоннель на левой входа данных. Операция является обратимой, т.е терминалы могут быть преобразованы в пару shift register). Рисунок 16 – Терминалы структуры цикла представлены все рассмотренные виды данном примере на вход структуры For Loop подается автоматически создается автоиндексируемый терминал создается неиндексируемый вход (3) и сдвиговый инициализирующий вход сдвигового регистра инициализирующее значение (4) равное нулю. Каждую перечисляемого терминала на вход сдвигового регистра массива (1, 3, 0, 2). При наличии автоиндексируемого нет необходимости указывать максимальное итераций (терминал N), оно будет определено автоматически размера массива. подключить константу, инициализации массивов. Цикл с регистром используется при выходному значению последнего выполнения ВП. нескольких сдвиговых сдвиговый регистр может регистра для возможности преобразованы в туннели с (Replace with Tunnel). После замены структуры цикла будет тоннель на левой границе обратимой, т.е. входной или преобразованы в пару сдвиговых е виды терминалов подается массив (1) автоиндексируемый терминал (2), и сдвиговый регистр вигового регистра подается Каждую итерацию с сдвигового регистра передаются автоиндексируемого входа указывать максимальное определено автоматически, |