Автоматизированная испытательная система

( A computer-aided testing system
Preprint, Inst. Appl. Math., the Russian Academy of Science)

Баранова Т.П., Буликов В.Г., Вершубский В.Ю., Гайфулин С.А., Луцикович В.В., Молчанова Г.Ю., Семенова Т.В., Шура-Бура М.Р.
(T.P.Baranova, V.G.Bulikov, V.Yu.Vershoubskii, S.A.Gaifulin, V.V.Lucikovich, G.Yu.Molchanova, T.V.Semenova, M.R.Shura-Bura)

ИПМ им. М.В.Келдыша РАН

Москва, 2008

Аннотация

В данной работе кратко описано специальное программное обеспечение для автоматизированных систем испытания космических аппаратов. Система ис-пытаний представляет собою многомашинный программно-аппаратный ком-плекс. Процесс испытаний описывается в виде программ, написанных на спе-циально разработанном языке Диполь. Язык располагает необходимыми по-нятиями и средствами, позволяющими привязывать ход испытаний к реаль-ному времени. В ходе испытаний осуществляется интерпретация предложе-ний языка, выдача необходимых команд испытуемой аппаратуре, производят-ся измерения требуемых параметров, и результаты испытаний выдаются на экран оператора в удобной для него форме. Оператор располагает необходи-мыми средствами влияния на ход испытаний. Все события, возникающие в ходе работы, фиксируются в протоколе испытаний. Система успешно ис-пользовалась в процессе подготовки и запуска обитаемого модуля МКС, спутников связи “Ямал”, грузовых и транспортных космических кораблей и т.п.

Abstract

The special software for computer-aided systems to test spacecrafts is shortly de-scribed. The test system is a multi computer software-hardware complex. The test procedure is represented as a computer program written in the special-purpose lan-guage “Dipol”. The language has the necessary concepts and means to tie the test process to the real time. In a test process the Dipol statements undergo the interpre-tation, proper commands are issued to the devices to test, due parameters are meas-ured, and the test results are displayed for the operator in easy-to-percept form. The operator possesses the necessary means to control the test process. All events aris-ing in the course of testing are registered in the log of testing. The system was used successfully in preparing and launch of the manned unit of the international space station, monitoring satellites “Yamal”, cargo space ships and transport space ships e. t. c.


Содержание

 

 

1. Введение. 4

2. Структура АИС.. 4

3. Язык испытаний. 5

3.1. Директивы общего назначения. 7

3.2. Директивы работы с ОК.. 7

3.3. Защитные операции. 8

3.4. Слежение за параметрами. 8

3.5. Другие возможности. 9

3.6. Редактор. 10

4. Проведение испытаний. 11

4.1. Сеанс работы.. 11

4.2. Экран. 11

4.3. Выполнение директив. 12

4.4. Надежность. 13

4.5. Средства отладки. 13

Заключение. 14

Литература. 14

 


1. Введение

В течение ряда лет коллектив сотрудников из отделов 7, 9 и 12 ИПМ им. М.В.Келдыша РАН по заказу РКК “ЭНЕРГИЯ” им. С.П.Королева разрабатывал общесистемное программное обеспечение (ОПО) для автоматизированных испытательных систем (АИС), предназначенных для проведения наземных испытаний космических аппаратов. С помощью АИС испытывались такие космические аппараты как служебный (обитаемый) модуль “Заря” международной космической станции (МКС), спутники мониторинга “Ямал-200” и “Ямал-300”, грузовой космический корабль, транспортный космический корабль, европейский космический корабль ATV. В связи с работами по европейскому кораблю ATV была сделана англоязычная версия АИС, которая, использовалась во Франции, Италии, Голландии.

2. Структура АИС

Рис.1

АИС представляет собою многомашинный комплекс на базе персональных компьютеров (ПК), соединенных между собою с помощью сети типа Ethernet с протоколом TCP-IP. Объектом контроля (ОК) является космический аппарат.

ЦПКУ – центральный ПК управления, с которого оператор проводит испытания. ЦПКУ соединен с объектом контроля по нескольким трактам. Тракт представляет собою персональный компьютер плюс технологическое оборудование. По трактам производится обмен информацией между объектом контроля и ЦПКУ. Основными действиями в этом обмене являются выдача команд на ОК и измерение значений параметров.

ПККИ – персональный компьютер команд и измерений. По тракту ПККИ производится выдача на объект контроля релейных, матричных, токовых команд и измерение значений аналоговых параметров.

ВПКУ - вспомогательный ПК управления.  По тракту ВПКУ в ЦПКУ поступает оперативная информация о сигнальных параметрах, которая также может отображаться и на экране ВПКУ.

НТКСИ – наземный технологический комплекс системы измерений. По тракту НТКСИ ведется систематический сбор телеметрической информации.

ССБВС – система связи с бортовой вычислительной системой (БВС). По тракту ССБВС осуществляется  прямая связь с памятью БВС. По нему можно выдавать команды, запрашивать значение параметров, читать из памяти БВС, записывать в память БВС, запускать программы в БВС и т.п.

 

В ПК АИС различаются следующие уровни программного обеспечения (ПО):

·               БПО – базовое ПО (операционная система, сетевые программы, и т.п.)

·               ОПО – общее ПО. Это – описываемая здесь система проведения испытаний. В каждом ПК имеется свое ОПО. В ЦПКУ это – ОПО ЦПКУ

·               СПО – специальное ПО. Это программы испытаний, написанные на языке ДИПОЛЬ.

3. Язык испытаний

Процесс испытаний описывается с помощью языка ДИПОЛЬ [1]. Основой языка является директива. С каждой директивой связан определенный набор действий, выполняемых в процессе испытаний. Существует две формы записи директив:

·                Строчная (команда оператора),

·                Табличная (используется при написании программ испытаний).

Строчная директива обычно позволяет выдать одну команду или запросить значение одного параметра. В табличной директиве можно выдать много команд  и запросить значения многих параметров по разным трактам, причем в одной директиве могут быть заданы и команды и параметры.

Директива состоит из названия и атрибутов. Атрибуты директивы соответствуют объектам манипуляции и могут быть внутренними и внешними.

К внешним объектам относятся:

·                команды

·                параметры

·               сообщения по цифровым каналам

·               программы ОК.

К внутренним объектам относятся:

·               Глобальные переменные

·               Локальные переменные

·               Глобальные секундомеры

·               Локальные секундомеры

·               Рабочие параметры разработчиков

·               Имена файлов

·               Индексы (имена) программ испытаний

·               Константы

·               D-параметры (макросы)

·               Метки

·               Обозначения вычислительных и логических операций

·               Тексты сообщений

В программах испытаний директива обычно задается в табличной форме. Примеры директив будут приведены позже.

ДИПОЛЬ является языком реального времени. Он позволяет привязать процесс испытаний к реальному времени: выдавать команды в заданное время, задерживать выполнение некоторых действий относительно некоторых событий. Для этого в язык введены такие понятия, как секундомеры:

·               глобальные – А, Б, В

·               локальные – Г, Д, Е (существуют только в конкретной программе испытаний)

·               рабочий  – Р

·               специальный – КП,  ведущий обратный отсчет времени (остаток времени до запуска КА).

В языке имеется два набора переменных - глобальные и локальные, имеющие предопределенные типы. Кроме того, испытатель может описать свои собственные переменные, которые будут сохраняться даже после завершения программы испытаний.

Директивы языка делятся на группы:

·               Директивы общего назначения

·               Директивы работы с объектом контроля

·               Директивы работы с группами точек (защитные операции)

·               Директивы слежения

·               Специальные директивы цифрового канала

·               Директивы работы с сообщениями цифрового канала

·               Диалоговые директивы

·               Отладочные директивы (директивы имитации).

3.1. Директивы общего назначения

К директивам общего назначения относятся директивы, управляющие общим ходом исполнения программы испытаний. Сюда входят такие директивы как вызов программы, выход из программы, различные сообщения, установка режимов работы, вычисления, директивы условного и безусловного перехода. Приведем примеры некоторых директив.

Для работы со временем используются директивы:

УСТСЕК А <время> – запустить секундомер А с заданным начальным значением (начальное значение может быть равно 0). После запуска секундомера в других директивах можно указать время начала работы директивы по секундомеру А.

УСТСЕК А ОТМЕН – сбросить секундомер А.

ПАУЗА <время> - приостанавливает выполнение программы испытаний на время, заданное параметром <время>.

 

Для выполнения некоторых действий на ОК вручную используется ДИРЕКТ <сообщение>. В сообщении указывается, что именно надо сделать вручную на ОК. По этой директиве программа останавливается. Оператор должен обеспечить выполнение указанных работ, а после их окончания продолжить выполнение программы.

 

Кроме того, для проверки правильности программы испытаний предназначена директива СИНКОНТР <имя программы>. По этой директиве производится синтаксический контроль заданной программы, включая и проверку правильности задания внешних объектов по соответствующим базам данных. Выполнение директив не производится.

 

3.2. Директивы работы с ОК

Основными действиями при испытаниях являются проверка того, что нужные параметры оказываются в допусках, а также выдача команд для управления объектом контроля. Команды и  параметры ОК задаются идентификаторами, в которых, как правило, закодировано их назначение. В языке такие параметры называются “внешними объектами” (ВО), поскольку они являются принадлежностью ОК. Для ВО разного вида имеются базы данных (БД), в которых перечислены идентификаторы и связанная с ними информация. Основными для работы с ОК являются директивы ВЫДАТЬ и ПРОВЕРКА. Директива ВЫДАТЬ выдает команду на ОК Директива ПРОВЕРКА запрашивает параметры с ОК и проводит допусковый контроль. Ниже приведен пример записи директивы ПРОВЕРКА в табличной форме

О

5*30A

ПРОВЕРКА

 

 

СТОП

 

 

 

ZN0DI_V1

R

10.0

50.0

 

 

 

ZN0DI_V1

U

25.0

 

 

 

 

ZN0DI_V1

V

100.0

 

 

 

 

ZN0DI_V1

I

LF1

LF2

 

 

Первая строка содержит символ О – признак начала директивы, время начала директивы 5 минут 30 сек. по секундомеру А и СТОП – реакцию на нештатное завершение. В остальных (дополнительных) строках задаются идентификаторы параметров, дополнительное указание (виз измерения),  значения нижнего и верхнего допусков. Значения допуски могут задаваться константами, местными параметрами (глобальными или локальными) или рабочими параметрами разработчика.

Основной смысл проверки состоит в определении состояния объекта контроля: находится ли он в удовлетворительном (ШТАТНОМ) состоянии или в неудовлетворительном (НЕШТАТНОЕ) состоянии. Этот факт фиксируется в системе, и он существенно влияет на ход процесса испытаний.

Если при выполнении директивы параметр окажется в пределах допуска, то считается, что директива завершилась ШТАТНО. В противном случае считается, что директива завершилась НЕШТАТНО, вследствие чего выполняется реакция, указанная  в первой строке (т.е. СТОП).

 

Кроме того, имеются директивы ЗАПРОС, ЧТЕНИЕ и ЗАПИСЬ параметра. (запись осуществляется, только если она допустима для данного параметра.), и директивы, вызывающие табло со списками параметров тракта ВПКУ для отображения на экране ВПКУ в отдельном окне.

3.3. Защитные операции

Защитные операции (ЗО) выполняются директивами ПЦЦ и ПРЦ.

ПЦЦ – проверка целостности цепей – задает последовательность точек. Последовательно измеряется электрическое сопротивление между 1-ой точкой и 2-ой, между 1-ой точкой и 3-ей, и т.д. Если очередное сопротивление окажется  больше указанного допуска, то считается, что целостность цепи нарушена, и директива завершилась НЕШТАТНО.

ПРЦ – проверка разобщенности цепей. В каждой цепи выбирается точка. Если сопротивление между любой парой точек оказывается меньше указанного допуска, то разобщенность цепей считается нарушенной, и директива завершилась НЕШТАТНО.

3.4. Слежение за параметрами.

Помимо разовых запросов значений параметров, которые, например, используются в директиве ПРОВЕРКА, в АИС имеется возможность непрерывного слежения за изменениями параметров с помощью директивы СЛЕДИТЬ. Пример директивы СЛЕДИТЬ (табличная форма):

 

О

 

СЛЕДИТЬ

 

 

СТОП

 

 

 

FA0C_1YM1

Ф

2.0

15.0

 

 

 

FD0A_10ГT1

Б

0

 

 

 

 

FD0A_12ГT1

Б

1

 

 

 

 

FA0C_2YM2

Ф

5.0

45.0

 

 

По этой директиве осуществляется постоянный опрос значений указанных параметров. Каждое полученное значение проверяется на допуски. Если параметр принимает значения  0, 1, то задается только один допуск, с которым производится сравнение на равенство.

Если при очередном измерении параметр вышел из допусков, то отрабатывается реакция, указанная в первой строке, и выдается сообщение, относящееся к данному параметру.

В качестве реакций используются:

·               СТОП – остановить испытания

·               СЛЕД – продолжить испытания

·               Имя программы испытаний, которая запускается при выходе из допусков.

В дальнейшем, если параметр войдет в допуски, то в ЦПКУ посылается соответствующее уведомление.

Организация опроса параметров зависит от имеющихся в ПК средств. В ССБВС и НТКСИ есть средства, обеспечивающие опрос. В ПККИ таких средств нет, поэтому опрос организуется программно. По тракту ВПКУ вся информация об изменении сигнальных параметров поступает в ЦПКУ, где и производится сравнение на допуск.

К слежению также относится интервальная проверка, реализуемая по директиве ИНТЕРВ. В директиве задаются параметры с допусками и интервал времени. В течение этого интервала ЦПКУ производит циклический опрос параметров и их проверку на допуск. Если параметр вошел в допуск, то он больше не опрашивается. Если все параметры вошли в допуск, то директива завершается до истечения интервала со штатным исходом. Если по завершении интервала не все параметры вошли в допуск, то директива завершается НЕШТАТНО.

3.5. Другие возможности

Перечислим еще некоторые возможности:

·               Синхронизация времени в ПК АИС.

·               Установление / разрыв связи по сети с отдельными ПК.

·               Запрос состояния ресурса. Устройства и приборы на космическом аппарате имеют ресурс работы по времени или по числу включений. Реальный расход ресурса подсчитывается, в основном, в ВПКУ. Состояние ресурса можно запросить с помощью соответствующей директивы (З_РЕСУРС).

3.6. Редактор

Для облегчения подготовки программ в табличной форме имеется специальный редактор. Он обеспечивает вывод на экран табличной формы, организует ввод в отдельные поля формы и переход от одного поля к другому. Из редактора можно войти в базу данных и выбрать в ней нужный идентификатор команды или параметра. Для ускорения работы и уменьшения ошибок идентификаторы копируются из БД прямо в программы. Для поиска идентификаторов в БД организован контекстный поиск по разным полям. С помощью редактора также организуется ввод паспорта программы с основными ее характеристиками, контрольное суммирование и организация списков программ.  Ниже на рис. 2 приведен пример окна редактора с программой испытаний.

 

Рис. 2.  Окно редактора СПО


4. Проведение испытаний

В ПК АИС различаются следующие уровни программного обеспечения:

БПО – базовое программное обеспечение (операционная система, сетевые программы);

ОПО – общее программное обеспечение (описывается в данном документе);

СПО – специальное программное обеспечение – это программы испытаний на языек ВИПОЛ.

4.1. Сеанс работы

Сеанс работы по проведению испытаний начинается с запуска ОПО ЦПКУ. Предполагается, что в соответствующие ПК нужные программы уже загружены.

После инициализации, установления связи с другими ПК и пр. на экране высвечивается информация о загрузке и выдается сообщение: “ОПО готово к работе”

Во время сеанса можно запускать программы испытаний, выполнять вручную отдельные директивы, просматривать базы данных и другую доступную информацию.

Заканчивается сеанс по директиве КСЕАНСА.

4.2. Экран

Структура главного окна ОПО ЦПКУ приведена на рис. 3. В заголовке окна находится название раздела испытаний и имя файла текущего протокола. Испытания делятся на отдельные разделы. Работа с разделами здесь не рассматриваются. Вверху окна находится строка основного меню и две инструментальные панели с кнопками. ОПО ЦПКУ может быть загружено в одном из двух режимов: рабочем и отладочном. В рабочем режиме вторая панель кнопок (так называемые отладочные кнопки) отсутствует. Она доступна и используется только в отладочном режиме. С кнопками связано выполнение самых разнообразных функций: просмотр баз данных, выдача наиболее употребительных команд оператора, просмотр протокола, настройка некоторых параметров ОПО, списки часто выдаваемых команд, и т.п.

Под кнопками в левой части окна расположена панель протокола, в который выводится информация о выполняемых директивах, а также информация, асинхронно поступающая из других ПК. Для директивы выдается ее номер в программе испытаний, московское время выполнения, название и содержательная информация, связанная с этой директивой.

Информация, выдаваемая в протокол, разделена на потоки, что позволяет блокировать выдачу отдельных потоков для того, чтобы оператор мог сосредоточить внимание на наиболее важной для него информации.

 

Рис. 3. Главное окно ОПО ЦПКУ.


Внизу главного окна расположена строка для ручного ввода директив (команд оператора). Некоторые директивы доступны для использования и в программах и в качестве команд оператора. Некоторые команды оператора в программах не используются, например, СРОСТ – срочный останов программы. При вводе команд оператора для каждого аргумента выдается подсказка с перечнем возможных вариантов.

В правой части окна расположены три панели:

·        Панель для отображения московской даты и времени, а также для отображения всех секундомеров. Если какой-то секундомер запущен, то выдается его текущее время.

·        Панель программ. В ней указываются имена всех запущенных, но незавершенных программ испытаний.

·        Панель, на которой отображаются состояния трактов и режимы работы ОПО ЦПКУ.

4.3. Выполнение директив

Директива выполняется путем интерпретации исходного текста программы. В составе ОПО ЦПКУ имеется блок интерпретации (БИНТ). Получив очередную директиву из программы или из командной строки, БИНТ передает ее транслятору, который анализирует директиву и переводит ее во внутреннее представление – в Диполь-код. Если в директиве встречаются внешние объекты, то производится обращение к соответствующим базам данных для получения дополнительной информации. Диполь-код передается модулю реализации директивы, который выдает необходимые запросы к соответствующим трактам и интерпретирует полученные от них ответы.

Метод интерпретации выбран потому, что он уменьшает влияние возможных изменений в БД.

4.4. Надежность

Для повышения надежности  АИС предусмотрен режим работы с запоминанием контрольных точек (КТ) и восстановлением с КТ. Контрольной точке соответствует набор файлов, в которых сохраняется состояние ОПО ЦПКУ.

В режиме сохранения для ЦПКУ используются два ПК – основной и резервный. В этих ПК выделяется место для КТ. После выполнения каждой директивы производится  сохранение памяти сначала в одном комплекте КТ (в основном ПК), а потом в другом (резервном). При такой записи в любой момент времени хотя бы один комплект КТ будет нормальным. Такая организация позволяет продолжить работу после сбоев или поломки ПК.

Если сломался основной ПК, то можно запустить ОПО ЦПКУ на резервном ПК с восстановлением из находящегося там комплекта КТ.

Если произошел сбой в основном ПК, то можно произвести перезагрузку операционной системы и запуск ОПО ЦПКУ с КТ в основном ПК.

В любом случае запуск с восстановлением из КТ должен производиться как можно быстрее, поскольку состояние ОК непрерывно меняется, и это изменение во время перезагрузки не отражается в ОПО ЦПКУ.

Аналогичные средства используются в других ПК АИС.

4.5. Средства отладки

Перед выходом на реальные испытания производится отладка программ испытаний без ОК. Для имитации состояния ОК и имитации отработки команд в ОК в ОПО ЦПКУ используются программы-имитаторы.

Кроме того, параметрам можно присвоить нужные значения с помощью директивы ЗНАЧ_ПАР. Это позволяет создавать конкретные ситуации, возникающие при испытаниях. С помощью кнопки <НЕШТАТ ВСЕ> можно задавать режимы нештатного и штатного завершения всех директив  ПРОВЕРКА, ИНТЕРВ. С помощью директивы ТОЧКИНЕН можно указать директивы программы, которые должны завершаться НЕШТАТНО. Аналогичным образом осуществляется приписывание значения ИСТИНА или ЛОЖЬ условиям, задаваемым в директивах ветвления ЕСЛИДА, ЕСЛИНЕТ, УСЛОВИЕ.

С помощью директивы  ЗАДЕРЖКИ каждому виду параметра или команды можно приписать время выполнения, соответствующее времени при работе с реальным объектом контроля. При выполнении программы эти времена отрабатываются имитаторами. Таким образом, при отладке программа будет выполняться в том же темпе, что и при реальных испытаниях.

Имитация слежения делается следующим образом. С помощью директивы ИМС можно пометить параметры, из числа стоящих на слежении. Каждому тракту приписана своя “горячая клавиша”. При нажатии такой клавиши для помеченных в данном тракте параметров имитируются асинхронные сообщения о входе значения параметра в допуски или о выходе значения параметра из допусков.

С целью отладки выполнение программы можно осуществлять в шаговом режиме.

При работе системы с имитаторами объекта контроля вся система оказывается размещенной в одном компьютере, что позволяет испытателям подготавливать свои программы испытаний за рабочими столами.

 

Заключение

В 2005 году на АИС был получен патент на изобретение № 2245825 с приоритетом от 3 ноября 2003 г.

В настоящее время ведется работа по обеспечению испытаний других изделий.

Литература

1.     «АИС. ОПО. Язык программирования испытаний. Описание языка. 351.01265-01 35 01»

2.     «АИС. ОПО ЦПКУ. Руководство оператора. 351.01275-01 34 01»

  1. «АИС. ОПО ЦПКУ. Универсальная часть. Программа и методика испытаний. 351.01275-02 51 01»