ОСОБЕННОСТИ ПРОГРАММНЫХ РЕШЕНИЙ В СИСТЕМЕ АВТОМАТИЗИРОВАННОГО СБОРА И ПЕРЕДАЧИ ГИДРОМЕТЕОРОЛОГИЧЕСКОЙ ИНФОРМАЦИИ С ПРИМЕНЕНИЕМ ИЗМЕРИТЕЛЬНЫХ КОМПЛЕКСОВ
* *
Р. Л. Тогидний, П. С. Добродеева , Р. Б. Назмутдинов
Институт кибернетики Национального исследовательского Томского политехнического университета, 634034, Томск, Россия
а __ _
ООО "ИНКОМ", 634009, Томск, Россия
УДК 004.6
Изложены особенности построения распределенной системы для организации автоматизированного сбора гидрометеорологических данных с использованием сквозной технологии. Описаны основные принципы разработки аппаратно-программных комплексов и сопряжения их с измерительными комплексами различного типа. На основе изложенных принципов рассмотрены функциональные возможности реализации сбора, передачи и обработки данных. Приведены примеры реализации интегрированной системы сбора метеоданных, проанализирован опыт ее внедрения на различных объектах гидрометеорологической службы.
Ключевые слова: распределенная система, гидрометеорологические данные, сквозная технология, программный комплекс, измерительный комплекс.
Described features of the distributed system for the organization of automatic collection of hydrometeorological data based on cross-cutting technology. Describes the basic principles of developing software and hardware, and pairing them with different types of measurement systems. The features of the functional feasibility of collecting, transmitting and processing data on the basis of these principles. Examples of the implementation of an integrated system for collecting meteorological data are given, as well as experience in implementation at various sites Hydrometeorological Service.
Key words: distributed system, hydrometeorological data, software system, pass-through technology, measuring system.
В последнее время в гидрометеорологии широкое распространение получают автоматизированные системы сбора, трансляции и управления информацией, полученной от средств измерений, расположенных на автоматических и обслуживаемых платформах сбора данных наземного и морского базирования, с последующей передачей этой информации центрам сбора данных гидрометеорологической службы различного уровня. Системы автоматизации сбора и передачи метеоданных являются важным звеном сквозной технологии [1] получения достоверной метеорологической информации с низовой сети метеостанций.
Обычно в состав современных автоматических измерительных комплексов, осуществляющих измерения параметров окружающей среды, входит контроллер (логгер) на базе микропроцессора. Основными задачами контроллера являются получение данных непосредственно с
Рис. 1. Функциональная схема аппаратно-программного комплекса АПК-МЕТЕО-К
подключенных к нему разнообразных датчиков, преобразование в физические величины, хранение во внутренней памяти, выдача данных по запросу; во многих случаях измерительные комплексы позволяют осуществлять передачу данных по каналам связи, например с помощью модема ОМ8ЮРЯ8 или РТ8К по обычной телефонной линии, а также использовать средства связи по спутниковым каналам.
Однако, несмотря на разнообразие поддерживаемых функций и имеющихся готовых решений, измерительные комплексы не в полной мере соответствуют существующим требованиям гидрометеорологической службы. В основном это обусловлено многообразием протоколов и форматов измеренных данных и соответственно наличием специфических программных решений для хранения, визуализации или передачи информации, характерных только для определенных комплексов. В результате возникают сложности при обработке получаемой информации и преобразовании ее в форматы сообщений, которые приняты в гидрометеорологии. Кроме того, несмотря на поддержку различных каналов связи и возможность одновременного использования нескольких из них, отсутствует автоматическая поддержка резервирования каналов, что делает систему непригодной для эксплуатации в тех случаях, когда возможно исчезновение связи на время, превышающее время актуальности измеренных данных.
Перечисленные выше недостатки существующих аппаратно-программных комплексов, используемых для измерения параметров окружающей среды и ее передачи в центры, неприемлемы в гидрометеорологической службе.
Для решения указанных проблем разрабатываются интегрированные системы связи для сбора, обработки и передачи информации. Одной из таких систем является аппаратно-программная система сбора информации с наблюдательной сети АПС-МЕТЕО. В такой системе объединены несколько функциональных модулей, которые не только осуществляют измерение, ар-
хивирование полученных значений в течение требуемого периода времени, но и позволяют объединить метеостанции с автоматическими измерительными комплексами в одну большую сеть, накапливать информацию и передавать полученные данные в центр обработки. На рис. 1 представлена функциональная схема аппаратно-программного комплекса АПК-МЕТЕО-К, входящего в состав системы АПС-МЕТЕО на базе персонального компьютера для низовой сети, и подключенных к нему различных измерительных комплексов.
АПК-МЕТЕО-К выполняет следующие основные функции:
- интеграция различных измерительных комплексов с универсальным интерфейсом для настройки подключения;
- задание критериев для выявления по измеренным данным неблагоприятных или опасных явлений, передача этой информации в центр;
- обработка полученных данных измерений, преобразование в стандартные форматы сообщений, визуализация информации, построение графиков, отчетов;
- резервирование основного канала связи, возможность автоматического переключения при отсутствии связи;
- прием и передача штормовых и служебных телеграмм в стандартных форматах (КН-01, SYNOP, КН-19(декада), FM 71-X CLIMAT, PNABSEA и т. п.);
- формирование уведомлений о доставке данных и управляющих команд на станции;
- оповещение оператора об отсутствии связи или неисправностях в работе оборудования.
Основным компонентом комплекса АПК-МЕТЕО-К является специализированное программное обеспечение управления средствами связи (СПО УСС) на базе персонального компьютера под управлением операционной системы Windows.
Основная программная составляющая реализована с помощью СУБД Microsoft Visual FoxPro [2] - высокопроизводительного средства разработки баз данных и различных приложений. С помощью этого средства разработки выполнен интерфейс пользователя и реализована бизнес-логика приложения. Взаимодействие с измерительными комплексами, а также со всеми коммуникационными устройствами для приема и передачи данных по различным каналам связи выполняется с помощью специального модуля передачи данных, реализованного в среде разработки Microsoft Visual C++ и позволяющего управлять многопоточными процессами и обрабатывать данные в реальном времени. Обмен информацией с устройствами осуществляется с помощью стандартного интерфейса RS232, в некоторых случаях - с помощью Ethernet (витая пара).
Для передачи данных по каналам связи используется протокол Subnetwork Access Proto^l (SNAP), предназначенный для пакетного обмена между двумя или множеством абонентов сети. Структура протокола позволяет однозначно определять целостность данных и соответственно достоверность и гарантию доставки каждого передаваемого информационного пакета.
Единого протокола взаимодействия различных типов измерительных комплексов не существует: каждый контроллер, накапливающий данные, получаемые с измерительных средств разных производителей, имеет свой формат обмена данными. В связи с этим возникла необходимость разработать библиотеки для приложения модуля передачи данных и реализовать поддержку на верхнем уровне основного приложения. Рассмотрим подробнее реализацию взаимодействия, разработки универсального интерфейса настройки различных измерительных комплексов, а также способы хранения, отображения и передачи измеряемых параметров окру-
жающей среды. В качестве примера выберем три основных типа комплексов, обычно используемых при проведении измерений: 1) METEО-2, ІРЦ, комплекс метеорологический малый MK-26 (официальный сайт ЗАО НГЦ "Гидромет": http://www.hydro-meteo.ru/doc/mk_26_ot.pdf) российского производства; 2) автоматический измерительный комплекс на базе логгер QML201 финского производителя компании Vaisala (логгер данных QML201B фирмы Vaisala: http://www.vaisala.ru/files/QML201B_Datasheet_RU.pdf), 3) контроллер AANDERAA (контроллеры 3634 и 3660. Документ № 312: http://www.aadi.no/Aanderaa/Document%20Library/1/Data%20Sheets /Dataloggers%20Standard.pdf) норвежского производителя AADI. Измерительные комплексы этих трех типов имеют абсолютно разные протоколы и интерфейсы для взаимодействия.
^нтроллер первого типа работает через интерфейс RS232 по протоколу MODBUS-RTU (Modbus - коммуникационный протокол. http://ru.wikipedia.org/wiki/Modbus). Этот протокол, широко применяемый в промышленности для организации связи между электронными устройствами, использует для передачи данных последовательные линии связи RS-485, RS-422, RS-232, а также сети TCP/IP (Modbus TCP). ^др сообщения в режиме RTU имеет следующий формат: адрес - 8 бит, функция - 8 бит, данные - N х 8 бит, контрольная сумма - 16 бит.
Поле "Адрес" служит для адресации устройства, поле "Функция" определяет операцию для выполнения (в основном используется получение текущего значения одного или нескольких регистров хранения), в поле "Данные" при запросе содержатся начальные адреса и указано количество регистров для каждого считываемого измеряемого параметра.
Для комплексов на базе логгера QML201 используется интерфейс Ethernet по протоколу TCP/IP. Логгер отправляет сообщения в виде ASCII-строки с контрольной суммой. Общий формат данных протокола имеет следующий вид: символ начала строки (<SOH>) - 1 байт, заголовок - N байт, символ начала данных (<STX>) - 1 байт, данные - N байт, символ конца данных (<EOT>) - 1 байт, контрольная сумма - 4 байт, символ конца строки (<ETX>) - 1 байт. В поле "Заголовок" указан тип сообщения, в поле "Данные" содержится список параметров со значениями, перечисленными через разделитель. Ниже приведен пример сообщения, отправляемого в логгер для синхронизации времени:
<SOH>TimeSync<STX>(DATA:2006-05-11;TIME:18:44:15){IDEN:9999}<EOT>ABE1<ETX>.
В таком же виде передаются все измеряемые и расчетные параметры окружающей среды в зависимости от наличия у логгера соответствующих датчиков.
Наконец, контроллеры AANDERAA моделей 3660/3634 используют интерфейс RS-232. Данные передаются также в виде обычной ASCII-строки, но без контрольной суммы. В отличие от описанных выше логгеров управление осуществляется через дополнительный порт с помощью терминала в ручном режиме с помощью оператора. По основному порту, предназначенному только для чтения, в зависимости от настроек через определенный интервал времени передаются форматированные строки, содержащие информацию об измеренных параметрах (см. таблицу). Пример сформированной строки измеренного параметра:
03 Water temperature 9.3 Deg.C.
Формат строки по умолчанию на последовательном онлайн-порте "LAST REARING"
Номер символа Шестнадцатеричный код Значение
1 С 30-го по 39-й Номер канала
2 С 30-го по 39-й Номер канала
3 20-й Пробел
4-22 С 20-го по 5А, 5С, с 61-го по 7А Наименование параметра
23 20-й Пробел
24-27 С 20-го или с 30-го по 39-й Показания датчика / Пробел
28 С 30-го по 39-й Показания датчика
29 2E Точка
30 С 20-го или с 30-го по 39-й Десятичные показания датчика / Пробел
31 С 20-го или с 30-го по 39-й Десятичные показания датчика / Пробел
32 20-й Пробел
33-37 С 20-го по 5А, 5С, с 61-го по 7А Наименование единицы измерения
38 0А
39 0D ея
Проведя анализ характеристик измерительных комплексов всех представленных типов, можно выделить главные общие составляющие, а именно название и тип комплекса, наличие того или иного измерительного оборудования, а также ряд измеряемых величин и расчетных характеристик окружающей среды. Следующим шагом является разработка универсальной базы данных для хранения всех настроек, измеренных и расчитанных параметров и другой информации (рис. 2).
sp_station_protocols
nid
FK1 cname cid
sp_stations
cid
sp_station_showtype
nid
FK1 cname cmodule cid
13 nformat namebutton 12 ctitle Iheader csyncodeid nprotocol ' nshowtype Isendraw
sp_units
cunitgroup
FK1,I2 13 14 cid cname ccomment
sp_unitgroup
FK1 cid
cgroupname cunitgroup
sp_typevidmess
FK1 cid
12 cnvidmess nvid
sp_viptypemess
FK1,I2
15
sp_formatstations
cid
cnameparam
cparam
cunitid
nmashtab
nshift
nlength
cidstation
nparam
nlregister
nhregister
ntypebyte
ctransform
measurejd
lexport
lexportsyn
cparamtag
Imeasure
ncolor
ndrawstyle
ndrawwidth
nfillcolor
naxiscolor
naxisstyle
naxiswidth
ngridcolor
ngridstyle
ngrldwidth
Igraph
sp_sistations FK1 I cid
cname
nreg
nrel
ncert
lastcheck
latitcoord
latitlocate
longcoord
longlocate
depth
location
workenter
workend
nsi
15
ІЗ
FK1,I4
sp_nameparamkod
12 FK1 cnameparam luseiik cunitgroup cunitid Igraph Isign cid
cid
cvip
ctypemess
cvidsyrec
ckanal
cstation
Iwork
lavtwork
navtmin
navtsec
nsynperiod
Isynwork
nsynhour
nsynmin
csynaction
ntypemess
lshow_nzoz
Idowncycle
nquickhour
nquickmin
csendmess
csendquery
llowcycle
tdatetest
ntypework
lexport
cftppath
cfilemask
Isavefile
с path
cfmasksyn
lexportsyn
cindex
Ikeepnull
cpointid
Idatalimit
ndatalimit
cavtshow
nsyntype
Ishowedit
nedittime
leditvalue
Isynpanel
tlastterm
ccurparam
Imainkanal
Ichkjndex
ncurperiod
spviptypemessstr
cid
cidvtpm
cidpayment
typemess
fsf
iik_header_term
cid
FK1.I2 13 14 cidjik datetime lauto tsend
ttaaii
cccc
cdays
chours
cminutes
csyncodeid
ntypemess
noffset
nedittime
nactuality
tlastterm
sp_typepayment
FK1 cid
12 cntpayment chours cdays ntype npriority cminutes noffset nactuality periodical cgaotype
sp_synopcode
calias
ІЗ FK1 cname icommand Isystem cmodule cid
iik_header
cid
FK1.I2 14 ІЗ cid_iik datetime lauto ledit creference
iik_values
cid
FK1,I2 ІЗ headerid paramid nweather cvalue
iik_values_term
cid
FK1.I2 ІЗ headerid paramid nweather cvalue ledit
Рис. 2. Структура базы данных для сопряжения измерительных комплексов
В основе представленной схемы лежит таблица 8р_81айоп8 - справочник измерительных комплексов, в котором содержится общая информация: название и тип протокола, назначенный заголовок и т. д. В связанной таблице 8р_1Ьгта181а1:юп8 хранится описание всех измеряемых параметров из общего списка (таблица вр_патерагаткоё), расчетных величин или тенденций для каждой станции. В зависимости от типа измерительного комплекса для каждого параметра вводятся различные установки. Например, для комплексов, работающих по протоколу МоёЬш, предусмотрены поля для ввода адреса начального регистра и общего количества регистров для считывания значения из ячейки памяти, для остальных комплексов предусмотрено поле наименования параметра в текстовом виде (обычно в латинской раскладке). При необходимости для каждого параметра указываются текущая единица измерения (таблица 8р_иш18) и средство измерения из списка 8р_8181айоп8. Для описания параметров предусмотрен ряд других полей, содержащих служебную и дополнительную информацию для работы приложения, например количество знаков в числе после запятой, поправочный коэффициент (задается в виде выражения), различные признаки (расчетная величина, тенденция).
Все данные, поступающие от измерительных комплексов, хранятся в базе данных текущих наблюдений (БДТН) и созданной на ее основе базе данных наблюдений в срок (БДНС). БДТН предназначена для хранения непрерывно поступающих результатов измерений с частотой обычно не реже 1 мин, а также для визуализации актуальной метеорологической информации в течение определенного срока. Данные, поступающие в БДТН, сохраняются в течение указанного промежутка времени (обычно в течение 30 сут), после чего наблюдения с истекшим сроком удаляются, а в начальные позиции рядов наблюдений записываются вновь поступившие данные. Указанная процедура повторяется без ограничения времени. Структура базы включает таблицу пк_Ьеаёег, в которой хранятся дата, время измерения и ссылка на измерительный комплекс, и подчиненную ей таблицу пк_уа1иев, в которой указаны ссылки на измеряемые параметры для комплекса, а также сами значения величин.
Вторая база данных, структура которой идентична (таблицы пк_Ьеаёег_1егт и пк_уа1иев), создается в результате обработки наблюдений, изымаемых из БДТН. В этой базе данных хранятся данные в течение синоптического срока либо осредненные значения за определенный период времени, которые затем передаются в центр сбора данных.
Процесс обработки данных наблюдений осуществляется в циклическом режиме с частотой, определяемой в зависимости от периода осреднений наблюдений от 1 мин до 24 ч, вводимого пользователем. Для синоптической информации этот период обычно задается через определенные интервалы времени: 1, 3, 6 или 12 ч.
Измерительные комплексы находятся на метеостанции или гидропосту, которые должны передавать сводки на основе измеряемых параметров в центры сбора данных в установленные регламентом сроки. Для этого введены две основные таблицы 8р_у1р1уретеБ8 и 8р_у1р1урете8881х и ряд вспомогательных таблиц, таких как 8р_урераутеп1:, 8р_уреу1ёте88 и др. В первой основной таблице приводятся описание всех имеющихся измерительных комплексов и установки каналов связи с ними, различные настройки по приему и контролю измеренных данных, режимы работы и т. д. Подчиненная таблица 8р_у1р1урете8881х служит для формирования заголовков и указания формата и кода, в который необходимо преобразовать данные и сформировать сообщение (например, в формате ГМС, ВМО), отправляемое затем в центр сбора данных по заданным каналам связи. Сообщение формируется как автоматически,
так и вручную через заданный период (синоптический срок) на основе базы данных наблюдений в срок. Также в центр могут отправляться только измеренные параметры в первоначальном виде (без преобразований). В этом случае на приемной стороне должно быть аналогичное описание настроек измерительных комплексов и наблюдаемых параметров.
Полученные данные обрабатываются и заносятся в аналогичную базу данных для дальнейшей обработки. На основе этих данных можно формировать различного рода телеграммы как за один срок, так и за период времени. С этой целью разработан специальный формат для описания данных, получаемых измерительными комплексами, в заголовке которого содержится информация о типе измерительного комплекса, сроке измерения, типе данных. Данные представлены в двух вариантах: для комплексов, работающих по протоколу Modbus, и для всех остальных комплексов. Для комплексов первого типа данные представляются в виде непрерывной последовательности измеренных значений в строго определенном порядке с форматированием длины, т. е. в достаточно компактном виде. Для комплексов второго типа измеренные данные представлены последовательностью с произвольным порядком вида "<наименование парамет-ра>:<значение>", в качестве символа-разделителя используется ";", возможно также отсутствие некоторых параметров, например вследствие отключения средства измерения. В этом случае увеличивается количество избыточных данных, но однозначно определяются все параметры независимо от их порядка и количества. Для достижения оптимального размера пакета по возможности используются короткие имена измеряемых параметров.
Как и все приложение, база данных реализована в среде Microsoft Visual FoxPro. Пользовательский интерфейс, а также все операции приема, разбора данных, их обработки и передачи в центры сбора данных осуществляются с помощью различных модулей и процедур, разработанных этим средством. В центрах сбора данных находятся комплексы АПК-ЦСД на базе персонального компьютера с установленным программным обеспечением СПО ЦСД, интерфейс которого идентичен интерфейсу СПО УСС, но имеет более широкие возможности.
Центры сбора данных на базе АПК-ЦСД, входящие в систему АПС-МЕТЕО, являются связующим звеном, которое осуществляет сбор информации от абонентов низовой сети и взаимодействие с центрами коммутации сообщений для передачи в мировые центры сбора данных, а также обеспечивает двусторонний обмен метеоданными включая служебную информацию, административную и частную переписку, что особенно важно для труднодоступных объектов.
С учетом сказанного выше можно выделить следующие основные функции АПС-МЕТЕО:
- обеспечение документированного обмена информацией;
- интеграция различных каналов связи (радиоканал, телефонные и телеграфные линии, сотовые каналы, спутниковые каналы);
- универсальное кодирование данных автоматических измерительных комплексов в телеграмму;
- автоматический обмен информацией с центром коммутации сообщения (ЦКС) сети МЕКОМ;
- интеграция в единую сеть ЦСД комплексов различного типа - на базе компьютеров, специализированных контроллеров, автоматических метеорологических комплексов.
В настоящее время система сбора и обработки метеоданных АПС-МЕТЕО в составе различных комплексов внедрена во многих управлениях по гидрометеорологии и мониторингу окружающей среды (УГМС) России для реализации различных проектов и целевых программ.
Системами АПК-МЕТЕО-К оснащены пять арктических полярных станций (о-в Визе, о-в Известий, мыс Челюскина, мыс Стерлигова, Сопочная Карга) (http://www.rg.ru/2009/09/17 /reg-sibir/arktika-anons.html). Комплексы АПК-МЕТЕО-К применяются в рамках федеральной целевой программы "Предупреждения о цунами" на территориях, подчиняющихся Камчатскому, Сахалинскому и Приморскому УГМС, и взаимодействуют с российским автоматическим измерительным комплексом мареографом ГМУ-2, а также с измерительным комплексом AANDERAA DataLogger 3600/3660.
Опыт внедрения системы показал, что применение предложенных решений обеспечивает автоматизированный сбор данных наблюдений от метеостанций, автоматических постов и гидрометеостанций, интеграцию измерительных комплексов различного типа как российского, так и зарубежного производства, а также передачу служебных и административных телеграмм, что позволяет сократить сроки доставки оперативной и режимной информации от наблюдательной сети и повысить ее достоверность при одновременном снижении совокупных затрат на доставку информации.
Список литературы
1. БАГДАСАРОВА Е. П. Применение современных технологий сбора данных с наблюдательной сети // Метеоспектроскопия. 2005. № 2. С. 89-93.
2. ГУРВИЦ Г. А. Разработка реального приложения с использованием Microsoft Visual FoxPro 9: Учеб. пособие. Хабаровск: Изд-во ДВГУПС, 2007. 198 с.
Тогидний Роман Леонидович - асп. Института кибернетики Томского политехнического университета; e-mail: [email protected];
Добродеева Полина Сергеевна - инженер-программист ООО "ИНКОМ"; e-mail: [email protected];
Назмутдинов Ренат Бахтыганиевич - инженер-программист ООО "ИНКОМ"; e-mail: [email protected]
Дата поступления - 02.11.11