Федеральное агентство по атомной энергии фгуп «цнииатоминформ» центр «атом-инновация» материалы инновационного форума росатома июнь, 2007 год москва партнеры форума

Вид материалаДокументы

Содержание


СИСТЕМЫ УПРАВЛЕНИЯ И КОНТРОЛЯ Опыт разработки тестового программного обеспечения ПТС и ПТК СВБУ АСУ ТП АЭС
Подобный материал:
1   ...   40   41   42   43   44   45   46   47   ...   60

СИСТЕМЫ УПРАВЛЕНИЯ И КОНТРОЛЯ

Опыт разработки тестового программного обеспечения ПТС и ПТК СВБУ АСУ ТП АЭС


Миронычев С.Б., Лепехин И.Ю., ФГУП «ФНПЦ НИИ измерительных систем им. Ю.Е.Седакова»

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

ПТК СВБУ представляет собой совокупность программно-технических средств (ПТС) и базового программного обеспечения, являющихся основой (платформой) системы верхнего блочного уровня, обеспечивающих реализацию функций (задач) СВБУ. ПТК СВБУ состоит из трех однотипных структур, функционирующих по однотипным алгоритмам обмена информацией. Каждая структура включает в себя набор рабочих станций (РС), сгруппированных в АРМы, основной и резервный серверы, которые объединяются в сегменты ЛВС посредством основного и резервного коммутаторов.

Большинство ТС и программных средств, включая операционную систему, используемых для построения ПТК СВБУ АСУ ТП АЭС, поставляются с встроенными SNMP-агентами, поддерживающими функции сбора и предоставления параметров, отражающих состояние ТС или программного средства, что позволяет реализовать тестирование и самодиагностику программно-технического комплекса на основе протокола SNMP.

Тестирование такого рода программно-технических комплексов всегда осложнено многочисленными связями между отдельными его частями, поэтому при тестировании используется двухэтапный подход: проверка характеристик отдельных программно-технических средств (ПТС); тестирование комплексных характеристик (взаимодействие программно-технических средств и решение комплексных задач).

Основные программно-технические средства. Программно-технические комплексы для управления энергоблоками атомных станций могут состоять (в зависимости от реализации) из следующих типовых программно-технических средств:
  • рабочие станции РС-2И и РС-СБИ из состава ПТК СВБУ предназначены для организации АРМ;
  • серверы УСУ-4И из состава ПТК СВБУ предназначены для обеспечения информационного взаимодействия с РС и шлюзами, объединенными в ЛВС, в качестве центра приема, обработки, хранения и выдачи информации;
  • устройство телекоммуникационное (УТК) предназначено для объединения функционально связанных информационных сегментов (узлов) ПТК СВБУ в единую ЛВС;
  • архиватор событий (АРС) предназначен для записи, долговременного хранения и обеспечения архивированными данными абонентов сети СВБУ; приема сигналов точного времени со спутниковой системы позиционирования (GPS) и синхронизации абонентов сети СВБУ по протоколу NTP;
  • устройство документирования событий (УДС) предназначено для документирования данных (протоколов, отчетов) абонентов сети ПТК СВБУ;
  • устройство маршрутизации информации (УМИ) с установленным ПО реализует правила управления доступом между абонентами ЛВС СВБУ, путем пропуска одних сетевых пакетов и блокирования других.

Назначение и структура ТПО. Назначением ТПО является обеспечение проверок характеристик ПТС и ПТК при проведении предварительных, приемо-сдаточных испытании на заводе-изготовителе, а также при проведении автономных испытаний и регламентных работ на объекте заказчика.

В соответствии с составом ПТС и программно-технического комплекса используется следующий набор тестового программного обеспечения: тестовое программное обеспечение для проверки каждого программно-технического средства в отдельности; комплексное тестовое программное обеспечение.

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

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

Тест устройства серверного включает в себя: тест оборудования системного блока; тест источника бесперебойного питания; тест блока контроля шкафа; тест сетевых интерфейсов.

Тест устройства телекоммуникационного включает в себя: тест оптического коммутатора; тест источника бесперебойного питания; тест блока контроля шкафа. Тест архиватора с таймсервером включает в себя: тест архиватора; тест таймсервера; тест источника бесперебойного питания; тест блока контроля шкафа. Тест принтера включает в себя: тест сетевого интерфейса; тест вывода информации на твёрдые носители. Тест устройства маршрутизации информации включает в себя: тест физических каналов связи; тест блока контроля шкафа; тест источника бесперебойного питания; тест режима межсетевого экрана.

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

Принципы реализации ТПО. В результате анализа использования ТПО при проведении приемо-сдаточных испытаний ПТС и ПТК СВБУ для проекта «Бушер» были выявлены следующие недостатки: персонал, проводящий проверки с использованием ТПО, должен иметь достаточно высокий уровень подготовки, знание СПО и вычислительных сетей; большая трудоемкость модификации исходного кода ТПО при замене или добавлении сменных модулей из состава ПТС, при изменении конфигурации ПТК; зависимость ТПО от используемой версии системного программного обеспечения; различный интерфейс пользователя ТПО для тестирования ПТС.

При реализации ТПО для проекта «Куданкулам» были опробованы и использованы следующие решения, позволяющие устранить вышеуказанные недостатки: для облегчения работы эксплуатационного персонала, и минимизации ошибочных действий при проведении проверок был разработан единый развитый графический интерфейс; для организации единого графического пользовательского интерфейса тестовая программа была структурно разделена на клиентскую и серверные части; клиентская часть размещается на отдельной ПЭВМ и предоставляет пользователю графический интерфейс; серверные части при проведении проверок выполняются на ПТС и осуществляют его непосредственное тестирование; взаимодействие клиентской и серверных частей осуществляется через ЛВС.

Для минимизации зависимости ТПО от используемого СПО в программе были выделены части зависящие от СПО: клиентская часть реализована полностью независимой от используемого СПО, путем применения кросс-платформенной графической библиотеки для разработки пользовательского интерфейса и платформо-независимых функции сетевого взаимодействия; серверная часть реализована частично зависимой от СПО, для чего она программно разделена на две части. Первая часть обеспечивает взаимодействие клиента и сервера и использует платформо-независимые функции сетевого взаимодействия. Вторая часть осуществляет непосредственное тестирование и зависит от используемого СПО.

Для минимизации вносимых в тестовую программу изменений при удалении, добавлении или изменении ПТС: выделены различные по функциональности тесты. Различными по функциональности тестами являются: тест оборудования системного блока, тест источника бесперебойного питания, тест блока контроля шкафа, тест видеомонитора, тест клавиатуры и указательных устройств, тест сетевых интерфейсов, тест оптического коммутатора, тест архиватора, тест таймсервера, тест принтера; реализовано выполнение этих тестов в программе и предусмотрен гибкий механизм настройки состава тестов для каждого ПТС и состава тестируемых ПТС (обеспечивает минимум изменений при удалении ПТС или изменение состава ПТС (удаление теста или добавление существующего теста)); программный код организован таким образом, чтобы внесение в тестовую программу нового теста не требовало изменения уже готовых частей программы, а только добавление нового кода, т.е. максимально уменьшены внутренние зависимости между отдельными частями программы (обеспечивает добавление ПТС или изменение состава ПТС (добавление нового теста)).

Используемые методы и технологии. В качестве основной идеи при разделении программы на клиентскую и серверную части была взята концепция сетевого приложения клиент-сервер. Клиент-серверная технология – это стиль работы приложений, где клиентский процесс запрашивает обслуживание у процесса сервера. Проще говоря, сервер – это программа, предоставляющая доступ к каким-либо услугам, например к электронной почте, файлам, ftp, web или данным.

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

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

Функции клиента: предоставление графического пользовательского интерфейса; запрос у сервера параметров ПТС или выполнения какого-либо теста; прием от сервера и отображение параметров устройств или результата выполнения теста.

Функции сервера: прием запросов на определение параметров ПТС или выполнения какого-либо теста; определение параметров ПТС или выполнение какого-либо теста; отправка клиенту значений параметров ПТС или результата выполнения теста.

Взаимодействие клиента и сервера осуществляется через сеть Ethernet. При этом на программном уровне для сетевого взаимодействия использовался набор функций Berkeley.

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

Для организации графического пользовательского интерфейса, не зависящего от СПО, использовалась графическая библиотека Qt. Qt – это графическая библиотека C++, предназначенная для создания графических интерфейсов пользователя. Qt является полностью объектно-ориентированной библиотекой, позволяющей разрабатывать хорошо наращиваемые программы и использовать принципы модульного программирования. В состав библиотеки входят как классы графических примитивов (например, метка, поле ввода, кнопка и т.п.), так и классы, предназначенные для организации различных структур хранения данных (например, списковых), работы с файлами, сетевого взаимодействия и многого другого. Она поддерживает огромнейшее количество платформ, таких как Windows 95/98/NT/2000, Linux, Sun Solaris, HP-UX, Digital Unix, IBM AIX, SGI IRIX, MAC OS X и многие другие.

Так как выбранная графическая библиотека – это библиотека C++, то для разработки клиентской части использован язык C++.

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

Тестовая программа написана с использованием методов объектно-ориентированного программирования (ООП). ООП позволяет разложить задачу на подгруппы взаимодействующих частей и преобразовать эти подгруппы в единицы, называемые объектами. Типы данных объектов называются классами. Описание классов производится в заголовочных файлах, а реализация классов в исходных файлах. ООП позволяет уменьшить внутренние зависимости в программе и обеспечить более простую модернизацию программы.

В результате разработки получены следующие результаты. Разработано тестовое программное обеспечение для тестирования сложных программно-технических комплексов, лишенное указанных недостатков ТПО для ПТК СВБУ АЭС «Бушер» и характеризующееся:
  • развитым пользовательским графическим интерфейсом;
  • простотой внесения изменений в настройки ТПО при изменениях в конфигурации ПТС и ПТК;
  • минимальной зависимостью от используемого СПО;
  • возможностью использования ТПО КПТС для проведения проверок различных по структуре и составу ПТК.

Перспективами совершенствования тестового программного обеспечения является интеграция с современными системами СУБД (MS SQL, MySQL, PostgreSQL).