Техника и методика геофизического эксперимента : сборник научных трудов / Рос. акад. наук, Кол. науч. центр, Поляр. геофиз. ин-т. – Апатиты : [б. и.], 2003. – 194 с.
Далее Monitor входит в свой рабочий цикл. Компьютерный таймер "тикает" каждые *0.05492549458374 с, т.е. в 10 секундах *182.06481481 "тика". Monitor собирает данные в течение 182 тиков: во время нулевого тика в начале каждой десятисекундки считываются и запоминаются значения счетчиков; во время 182-го тика, последнего в текущей десятисекундке, снова считываются счетчики. Разница между последними и первыми значениями и есть данные за истекший 10-секундный интервал. Эти данные и время начала этого интервала помещаются в буфер, емкость которого -180 записей (30 мин). Все это делается в подпрограмме обработки прерываний таймера. Снятие отсчетов по прерываниям таймера сделано для точного выдерживания 10- секундного интервала. Если просто запрашивать время у операционной системы, то интервалы получаются не одинаковыми. Кроме того, если сеть неисправна, то при попытке копирования на Сервер основная программа "замирает" на ~1 мин, пытаясь дождаться ответа, а подпрограмма обработки прерывания продолжает выполняться, так что сбор данных не прерывается. А основная программа: проверяет пуст ли буфер. Если не пуст - выбирает из него все имеющиеся там записи. Для каждой 10-секундной записи: выводит данные на экран; при необходимости фильтрует данные. Необходимость в этом возникает или после случайного выброса в одном из каналов (очень редко), или (регулярно) после коррекции времени, когда длина интервала меняется и данные оказываются неправильными. Фильтр сравнивает очередное значение со средним от 10 предыдущих и, если разница превышает 25% (для As, Bs, Cs), 20% (Al, BI, С!, T l, T2, ТЗ, T4) или 0.04% (для давления), то это значение заменяется на среднее; записывает данные в файл; по окончании очередного 10-минутного интервала создает файл monitor.gif с графиками; копирует файл данных и файл графиков на Сервер; в начале каждого часа считывает информацию GPS и поправляет часы компьютера. Файл данных Данные сохраняются в суточных файлах. Имя файла указывает на дату. Например, файл 20010102.crd содержит данные за 2 января 2001 г. Расширение crd означает Cosmic Ray Data. Для уменьшения размера файла данные пишутся в двоичном виде. Первые два оайта каждой записи - время, упакованное следующим образом: Номер бита 15 старший 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 младший Час (0-23) Минута (0-59) Сacyiада/10 (0-5) Далее идут: As, Bs, Cs (нейтронный монитор, малое мертвое время), Al, BI, С1 (нейтронный монитор, большое мертвое время), T l, Т2, ТЗ, Т4 (мюонный телескоп), Pressure (атмосферное давление). Каждое из этих значений записывается как двубайтовое беззнаковое число. Первая запись каждого файла - текстовый заголовок, указывающий дату и длину записи в байтах, например: "2001.01.02 24". 94
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz