УДК 62.506
О. С. Иноземцева, А. А. Колташев
ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ СРЕДЫ ПРОГРАММНОГО УПРАВЛЕНИЯ СПУТНИКОВ СВЯЗИ И НАВИГАЦИИ
Рассматривается технология надежного и эффективного программирования команд управления для унифицированной среды программного управления спутниками связи и навигации с использованием универсальной системы визуального программирования.
Технология управления спутниками связи и навигации, разрабатываемыми в ОАО «Информационные спутниковые системы» имени академика М. Ф. Решетнева, традиционно базируется на использовании команд управления (КУ), выдаваемых как с наземного комплекса управления, так и бортовым программным обеспечением (БПО), функционирующим на бортовом компьютере в составе бортового комплекса управления спутником.
Отличительной особенностью решения этой задачи в ОАО «ИСС» является наличие в составе БПО среды программного управления, предоставляющей унифицированный интерфейс для решения задач оперативного и автономного управления, в частности по командам управления [1; 2; 3].
Для реализации команд управления в составе среды программного управления функционирует комплекс задач, являющийся программируемым бортовым интерпретатором команд управления спутником - программа ИСК (Исполнение Команд). С точки зрения этой программы - команда управления спутником - это запрограммированный кортеж (последовательность) действий по управлению, подлежащих выполнению данной программой. Набор команд управления специфичен для каждого спутника, является входными данными для программы ИСК и подлежит программированию. Набор действий достаточно универсален, незначительно меняется от спутника к спутнику и реализуется в программе ИСК.
В процессе управления, реализуемом БПО, команда управления выдается путем обращения к программе ИСК с указанием номера или адреса команды, т. е. указанием соответствующего команде кортежа действий. Программа ИСК обеспечивает исполнение (интерпретацию) действий КУ в указанной в кортеже последовательности.
Под действием понимается, например, выдача кода во внешние каналы обмена с бортовой аппаратурой, проверка квитанции канала обмена, проверка или присвоение значения ячейке памяти, арифметические действия сложение/вычитание, вызов типового добавочного кортежа и т. п. Перечень всех действий, используемых для программирования КУ, специфичен для разных бортовых вычислительных платформ, а назначение и кортежи команд управления различны для разного вида космических аппаратов. Кортежи КУ подготавливаются на этапе проектных работ по подсистемам спутника, и входят в состав бортового программного обеспечения в виде модулей входных данных интерпретатора ИСК.
Номерные команды управления разделены на блоки. Блоки номерных команд, в которых все команды по своему назначению принадлежат одной подсистеме спутника, являются системными блоками и программируются
проектантами соответствующих подсистем. Блоки команд, внутри которых номерные команды по назначению относятся к разным подсистемам, называются общесистемными и программируются проектантами ПО БКУ. Обычно, нулевой и первый блок команд управления проектируются как общесистемные блоки. Каждому блоку номерных команд управления соответствует один модуль входных данных интерпретатора ИСК (ВД ИСК). Входные данные ИСК имеют главный модуль с таблицей указателей на модули блоков команд управления.
Адресные команды управления могут размещаться как в отдельных модулях адресных команд ВД ИСК, так и могут быть добавлены в модули блоков номерных команд управления. Адресная команда управления может быть исполнена при обращении к интерпретатору ИСК с указанием адреса команды.
Подмножеству команд кортежа номерной команды, оканчивающимся концом кортежа, может быть присвоен начальный символический адрес, и тем самым определен типовой добавочный кортеж (ТДК).
Типовой добавочный кортеж или адресная команда может быть вызвана из другого кортежа КУ, если внутри вызываемого не содержится других вызовов ТДК или адресных команд.
Программирование КУ является сложной технической задачей, требующей привлечения разных специалистов из разных структурных подразделений предприятия: инженеров-проектантов бортового комплекса управления, инженеров-проектантов бортовой аппаратуры подсистем спутника, инженеров-программистов бортового программного обеспечения, инженеров программистов комплексного тестирования БПО. При традиционном подходе команды проектируются проектантами, документируются, а затем реализуются программистами на Ассемблере соответствующей БЦВМ. Слабым звеном является взаимодействие между инженерами-проектан-тами и инженерами-программистами, так как их области знаний существенно различаются. Оперативное взаимодействие, необходимое в процессе тестирования, затруднено принятыми правилами передачи информации между структурными подразделениями предприятия. Как следствие, можно ожидать затягивание сроков работ и недопустимое появление ошибок в программировании команд управления.
В ОАО «ИСС» проблема решается с помощью разработанной и внедренной технологии работ и специального технологического программного средства, созданного для ее обеспечения: системы визуального сценарного программирования команд управления спутниками связи - СП ИСПОЛКОМ [4]. Новая технология работ исклю-
чает участие программистов и подготовку входных данных ИСК на языке Ассемблер. Система программирования ИСПОЛКОМ предоставляет интерфейс высокого уровня на базе проблемно-ориентированного языка программирования кортежей и полностью автоматизирует получение ассемблерных модулей. Это позволяет непосредственно проектантам логики подсистем и спутника программировать команды управления через несложный оконный интерфейс по заданному сценарию.
Система программирования ИСПОЛКОМ применима для бортовых компьютеров трех вычислительных платформ: С-32 (архитектура УАХ 11/750), ОВС-1750 (архитектура MIL-STD-1750А), БИВК (архитектура М^-Ш), и это полностью закрывает потребности предприятия в настоящее время. Система обеспечивает возможность заимствования от изделия к изделию значительного объема уже проверенного кода команд (рис. 1).
Исходными данными для программирования кортежей команд управления через СП ИСПОЛКОМ являются:
- перечень номерных команд управления подсистемами и спутником и их назначение;
- перечень действий для данной вычислительной платформы;
- перечни кодов, выдаваемых в различные каналы обмена бортового компьютера с бортовой аппаратурой, и их назначение;
- список телеметрических параметров;
- список задач бортового компьютера;
- список внешних имен БПО.
Параметрами действия могут быть коды внешних устройств бортовой аппаратуры, символические имена или адреса бортового программного обеспечения, номера задач БПО, числа и коды по указанному формату. Набор действий отличается для разных вычислительных платформ, так
как разные платформы имеют различные каналы обмена с внешней бортовой аппаратурой. На состав набора действий оказывает существенное влияние архитектура бортового компьютера - набор действий OBC-1750 существенно отличается от набора действий других платформ из-за разделения адресного пространства компьютера на адресные секции с разными областями видимости.
Вся исходная информация хранится в базах данных ИСПОЛКОМ. БЦ созданы как базы данных MS Access 2000, но пользователь работает с ними через СП ИСПОЛКОМ. БЦ ИСПОЛКОМ располагаются на общем сетевом ресурсе, и СП ИСПОЛКОМ обеспечивает многопользовательскую работу в рамках предприятия.
Цля каждой бортовой вычислительной платформы определен комплект баз данных ИСПОЛКОМ соответствующего состава. Комплект БЦ ИСПОЛКОМ включает:
- базу данных изделий (тема, подсистема, номер изделия, здесь под темой понимается вид спутника, под номером изделия - обозначение спутника, изготавливаемого для определенного вида испытаний);
- базу данных команд управления;
- базу данных действий;
- базу данных задач БПО;
- несколько баз данных со списками кодов, обозначений и наименований команд для каналов обмена бортового вычислительного комплекса с внешними устройствами, специфичными для данной платформы.
Базы данных разделены на два уровня: на верхнем уровне находится БЦ изделий, остальные БЦ - на втором уровне. БЦ второго уровня связаны с таблицами из БЦ изделий, так что записи в таблицах БЦ второго уровня имеет идентифицирующую привязку к теме, подсистеме и номеру изделия через таблицы связей, построенных по реляционному типу. Это предоставляет возможность хра-
СП исполком Интегрирующая оболочка
Настройка
конфигурации
Рис. 1. Общая схема СП ИСПОЛКОМ 95
нить информацию с близкими наборами данных для разных тем, подсистем и номеров изделий в одном файле.
БД ИСПОЛКОМ заполняются проектантами БКУ через встроенное средство подготовки баз данных ИСПОЛКОМ. Ввод информации в БД ИСПОЛКОМ является подготовительным этапом к началу программирования входных данных бортового интерпретатора команд управления ИСК.
Команды управления программируются проектантами подсистем раздельно. Проектантам подсистем доступно программировать только команды собственной подсистемы, используя только те действия, которые им разрешены, и только те коды каналов обмена с внешними устройствами бортовой аппаратуры, с которыми они работают. СП ИСПОЛКОМ представляет проектанту списки возможных значений параметров для ввода. СП ИСПОЛКОМ исключает ввод кодов, не соответствующих списку, если задано ограничение списком, проверяет значения на диапазон, если такие ограничения есть, и на соответствие заданному формату. Часть параметров действий проверяется сразу при вводе значения через окно. Таким образом, часть ошибок программирования КУ удается предупредить сразу же при вводе данных. Далее проверка ошибок проектанта выполняется при трансляции модуля команд управления в СП ИСПОЛКОМ. Окончательная проверка модулей ВД ИСК выполняется при комплексном тестировании БПО в составе наземного отработочного комплекса.
СП ИСПОЛКОМ создает для каждой подсистемы проект ВД ИСК подсистемы, содержащий модули системных блоков команд, и модули с частью команд из общесистемных блоков, которые разрешено данной подсистеме программировать. Проект ВД ИСК подсистемы также содержит рабочие базы данных, файл проекта, файлы перенаправления, конфигурации, документы, рабочие базы данных и другие вспомогательные файлы. Все файлы и вложенные папки проекта создаются и обновляются автоматически во время работы проектанта через систему программирования ИСПОЛКОМ.
Пользовательский интерфейс для проектанта состоит в следующем. При создании проекта ВД ИСК подсистемы проектант должен указать тему, подсистему, номер изделия, папку, куда сохранить проект ВД ИСК. СП ИСПОЛКОМ создает проект, открывает окно со списком модулей блоков команд управления, доступных для программирования в данной подсистеме. Модуль команд управления открывается как окно со списком команд и кортежей данной подсистемы, команды управления, запрограммированные кортежами, помечены литерой «К». Проектант выбирает нужную команду и открывает окно конструктора кортежа. В конструкторе кортежа добавляет нужные действия в кортеж команды из списка действий, доступных к использованию (рис. 2).
Конструктор кортежа содержит обзорную таблицу действий кортежа КУ, и набор инструментов для типовых манипуляций с действиями внутри кортежа: открыть, вырезать, копировать, вставить, переместить, отменить. Действия в таблице кортежа КУ функционально окрашены: выделены цветом действия с проверкой квитанции, с выходом из кортежа, вызовом или определением типового добавочного кортежа, важные командные функции. Действие из кортежа открывается в окне для ввода параметров и ком-
ментариев к действию, поля ввода параметров содержат списки для выбора значений, значения параметров действия представляются в проектных терминах. Многие параметры действий проверяются сразу при вводе.
В процессе программирования кортежей КУ модуля ВД ИСК система программирования ИСПОЛКОМ создает исходный модуль *^р на языке КРОККОМ, который являются входным для системы ИСПОЛКОМ при следующем сеансе работы с этим модулем через оконный интерфейс. СП ИСПОЛКОМ транслирует исходные модули с языка КРОККОМ на промежуточный язык DISKAS с проверкой ошибок, которые мог допустить проектант. Следующим шагом транслятор DISKASM транслирует модули с языка DISKAS на язык Ассемблер соответствующей бортовой вычислительной платформы. Затем модули ВД ИСК с языка Ассемблера ИСПОЛКОМ компилирует в объектный код с получением листингов с помощью компилятора языка Ассемблера из состава кросссистемы программирования БПО на языке МОДУЛА-2.
СП ИСПОЛКОМ позволяет выполнить проверочную компоновку проекта ВД ИСК с подключением общих библиотек из кросс-системы программирования БПО и объектных модулей бортового программного обеспечения подсистемы с целью проверки замыкания внешних имен, используемых в модулях проекта ВД ИСК, до передачи модулей из проекта ВД ИСК и комплексного тестирования. Для платформы С-32 проектанту предоставляется возможность автоматически получить задания на компоновку фаз ВД ИСК и создавать фазы из абсолютных модулей ВД ИСК. Однако, проверочная компоновка проекта ВД ИСК требует настройки подключения внешних библиотек кросс-системы программирования БПО и общих модулей ПО БКУ и ПО подсистемы, их состав не известен проектанту без консультации с программистами.
Проекты ВД ИСК подсистем объединяются в один проект ВД ИСК изделия (спутника) путем интеграции проектов средствами ИСПОЛКОМ:
- модули общесистемных блоков команд для изделия создаются путем слияния команд управления из модулей, запрограммированных в разных подсистемах, в один модуль;
- модули системных блоков команд и модули адресных команд переписываются из проектов ВД ИСК подсистем в проект ВД ИСК изделия без изменения.
Модули проекта ВД ИСК изделия не доступны для редактирования, но доступны для просмотра через СП ИСПОЛКОМ. Во время компиляции проекта ВД ИСК изделия СП ИСПОЛКОМ создает модуль главной таблицы указателей ВД ИСК, с адресами, указывающими на модули блоков команд управления. В остальном проекты ВД ИСК подсистем и проекты ВД ИСК изделия компилируются одинаково.
Полученные системой программирования ИСПОЛКОМ модули ВД ИСК на языке Ассемблер из проекта ВД ИСК изделия передаются на наземный отладочный комплекс (НОК) для комплексного тестирования команд управления. Ассемблерные модули ВД ИСК собираются в составе БПО и тестируются совместно с моделями бортовой аппаратуры подсистем спутника в различных режимах работы.
После завершения комплексного тестирования, модули входных данных передаются в составе БПО в летную эксплуатацию.
СП ИСПОЛКОМ обеспечивает автоматическое создание отчетных документов вида «Текст программы», оформленных по стандартам ЕСПЦ. Цокумент создается в виде файла Microsoft Word через окно создания отчета, в котором указывается обозначение документа и файлы, текст которых надо включить в документ. Включаемыми файлами могут быть листинги модулей ВЦ ИСК на языке Ассемблер или исходные модули на языке ISPOLKOM.
СП ИСПОЛКОМ разработана в Microsoft Visual Studio 6.0 на языке программирования Visual Basic 6.0, транслятор DISKASM - в среде XDS IDE на языке программирования MODULA-2. Общий объем программы - около 100 тыс. строк.
Инсталлятор СП ИСПОЛКОМ обеспечивает как установку, так и обновление системы программирования предыдущих версий. Инсталлирующая программа разработана на основе свободно распространяемых исходных текстов программы Setup 1, Microsoft Setup Toolkit, Visual Studio 6.0.
В настоящее время СП ИСПОЛКОМ используется при разработке бортовых комплексов управления всех спутников ОАО «ИСС» и охватывает три вычислительные платформы. Она применялась и показала свою эффективность
при создании и сопровождении БПО спутников «ЭкспрессАМ» и «Глонасс-М», а в настоящее время применяется для спутников, БКУ которых создается на платформе БИВК.
Библиографический список
1. Колташев, А. А. Эффективная технология управления циклом жизни бортового программного обеспечения спутников связи и навигации /А. А. Колташев // Авиа-космич. приборостроение. 2006. № 12.
2. Колташев, А. А. Технологические аспекты создания бортового программного обеспечения спутников связи / А. А. Колташев, А. Н. Антамошкин // Вестник Сиб. гос. аэрокосмич. ун-та им. акад. М. Ф.Решетнева : сб. науч. тр. / под ред. проф. Г. П. Белякова ; Сиб. гос. аэрокосмич. унт. Красноярск, 2005, Вып. 6.
3. Свидетельство об офиц. регистр. программы для ЭВМ №2006613524 (РФ) СПРУТ-1750. Мобильная среда программного управления для бортовых комплексов управления спутников связи / А. А. Колташев [и др.] Заре-гистр. Роспатент. 28.07. 2006.
4. Свидетельство об офиц. регистр. программы для ЭВМ №2006612666 (РФ) ИСПОЛКОМ-1750. Система программирования команд управления спутником связи / А. А. Колташев [и др.] Зарегистр. Роспатент 28.07.2006.
Рис. 2. Модуль команд управления
O. S. Inozemtzeva, A. A. Koltashev
PROGRAMMING TECHNOLOGY OF THE PROGRAM CONTROL MEANS FOR THE COMMUNICATION AND NAVIGATION SATELLITES
There are described reliable and efficient programming technology of control command for uniform program control means of communication and navigation satellites by using the universal system of visual programming.