Этот Экспресс_ВП использует функциональность функций Ожидание (мс) (Wait (ms)) и Задержка до следующего кратного интервала мс (Wait Until Next ms Multiple). Всю блок-диаграмму помещаем в цикл Цикл по условию (While Loop) эквивалентна следующему псевдо коду: do {программа} while {условие}. Внутри структуры размещаются терминал счетчика итераций (iteration terminal) i и терминал условия выхода из цикла (conditional terminal). Код программы, размещенный в структуре, выполняется до подачи на терминал условия логической переменной ИСТИНА (TRUE) или ЛОЖЬ (FALSE). Цикл останавливается кнопкой с лицевой панели виртуального прибора.
Лицевая панель:
Temp.txt:
Данные из файла Temp.txtможно считать и перевести обратно в числовые значения и осуществить обратное преобразование, то есть преобразовать напряжение в температуру. Преобразование осуществляется с помощью полинома:
Блок – диаграмма виртуального прибора для обратного преобразования сигнала от АЦП в температуру:
Сначала осуществляем преобразование обратное аналого-цифровому, затем обратное нормирующему:
Uнорм =( x/255)*10 – обратное аналого цифровому;
U = Uнорм/0,196 – 8,09538 – обратное нормирующему.
Получаем напряжение и преобразуем в температуру.
Считывание информации
Блок – диаграмма виртуального прибора, который считывает информацию из файла и преобразует в удобный для визуального восприятия вид.
Первый элемент блок – диаграммы виртуальный прибор - ReadCharactersFromFile, который считывает текстовую информацию из файла.
Функция считывает определенное число символов или строк из файла, представляющего поток байтов. По умолчанию эта функция считывает все символы из текстового файла. Считывание заданного количества символов, начиная с первого, производится с помощью входа подсчет (count). При установке отметки в строке Считать строки (Read Lines) контекстного меню функции вход подсчет определяет количество считываемых строк. Установка значения –1 на этом входе определяет считывание всех символов в строке или всех строк текстового файла. Выход текст (text) содержит текст, считанный из файла. По умолчанию это строка, содержащая символы первой строки файла. Если подключить вход подсчет, то на этот
выход будет выводиться массив строк, считанных из файла. При удалении отметки. Считать строки на этот выход будут выводиться все символы, считываемые из файла. Функция преобразует все зависящие от платформы символы конца строки в аналогичные символы LabVIEW независимо от состояния строки Convert EOL контекстного меню функции.
Затем строка подается на String Subset (Выделение подстроки), для того, чтобы из полученных данных выделять отдельные кадры. С каждым циклом смещение увеличивается, с помощью счетчика итераций в структуре цикла, и виртуальный прибор считывает новый кадр, все кадры имеют одинаковое количество символов - 90.
Функция String Subset возвращает часть входной строки (string), начинающуюся со смещения (offset) и содержащую число символов, заданное на входе длина (length). Начальный адрес первого символа в строке равен 0. Выход подстрока (substring) является пустым, если смещение больше длины строки или если длина меньше или равна 0. Если длина больше или равна длине строки минус смещение, то на выходе подстрока выводится остаток строки, начинающийся со смещения.
Далее выделяем из кадра слова, с помощью тех же функций из кадра выделяем слова, которые имеют длину 18 символов:
Так, как нам известно количество слов в кадре, которое равно 3 и постоянно, мы используем цикл с заданным количеством итераций.
Структура Цикл с фиксированным числом итераций (For Loop) эквивалентна текстовому оператору for i = 0 to N_1 do….
При помещении структуры на панель блок-диаграммы ее контур в виде прямоугольника должен быть растянут так, чтобы охватить существующий код программы, который должен выполняться циклически заданное число раз, или так, чтобы позволить разместить в нем новый код программы. Если помещаемая в структуру или перемещаемая внутри структуры функция пересекается с ее границей, то граница автоматически расширяется. Эта опция может быть отключена для данной структуры путем снятия отметки строки Auto Grow в контекстном меню структуры или для всего приложения путем снятия флажка Установитьструктуры с автоматическим расширением (Place structures with Auto Grow enabled) в окне категории Блок_диаграмма (Block Diagram) диалогового окна Опции (Options), вызываемого в меню Инструменты (Tools).
Количество циклов может задаваться с помощью константы или элемента управления, подключенных к терминалу числа итераций (count terminal) (прямоугольник в левом верхнем углу структуры с буквой N). Текущее число завершенных итераций цикла содержится в терминале счетчика итераций (iteration terminal).
Далее из слова выделяем информацию, используя функцию String Subset с разным значением сдвига и количеством считываемых символов. Номер канала и время измерения в виде строк выводим на лицевую панель, спомощью индикаторов. А сигнал от АЦП преобразуем обратно в числовое значение с помощью функции Decimal String To Number (Строку десятичных цифр в число).
Функция преобразует цифровые символы строки (string), начиная от смещения (offset), в целое десятичное число и передает его на выход число (number). Если указанный начальный элемент строки не цифра, то функция передает на выход число (number) значение по умолчанию (default). Если вход значение по умолчанию не подключен, то его состояние определяется как 0. Выход смещение после числа (offset past number) определяет индекс первого элемента строки, следующего за числом.
Таблица показывает, как числовые параметры на входах строка, смещение и по умолчанию влияют на выходное число.
Получившееся число падаем на вход виртуального прибора, смоделированного ранее, который делает обратное преобразование кода от АЦП в напряжение, а затем в температуру.
Лицевая панель прибора, считывания:
Вывод
В ходе выполнения работы я смоделировал виртуальный прибор для измерения температуры, которая изменяется со временем. Для этого смоделировал виртуальный прибор - измерительный канал. Полученные значения от разных каналов записал в один кадр вместе со служебной информацией, для дальнейшей передачи, хранения и обработки данной информации. Кадры записал в текстовый файл Temp.txt. Затем создал виртуальный прибор, который считывает кадры из файла, выделяет кадры и слова, преобразует их в вид удобный для визуального восприятия и отображает на лицевой панели.
С помощью этого виртуального прибора я на практике осуществил процесс формирование кадра, его запись и хранение. В результате исследования выяснилось, что если процесс будет менее динамичным, то мы будим записывать много излишней информации. Поэтому далее во время выполнения своей научно исследовательской работе я буду оптимизировать систему, улучшать пропускную способность, уменьшать энергетические затраты на передачу сообщений, улучшать помехоустойчивость, увеличиваться быстродействие с помощью применение субкоммутатора.