next up previous contents
Next: Данные экспериментальных наблюдений Up: Программное обеспечение Previous: Программа дистанционного управления радиометрами

Пакет программ визуализации

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

1.
Отображаются только регистрируемые каналы.
2.
Экран разбивается на равные блоки, число которых 1,2,3,4,6 или 8.
3.
Если блоков больше четырех, то экран делится дополнительно на два субэкрана по горизонтали, в противном случае только по вертикали.
4.
Внизу экрана (или субэкрана) отображается цифровая шкала ``звездного" времени.
5.
Справа в каждом блоке выводится аналоговая шкала абсолютного уровня.
6.
При необходимости в каждом блоке отображается и цифровое текущее значение.
7.
Вывод значений сигналов производится один раз в секунду, при этом отображается вектор-столбец между минимальным и максимальными значениями сигнала в этот секундный интервал.
8.
Каждый выводимый вектор помещается правее предыдущего на один элемент изображения.
9.
При достижении правой границы блока весь ``график" смещается по горизонтали на половину размера соответствующего блока, при этом переразмечается и шкала времени.
10.
При достижении верхней границы блока из значений вектора данных вычитается высота блока, при достижении нижней - добавляется.
Такой способ отображения данных в реальном времени сначала был реализован с помощью КАМАК-модулей ``ДИНАМО", затем с появлением высококачественных графических мониторов разработаны программы и для них. Для отображения на SVGA-мониторе в качестве инструментального средства для написания программы визуализации - vis - использовалась стандартная SVGA-библиотека. Для X-терминала и программы xvis - библиотека X-Toolkit (Доценко и др. 1994).

Для проведения удаленных наблюдений комплект программ визуализации дополнен сетевыми версиями указанных программ, алгоритм работы которых подробно описан в разделе 1.4.

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


 


 
Table: Основные функции ioctl() драйвера КАМАК
Функция Имя спецфайла Значение
     
C_OP_RD camac чтение из модуля КАМАК с выполнением NAF
C_OP_WR camac, camac6 запись в модуль КАМАК с выполнением NAF
C_OP_ZCI camac общий сброс в крейте КАМАК
C_OP_STAT camac чтение Q-статуса
C_OP_DETECT camac, camac6 определение работоспособности КАМАК
C_OP_REG camac чтение управляющих регистров КАМАК
FS_GET_DATA camac1 чтение структуры статуса драйвера
FS_SET_DATA camac1 запись в структуру статуса драйвера
FS_INTR_ENABLE camac1 разрешение прерываний
FS_INTR_DISABL camac1 запрещение прерываний
FS_SET_TIME camac1 установка ``звездного" времени
FS_GET_TIME camac1 чтение ``звездного" времени
FS_GET_FLAG camac1 чтение флагов состояний драйвера
FS_GET_ADDR camac1 чтение значения адреса буфера данных
FS_SET_VIZBLK camac1 установка размера блока данных визуализации
FS_SET_VFLAG camac1 установка флагов визуализации
FS_GET_VFLAG camac1 чтение флагов физуализации
FS_SET_CALIB camac1 запись значений калибровки
FS_GET_CALIB camac1 чтение значений калибровки
CS_GET_DATA camac1, camac5 чтение структуры состояния каретки
CS_SET_DATA camac5 загрузка данных для управления кареткой
CS_GET_FLAG camac1, camac5 чтение флагов состояния каретки
CS_BEGIN camac5 пуск начальной установки каретки
CS_STOP camac5 экстренный останов каретки
CS_OFF_POWER camac5 выключение питания привода каретки
CS_POINT camac5 установка каретки по данным загрузки




  
Figure: Экран рабочей станции во время наблюдения.
\begin{figure}\centering
\hspace{1cm}\vbox{\psfig{figure=screen.ps,width=14cm,height=10cm} }
\end{figure}


next up previous contents
Next: Данные экспериментальных наблюдений Up: Программное обеспечение Previous: Программа дистанционного управления радиометрами
Vladimir Chernenkov
2000-10-09