Разработка комплекса программ для автоматизации экспериментальных исследований тангенциального точения на станке с ЧПУ 6Р13Ф3, страница 5

         Способ стробирования – однобайтовая величина. Ей соответствует тип 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.6


Алгоритм преобразования значения введенного с интерфейсной платы

в напряжение

Рисунок 1.7


Алгоритм вывода данных в текстовый файл

Рисунок 1.8

Алгоритм вывода данных на экран

Рисунок 1.9