Способ стробирования – однобайтовая величина. Ей соответствует тип StrobType описанный в модуле Mconst.pas.
Диапазон входного напряжения – однобайтовая величина. Ей соответствует тип PowerType описанный в модуле Mconst.pas.
Число взятых проб – однобайтовая целая величина, не равная 0.
Максимально возможное число проб – константа, равная 50.
Таблица расположения проб в файле ADR – это массив из 50 элементов, каждый из которых состоит из двух 4-х байтовых записей:
POS – позиция пробы в файле, и LEN – длина пробы без заголовка.
Название пробы представляет собой строку из 60 символов, которая создается при вводе пробы. Ей соответствует тип TakeNameStr описанный в модуле Mconst.pas.
Содержимое пробы идет непрерывным потоком записей типа DataRec (модуль Mconst.pas), содержащих следующие поля:
- Detector – однобайтовая величина, определяющая состояние датчика оборотов в данный момент времени;
- Stime – длинное целое число, равное времени в микросекундах на момент опроса каналов;
- D – массив типа DataRec, состоящий из С элементов типа «слово», содержащий данные опрошенных каналов.
Структура слова, сохраняемая в файле, приведена в таблице 1.2.
Таблица 1.2 Структура слова данных.
Номер бита |
Содержание |
15-12 |
Не используются |
11-0 |
Числовое значение |
При чтении информации с каналов интерфейсной платы, считанная информация в виде вышеописанного массива типа DataRec хранится во временной переменной, а затем сохраняется в расширенной памяти компьютера, т.к. в обычной области памяти для этого недостаточно места. После взятия очередной пробы информация с расширенной памяти записывается во временный файл, название которого и длина запоминаются в специально отведенном для этого массиве. После завершения сеанса ввода проб создается файл проекта, который имеет структуру, описанную выше. Вначале в него записывается заголовок (название проекта, настройки и т.п.), после него оставляется место под таблицу расположения проб, а затем поочередно записывается название и содержимое каждой пробы. Одновременно с записью проб в файл проекта составляется таблица расположения проб, которая записывается в отведенное ей после заголовка место после записи каждой пробы и определения положения каждой пробы в файле.
Когда проект открывается для просмотра или вывода в текстовый файл, то в память считывается только заголовок и таблица расположения проб в файле, т.е. не нужно загружать весь файл проекта, который может занимать несколько Мб оперативной памяти, что весьма проблематично, так как размер доступной памяти компьютера составляет около 3 Мб. Наряду с проблемой ограничения памяти стоит также проблема скорости доступа к данным. Использование расширенной памяти EMS решает эти проблемы.
Для запоминания часто используемых настроек каналов программы служат файлы конфигурации. Они имеют расширение файла “.CFG” и имеют следующую структуру.
В начале файла записывается идентификационная запись файла настроек – массив, состоящий из 20 символов ConfigIdentificationRecord, определенный в модуле Mconst.pas. Это необходимо для того, чтобы можно было определить, действительно ли данный файл является файлом конфигурации программы EXPERIM. Далее идет запись конфигурации ConfigType, которая состоит из следующих полей:
- Strob – способ стробирования – поле, имеющее тип StrobType, который может принимать значения: Detector (от датчика поворота), Timer (без стробирования через интервал времени) или Detector_Timer(стробирование от датчика и через время).
- Strenght – коеффициент усиления (1-128);
- Power – диапазон входного напряжения – поле типа PowerType, которое может принимать следующие значения:
MinusPlus10 (от -10 В до +10В), ZeroPlus10 (от 0В до +10В), MinusPlus5 (от –5 В до +5В).
- Time – максимальное время ввода данных в миллисекундах, длинное целое число;
- Canals – массив, состоящий из MaxChn (обычно равно 8) записей типа CanalType.
Запись CanalType состоит из следующий полей:
- Switch – состояние датчика (true – включен, false - выключен);
- Dipol – поле, определяющее является ли данные канал двуполярным (true), или состоит из двух беззнаковых каналов (false). По умолчанию задано true. Зарезервировано для дальнейших разработок.
- FaseOfset – смещение канала по фазе с момента ввода, вещественное число; зарезервировано для дальнейших разработок;
- DataType – поле типа TypeOfData, которое может принимать два значения: Mono – характер сигнала – монотонный,
и Vibro – характер сигнала – колебательный.
1.6 Основные алгоритмы: алгоритм ввода через определенный интервал времени; алгоритм ввода со стробированием от датчика оборотов; алгоритм обработки данных для вывода их на экран и в текстовый файл.
1.6.1 Алгоритм ввода со стробированием от датчика оборотов.
Блок-схема данного алгоритма приведена на рисунке 1.5. Фрагмент программы, реализующий данный алгоритм приведен в приложении А.
1.6.2 Алгоритм ввода через определенный интервал времени.
Блок-схема данного алгоритма приведена на рисунке 1.6. Фрагмент программы, реализующий данный алгоритм приведен в приложении Б.
1.6.3 Алгоритм преобразования значения, полученного с интерфейсной платы, в напряжение, приведен на рис 1.7.
1.6.4 Алгоритм обработки данных для вывода их в текстовый файл.
Блок-схема данного алгоритма приведена на рисунке 1.8. Программа, реализующая данный алгоритм приведена в приложении В.
1.6.5 Алгоритм обработки данных для вывода их на экран.
Блок-схема данного алгоритма приведена на рисунке 1.9. Фрагмент программы, реализующий данный алгоритм приведен в приложении Г.
Алгоритма ввода со стробированием от датчика оборотов
Рисунок 1.5
Алгоритм ввода данных со стробированием от внутреннего таймера компьютера
Рисунок 1.8
Алгоритм вывода данных на экран
Рисунок 1.9
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.