М.А. Огливанчик. B.B. Равнин
ИСПОЛЬЗОВАНИЕ СТАНДАРТНЫХ ПРОГРАММНЫХ ПАКЕТОВ ДЛЯ ОБРАБОТКИ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ
УДОБСТВА ПРИ РАБОТЕ
С ПЕРСОНАЛЬНЫМИ КОМПЬЮТЕРАМИ
В настоящее время математическое обеспечение систем автоматизации экспериментальных исследований на основе персональных компьютеров создается в соответствии с традиционными методами, разработанными для ИВК на основе мини- и микро-ЭВМ. Это означает, что для каждой конкретной установки или узкой группы похожих установок пишется достаточно сложная и громоздкая специализированная программа, обеспечивающая управление установкой, сбор информации с нее и обработку по жесткому алгоритму. Как правило, для написания такой программы привлекается программист-профессионал или экспериментатор изучает программирование и пишет эту программу сам. Первый путь плох, во-первых, из-за хронической нехватки программистов, особенно в условиях массовой компьютеризации, а во-вторых, из-за сложности взаимопонимания между экспериментатором и программистом. Поэтому у экспериментатора возникает вполне естественное желание написать программу самому. К сожалению, это приводит к непроизводительным затратам его времени и сил, а иногда, углубившись в дебри программирования и увлекшись этим, он уже не может вернуться к основной работе.
Однако те, кому случалось работать на персональных компьютерах, знают, что для них существует множество готовых программных средств, позволяющих выполнять многие из необходимых в процессе автоматизации действий. Эти программы (или пакеты), рассчитанные на неподготовленного пользователя, каким обычно и является средний экспериментатор, позволяют, во-первых, едва ли не полностью освободиться от программиста-профессионала, а во-вторых, не требуют от пользователя изучения науки программирования.
Такими программами, полезными для экспериментатора, являются, прежде всего, программы обработки крупноформатных электронных таблиц (Spreadsheets), или, как их иногда называют, системы числового моделирования. Примерами таких программ являются VisiCalc. MultiPlan. 1-2-3, Symphony. Эти программы позволяют, не зная программирования, в удобной и наглядной форме про-
изводить произвольные табличные вычисления. Кроме обычных вычислений по формулам, могут быть применены итерационные процедуры. Таблицы могут содержать также и текстовые данные. Все вычисления происходят параллельно и автоматически при изменении входных данных. Несомненно, что, если не вся, то большая часть предварительной обработки экспериментальных данных может быть эффективно проведена пользователем при помощи одной из таких программ. При этом обеспечивается более высокий уровень и гибкость программирования, чем при использовании обычных алгоритмических языков, что весьма важно, так как чем ниже уровень подготовки пользователя, тем выше должен быть уровень системы программирования.
Полезными в этой работе могут быть графические пакеты, позволяющие изобразить данные в удобном графическом виде на экране, принтере или плоттере: системы управления базами данных, позволяющие создавать архивы экспериментальных данных с возможностями поиска и сортировки, а также текстовые процессоры, с помощью которых можно подготовить отчет для руководства или публикацию.
Как правило, между этими программами возможен обмен данными через дисковые файлы. В одних случаях это обычные текстовые файлы в коде ASCII (СУБД, текстовые процессоры), а в других - файлы специального формата (таблицы, графики).
Предлагаемый способ обработки данных, как правило, не освобождает полностью от необходимости писать программы, а лишь существенно уменьшает объем программирования. Наиболее вероятна потребность в программировании для задач, связанных с общением компьютера с внешним миром, то есть для сбора данных и выдачи управляющих воздействий. Это связано с тем, что для автоматизации, как правило, используются нестандартные интерфейсы, для которых нет стандартного программного обеспечения.
Для общения этих программ с используемыми готовыми программами необходима возможность записи и чтения данных в стандартных форматах. Наиболее широко используемыми форматами представления данных являются форматы DIF и SYLK.
ФОРМАТ DIF
Название формата DIF является сокращением английских слов Data Interchange Format (формат обмена данными). Этот формат представления данных на диске был разработан фирмой Software Arts для обмена информацией между выпушенной этой фирмой программой VisiCalc и другими программами. В настоящее время существует довольно много программ для персональных компьютеров, использующих этот формат. Для компьютеров типа Apple II примером такой программы являются MultiPlan, а также графические программные средства PFS Graph и Scientific Plotter. Для компьютеров типа IBM PC примерами, кроме тех же программ, могут быть графический пакет Fast Graph и интегрированные программные пакеты 1-2-3 и Symphony.
Для облегчения записи и чтения DIF-файлов предлагаются две подпрограммы. Эти подпрограммы написаны на языке Applesoft BASIC для компьютеров типа Apple II, но в случае необходимости могут быть легко адаптированы на диалекты языка BASIC для других компьютеров. Ниже приводится краткое описание этих подпрограмм.
Следует заметить, что данные в формате DIF представляются в виде прямоугольной таблицы, содержащей числовые величины и строки символов. Входными параметрами подпрограммы являются имя файла, в который должна быть записана информация, размер таблицы и два массива: DS(I.J)— массив записываемых данных, представленных в строчном виде. Это означает, что числовые данные, содержащиеся в этом массиве, должны быть преобразованы в строки функцией STRS. Такой прием необходим для того, чтобы в одном массиве могли содержаться как числовые, так и строчные данные. Однако в DIF-файле числовые данные будут храниться в числовом виде и могут быть обработаны как числа. Способ сохранения данных определяется следующим параметром;
Т%(1. J) - целый массив, размерность которого совпадает с размерностью записываемой таблицы. Элементы этого массива могут иметь значения 0 и 1. Если T(I.J) = 0, то соответствующий ему элемент данных D(I, J) будет представлен в файле как числовая величина; если Til. J)= 1, то DCI. J) будет представлен как строка символов.
Входным параметром подпрограммы чтения DIF-файла является имя файла, из которого должна быть считана информация. Выходные параметры — это размеры таблицы и сама таблица, закодированная тем же способом.
Подпрограммы могут быть включены в нужное место программы любыми доступными средствами DOS. например программой АРА.
ФОРМАТ SYLX
Название формата SYLK является сокращением английских слов Symbolic Link (символьная связь). Этот формат представления данных на диске
был разработан фирмой Microsoft Corporation для обмена информацией между выпущенной этой фирмой программой MultiPlan и другими программами.
Для чтения и записи файлов в формате SYLK разработана библиотека подпрограмм для языка Pascal/MТ+, работающего под операционной системой СР/М. Библиотека включает в себя следующие подпрограммы:
SLKREW - открыть SYLK-файл для записи и записать в него необходимые в его начале записи.
SLKRES - открыть файл для чтения, считать начальные записи и определить, является ли файл SYLK-файлом. SLKCLS - записать запись конца в выходной
SYLK-файл и закрыть его. SLKWRN - записать в SYLK-файл числовую величину по заданному адресу. SLKWRS - записать в SYLK-файл строчную величину S по заданному адресу. SLKRDN - считать из заданной ячейки SYLK-файла
числовую величину. SLKRDS - считать из заданной ячейки SYLK-файла строчную величину.
Процедуры данной библиотеки должны быть описаны внешними в использующей их программе в соответствии с правилами языка Pascal/MT+.
ПРИМЕНЕНИЕ ОПИСАННОГО МЕТОДА
Данный метод удобен для обработки экспериментальной информации вне реального времени эксперимента. В ИОФАН необходимость обработки экспериментальных данных Х^Сак: была осознана самими экспериментаторами, работающими на мощной лазерной установке. В этом случае данные от центральной системы автоматизации передаются на персональные компьютеры по последовательной линии, записываются в 01Р-файл и далее обрабатываются экспериментатором.