В.П.Воеводин, Е.В.Клименков, С.В.Комаров, Ю.В.Миличенко

ГНЦ РФ Институт физики высоких энергий, Протвино, Россия

Введение

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

Работа по созданию инструментальных средств графического отображения функциональных зависимостей между параметрами ускорителей была начата в рамках модернизации программно-аппаратного комплекса системы управления У-70[1]. В 1996 году была разработана и внедрена в эксплуатацию первая реализация консольной программы для отображения зависимостей (так называемая "Стандартная графика") [2]. Программа позволяла отображать одновременно до четырех функциональных зависимостей в виде графиков и диаграмм. При этом пользователь мог выбрать пару произвольных параметров, зависимость между которыми он хотел бы проследить.

Со временем были сформулированы новые требования, которым должна отвечать программа графического отображения (здесь перечислены только основные):

  1. Неограниченное программой число одновременно выводимых графиков.
  2. Построение нескольких графиков в одной координатной сетке (наложение графиков). Данное свойство позволило бы оператору сравнивать функциональные зависимости между собой.
  3. Возможность вывода графиков на печать.
  4. Возможность наблюдения зависимостей не только между текущими значениями параметров, но и изменений параметров на фоне предыдущих зависимостей.

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

Новая версия программы отличается от предыдущей новым пользовательским интерфейсом, а также существенно расширенным набором функциональных возможностей. Новая версия программы базируется на пакете XRT фирмы Sitraka Inc. (KL Group), который представляет собой набор компонентов пользовательского интерфейса (widgets), ориентированных на решение ряда специализированных задач, таких как построение графиков, их печать и т.д. [3]. Использование готовых компонентов позволило существенно ускорить и упростить процесс создания программы, позволив разработчику сосредоточиться на проблемах реализации функциональности, а также обеспечить высокую надежность программного продукта. В настоящее время консольная программа для отображения функциональных зависимостей работает на платформе Digital UNIX с X-Windows и OSF/Motif. Планируется адаптировать ее для платформы Linux.

Значения параметров ускорителя поступают в программу из БД ССУДА [4]. Структура данных жестко стандартизована, доступ к ним из программы осуществляется через библиотечные функции [5]. Пользователь должен выбрать пару параметров (один параметр откладывается по оси абсцисс, а другой – по оси ординат) и затем наблюдать функциональные зависимости между значениями этих параметров в реальном времени. Набор доступных для выбора параметров также хранится в таблицах ССУДА. Периодичность обновления графических зависимостей жестко привязана к циклам ускорителя.

Графический интерфейс программы состоит из двух основных компонентов: меню-навигатора и рабочей области. Каждая создаваемая пользователем функциональная зависимость (график) размещается на рабочем листе, который отображается в рабочей области (рис.1). Рабочая область может включать неограниченное число рабочих листов, на каждый из которых может быть выведено любое количество графиков. Единственным условием для этого служит наличие общей оси абсцисс для всех графиков, выводимых на одном листе (т.е. общего параметра, значения которого откладываются по оси абсцисс).

Лист и график имеют определенный набор атрибутов. Например, для листа можно задать тип шкалы (нормальная или логарифмическая), диапазоны и смещения по осям, вид координатной сетки и т.д. Для графика следует выбрать цвет, стиль и вид (гистограмма, линия, линия с реперными точками).

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

Требование о необходимости наблюдения за изменением функциональных зависимостей реализовано в следующих режимах отображения графиков: NORMAL, STORAGE (ERASE OFF) и COMPARE. В связи с этим введено понятие экземпляр графика или сэмпл. Это график, построенный по значениям параметров, которые получены в фиксированный момент времени в определенном цикле работы ускорителя. Предусмотрена возможность выбрать отдельный режим обновления для каждого графика:

  • NORMAL – стандартный режим обновления. Отображается только текущий экземпляр графика.
  • STORAGE (ERASE OFF) – режим обновления без удаления предыдущего экземпляра графика (накопительный). При достижении порогового числа накопленных экземпляров, программа самостоятельно переходит в режим отображения текущего экземпляра графика и графиков, построенных по минимальным и максимальным значениям параметров. Такой режим позволяет наблюдать диапазон изменения величин.
  • COMPARE – режим обновления без удаления самого первого экземпляра графика. Служит для визуального сравнения текущего экземпляра с самым первым (с момента начала наблюдения).

Помимо перечисленных программа реализует дополнительные функциональные возможности:

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

Ниже приводится ряд иллюстраций, полученных с экрана X-терминала, которые демонстрируют внешний вид консольной программы:

  1. Главное окно программы. Область слева – меню-навигатор со списком рабочих листов и графиков, расположенных в рабочей области (рис.2).
  2. Диалоговое окно создания/изменения рабочего листа: настройка атрибутов листа (рис.3). Окно открывается автоматически при создании нового графика на новом листе. В дальнейшем его можно открывать для настройки отдельных атрибутов рабочего листа.
  3. Диалоговое окно создания/изменения графика: выбор параметров ускорителя для построения функциональной зависимости (рис.4). Переход в это окно происходит автоматически при добавлении графика на рабочий лист.
  4. Диалоговое окно создания/изменения графика: настройка атрибутов графика (рис.5). Работа в этом окне – следующий этап в процессе создания нового графика. В дальнейшем оно используется для изменения атрибутов графика.
  5. Образец вывода на печать (рис.6).

Список литературы

[1] Komarov V.V., Milichenko Y.V., Voevodin V.P., Yurpalov V.D. Draft Design Study for the Control System of the U-70 Complex — IHEP&CERN, CERN internal note: PS/CO/Note 96-26.

[2] Воеводин В.П., Кузьменко В.Г., Щербаков С.Е. Пользовательский интерфейс в новой системе управления ускорительного комплекса У-70 — Труды XVI Совещания по ускорителям заряженных частиц, Протвино, 1999, т.1, стр.141.

[3] XRT/graph, XRT/gear, XRT/field for Motif. Programmer's Guide and Reference Manual. - 1999, Part No: KLGM30

[4] Воеводин В.П. ССУДА – Специализированная Система Управления распределенными Данными реального времени — Труды XVI Совещания по ускорителям заряженных частиц, Протвино, 1999, т.1, стр.135.

[5] Воеводин В.П., Клименков Е.В. Описания основных объектов Системы Управления комплекса У-70 — Труды XVII Совещания по ускорителям заряженных частиц, Протвино, 2000, т.1, стр.267.