Авторы: | К. В. Смелков П. Г. Фёдоров
ЗАО "Морские Навигационные Системы" |
---|
( Статья была опубликована в мартовском номере журнала Морской Вестник №1(21) в 2007 году. )
В настоящее время на ходовых мостиках судов и ходовых командных постах (ХКП) кораблей все большее применение находят интегрированные мостиковые системы.
Использование интегрированных мостиковых систем (ИМС) повышает эффективность управления судном (кораблем), снижает массо-габаритные характеристики оборудования, обеспечивает улучшение эргономики рабочих мест и общего дизайна помещения ходового мостика (ХКП).
Использование в составе ИМС унифицированных аппаратных средств повышает надежность системы, а также снижает затраты на ее изготовление и обслуживание.
Внешний вид ИМС показан на рис.1.
ИМС, разрабатываемые и изготавливаемые для кораблей, существенно отличаются от ИМС, поставляемых на гражданские суда.
Это связано с необходимостью обеспечения гораздо большего количества функций, сопряжения с большим количеством оборудования с использованием различных протоколов связи, в том числе нестандартных.
В данной статье рассматриваются принципы построения информационной шины данных корабельных интегрированных мостиковых систем.
Интегрированная Мостиковая Система представляет собой открытую, распределённую, адаптивную вычислительную систему, построенную на базе современных вычислительных средств, объединённых в единую информационную локальную сеть.
На рис. 2 показана структурная схема ИМС.
Сопряжение с установленным на корабле навигационным вооружением и другими системами осуществляется по (преимущественно) цифровым и аналоговым каналам связи. Кроме того ИМС обеспечивает приём и отображение первичной радиолокационной информации от навигационных РЛС корабля.
В типовой конфигурации в ИМС предусматриваются два автоматизированных рабочих места (АРМ): командира корабля и вахтенного офицера.
Обмен информацией внутри системы осуществляется по локальной вычислительной сети Ethernet.
ИМС обеспечивает решение следующих задач:
Отображаемая на АРМ информация:
ИМС обеспечивает сопряжение со следующими корабельными системами:
Гидро-Метео комплекс
Система единого времени
РЛС (видео + формуляры целей)
ГАС
Комплексная система управления техническими средствами (КСУ-ТС)
Оптико-Электронные визиры (оптический канал + управление) и телекамеры
Электронное табло навигационных параметров
Типы сопрягаемых интерфейсов:
Многообразие типов интерфейсов сопряжения, сопрягаемого оборудования, протоколов связи (транспортного уровня), приводят к необходимости создания (локальной) подсистемы, задачей которой будет унификация распределённого пакетного ввода/вывода между ИМС и сопрягаемыми системами.
Многообразие протоколов сопряжения в части структур данных приводит к необходимости создания подсистемы, задачей которой будет унификация обработки и обмена прикладными данными между ИМС и сопрягаемыми системами.
Рассмотрим эти задачи по порядку.
Задача данного уровня состоит в том, чтобы обеспечить унифицированный пакетный ввод/вывод в многомашинном комплексе.
Реализована следующая схема:
Вводится именование точек ввода/вывода по следующему правилу:
//<УЗЕЛ>/<ТИП_ИНТЕРФЕЙСА>/<УСТРОЙСТВО>:(tx|rx)
где
идентификатор вычислителя в комплексе
тип интерфейса сопряжения
конкретное устройство ввода/вывода, возможно с указанием дополнительной информации для устройств осуществляющих мультиплексирование
направление ввода/вывода относительно ИМС
например:
приёмник последовательного интерфейса ttyM0 на первом узле.
узел 3, интерфейс MIL-STD-1553B, 17-й подадрес устройства tmk0 в направлении на передачу.
ПО уровня шины данных предоставляет сервис пакетного обмена типа публикация/подписка (publish/subscribe),
а именно:
Если имя потока подписки и публикации совпадают, внутренний алгоритм маршрутизации потоков произведёт доставку пакета подписчику.
Также работают подписки по т.н. регулярным выражениям [1].
В качестве транспортного уровня внутренней магистрали используется сеть Ethernet и вышестоящие протоколы семейства IP. Максимальный размер пакета - 8 килобайт.
Весь ввод/вывод осуществляемый ИМС осуществляется именно с помощью обмена пакетов по внутренней информационной магистрали и с помощью специальных программ - агентов ввода/вывода.
Если узел располагает какими-то устройствами ввода/вывода, то на нём постоянно работает специальная программа обеспечивающая стыковку внутренней шины с данным устройством.
Рассмотрим пример последовательных устройств:
Пусть узел-1 располагает 8 последовательными устройствами: ttyM0 - ttyM7, тогда
Таким образом предложенная схема:
Задача данного уровня состоит в том, чтобы унифицировать работу с прикладными данными, а также унифицировать преобразование информации между пакетным и прикладным уровнями данных.
Реализована следующая схема:
Вводится соглашение о именовании величин.
А именно, для всех прикладных величин составляется единое правило их именования в рамках ИМС. Например:
Величина | Имя |
---|---|
Курс | hdt |
Путевой угол | cog |
Широта | lat |
Долгота | lon |
Пеленг | brng |
Угол места | elev |
Крен | roll |
Дифферент | pitch |
и так далее
Вводится пространство имён прикладных данных:
/<ДОМЕН>/<ВЕЛИЧИНА>
где
наименование прибора или сопрягаемой системы
наименование одного из параметров вырабатываемого сопрягаемой системой
например:
курс корабля выработанный компасом
курс корабля выработанный корабельным навигационным комплексом
ПО уровня именованных данных предоставляет следующие сервисы:
Принцип работы сервиса публикации/подписки аналогичен изложенному в части Информационная шина данных ИМС
Сервис публикация с выходом на уровень ввода/вывода описан ниже в разделе ПЕРЕДАЧА.
Уровень ПО отвечающий за реализацию протоколов связи осуществляет связывание пакетного уровня с пространством имён прикладных данных.
На Рис.4 схематически изображен процесс связывание уровня прикладных данных с пакетным уровнем.
Рассмотрим этот процесс подробнее:
ПРИЕМ
от внешней системы по потоку ПОТОК поступает пакет информации pkt.
по настройкам ИМС эта информация преобразуется в
- ДОМЕН -- имя сопрягаемой системы
- pkt_2dict -- алгоритм протокола приёма
принятый пакет информации обрабатывается алгоритмом протокола приёма. В результате получается набор именованных данных v вида:
v = {'имя1': значение1, 'имя2': значение2, ...}ДОМЕН пополняется полученными именованными данными, происходит уведомление всех подписчиков домена.
пример (приём данных от GPS):
/* поступает новый информационный пакет */ ПОТОК = '//node2/serial/ttyM2:rx' pkt = '$GPRMC,211500.00,A,5800.00,N,2200.000,E,11.2,275.1,,,\n\r' /* ИМС определяет, что информация поступает от приёмника GPS */ ДОМЕН = '/GPS1' pkt_2dict = /* реализация протокола приёма IEC61162_1 в части предложения RMC */ /* v = pkt_2dict(pkt) */ v = {'daytime_utc': 21:15, 'lat': 58.0*degree, 'lon': 22.0*degree, 'sog': 11.2*knot, 'cog': 275.1*degree } /* пополнение пространства именованных данных, уведомление подписчиков */ kdat_populate(ДОМЕН, v)
ПЕРЕДАЧА
- прикладное ПО инициирует выдачу набора именованных данных v в ДОМЕН
- по настройкам ИМС эта информация преобразуется в
- ПОТОК -- поток для выдачи в сопрягаемую систему
- dict_2pkt -- алгоритм протокола передачи
- набор именованных данных v обрабатывается алгоритмом протокола передачи. В результате формируется пакет pkt для выдачи в сопрягаемую систему.
- Происходит публикация пакета, что в свою очередь приводит к выдачи на соответствующем узле пакета агентом ввода/вывода в сопрягаемую систему.
пример (выдача целеуказания визиру):
/* прикладное ПО готовит исходные данные */ ДОМЕН = '/ВИЗИР' v = {'brng': +30*degree, 'elev': -0.5*degree} /* работает связка именованные данные -> пакетная передача */ ПОТОК = '//node1/serial/ttyM10:tx' dict_2pkt = /* реализация протокола связи ИМС -> ВИЗИР */ /* pkt = dict_2pkt(v) */ pkt = '$BRVPO, ... ,+030.0,-00.5, ... *9A\n\r' /* вывод пакета к сопрягаемой системе */ publish(ПОТОК, pkt)
На уровне прикладного ПО предложенная схема позволяет:
В статье представлен краткий обзор Интегрированной Мостиковой Системы разработки ЗАО "Морские Навигационные Системы".
Рассмотрены вопросы организации и унификации ввода/вывода в многомашинном комплексе, а также вопросы организации и унификации работы с данными на прикладном уровне.
Предложенные подходы позволяют
Разработанная архитектура и ПО шины данных ИМС обеспечивают возможность сопряжения с локальными шинами данных других систем, или с общекорабельной системой обмена данными (ОКСОД).
ЗАО "Морские Навигационные Системы" в ходе разработки ИМС приобретён большой опыт в части комплексирования аппаратных средств, сопряжения с корабельными системами, разработки архитектуры и ПО информационной шины данных, разработки ПО АРМ.
Описанные принципы построения ИМС обеспечивают гибкость при построении системы, а также возможность ее масштабирования с расширением количества функций и добавлением новых АРМ.
Приобретённый при создании ИМС опыт, позволяет разрабатывать и другие распределённые корабельные системы.
Рассмотренная в статье схема построения ИМС внедрена на действующих кораблях.
[1] | Фридл Дж. Регулярные выражения. Библиотека программиста. --- СПб.: Питер, 2001. 352 с. ISBN 5-318-00056-8. |
[2] | Денисов В.И. Малый артиллерийский корабль нового поколения // Морская радиоэлектроника 2005. - Вып. 4(14) |
[3] | Королев Е.В. Повышение эффективности использования магистралей ГОСТ 26765.52-87 (MIL-STD-1553B), RS485, CAN в корабельных системах управления. // Морской Вестник 2006. - Вып. 4(20) |