Применение современных информационных технологий и технических средств при создании систем автоматизации экспериментальных исследований, промышленного производства и обучения: Методические указания к лабораторным работам, страница 6

2.1.3  Изучите работу программы. Поменяйте точность представления числа функцией Number To Fractional String. Попробуйте поменять функцию преобразования на Number To Hexadecimal String.

2.2 Создайте прибор, который осуществляет разделение входной строки на текст и число.

2.2.1  Поместите на передней панели три элемента ввода целых чисел Numeric Control (с метками «Длина подстроки», «Смещение подстроки», «Смещение числа») и элемент ввода строки String Control (с меткой «Входная строка»). Разместите также строковый индикатор String Indicator с меткой «Выходная подстрока» и числовой индикатор типа DBL с меткой «Число».

2.2.2  Разместите на блок-диаграмме функции String Subset (из палитры All Functions->Programming->String) и Fract/Exp String To Number (из палитры All Functions->Programming->String->String/Number Conversion).

2.2.3  Обеспечьте вывод на индикатор «Выходная подстрока» выхода функции String Subset, соедините при этом её входы с соответствующими элементами управления. Аналогично поступите с функцией Fract/Exp String To Number.

2.2.4  Изучите работу программы. Исследуйте, как влияет изменение состояния логической константы, поданной на вход use system decimal point, на результат преобразования числа с точкой и запятой в качестве десятичного разделителя.

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

3 Контрольные вопросы

3.1 Учитывает ли функция подсчета длины строки непечатаемые символы и как в этом можно убедиться?

3.2 Что такое Spreadsheet String?

3.3 Как заменить все вхождения одной подстроки в строке на другую подстроку?

Лабораторная работа №9

Файловый ввод-вывод

1 Цель работы

Знакомство с понятием файлов, освоение функций высокого уровня для работы с файлами.

2 Порядок выполнения работы

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

2.1.1  Поместите на блок-диаграмме цикл типа For Loop, задав количество выполняемых итерации в 100. Разместите внутри цикла прибор Generate Waveform.vi (из C:\Program Files\National Instruments\LabVIEW 8.0\activity\), соедините его вход со счетчиком итераций цикла. Разместите также внутри цикла функцию Sine (палитра All Functions->Mathematics->Elementary & Special Functions->Trigonometric) и подайте на её вход значение счетчика итераций цикла, помноженное на число p и поделенное на 50. Выходы прибора Generate Waveform.vi и функции Sine заведите на выходные туннели и разрешите им автоиндексацию.

2.1.2  Подайте значения выходных туннелей на функцию Build Array, проверьте при этом, чтобы функция не находилась в режиме Concatenate Input. Значения массива синусоидального сигнала предварительно умножьте на константу 0.5. Выведите получившийся двумерный массив на график Waveform Graph, а также на прибор Write To Spreadsheet File.vi (палитра All Functions->Programming->File I/O). Задайте для этого прибора транспонирование входных данных.

2.1.3  Исследуйте работу программы.

2.2 Создайте прибор, читающий из файла ранее записанные табличные данные, и показывающий их на графике.

2.2.1  Разместите на блок-диаграмме прибор Read From Spreadsheet File.vi, и соедините его выход двумерных данных с терминалом графика типа Waveform Graph.

2.2.2  Запустите программу и прочитайте файл, в который ранее записали табличные данные.

2.3 Создайте прибор, который записывает произвольную строку в файл.

2.3.1  Поместите на блок-диаграмму прибор Open/Create/Replace File.vi из палитры All Functions->Programming->File I/O. На входы подайте индикатор типа path и константы для выбора режима работы с файлом и способа его открытия.

2.3.2  Также разместите на блок-диаграмме прибор Write To Text File.vi из палитры All Functions->Programming->File I/O. Добавьте для него строковый элемент управления. Для закрытия ссылки на обрабатываемый файл и завершения всех операций с ним дополните цепочку прибором Close File.vi.

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

2.4 Реализуйте прибор для чтения строковых данных из ранее записанного файла.

2.4.1  Разместите на блок-диаграмме приборы  Open/Create/Replace File.vi и Close File.vi из палитры All Functions->Programming->File I/O. Из той же палитры необходимо взять прибор Read From Text File.vi.

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

2.4.3  Прочитайте с помощью этой программы файл, записанный в предыдущем пункте.

2.4.4  Как доработать этот прибор, чтобы с его помощью прочитать табличный файл и получить двумерный массив данных на выходе?

3 Контрольные вопросы

3.1 Чем отличаются приборы чтения табличных файлов и чтения текста из файла по своему действию?

3.2 Можно ли с помощью прибора чтения текста из файла прочитать бинарный файл?

3.3 Что такое файл?