Научная статья на тему 'Распределенная система управления бигармоническим лазерным спектрометром'

Распределенная система управления бигармоническим лазерным спектрометром Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
113
26
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
распределенные системы управления / бигармонический лазерный спектрометр / поддержка эксперимента

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Соловьев Борис Александрович, Калайда Владимир Тимофеевич, Лопасов Владимир Павлович

Предлагается способ реализации распределенной системы управления экспериментальной установкой «Бигармонический лазерный спектрометр» на основе методологии комплекса «Базис».

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Соловьев Борис Александрович, Калайда Владимир Тимофеевич, Лопасов Владимир Павлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Распределенная система управления бигармоническим лазерным спектрометром»

УДК 004.75

Б.А. Соловьев, В.Т. Калайда, В.П. Лопасов

Распределенная система управления бигармоническим лазерным спектрометром

Предлагается способ реализации распределенной системы управления экспериментальной установкой «Бигармонический лазерный спектрометр» на основе методологии комплекса «Базис».

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

Введение

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

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

Еще одна проблема, с которой сталкиваются программисты экспериментальных установок, - низкие вычислительные мощности компьютеров, используемых экспериментаторами в «полевых» условиях. Как правило, для работы с аппаратурой большие вычислительные мощности не требуются. В то же время при проведении сложного эксперимента часто текущая ситуация характеризуется большим количеством факторов, зависимости между которыми могут быть неоднозначными, что приводит к необходимости использования больших вычислительных ресурсов при анализе результата измерений. В этом случае программная система экспериментальной установки должна в режиме реального времени провести анализ ситуации, принять решение и выдать управление на исполнительные механизмы системы. Как следствие, возникает необходимость объединения имеющихся вычислительных мощностей в локальную сеть с размещением наиболее «простых» задач на более «слабых» компьютерах, а более сложных, соответственно, на более мощных [2].

Подавляющее большинство таких программных систем опираются на технологию «клиент-сервер». Сервер реализует набор служб. Для того чтобы клиент мог воспользоваться этими службами, ему необходимо подключиться к серверу и сделать соответствующий запрос. Таким образом, система работает в режиме «запрос-ответ». Для того чтобы клиент смог сделать корректный запрос, а сервер адекватно на него отреагировать, необходимо знать интерфейс сервера, который описывает его методы, параметры и правила вызова. Изменение функциональности сервера приводит к изменению его интерфейсов, что влечет за собой необходимость перестройки приложений, использующих «старые» интерфейсы, и изменение кода клиентов [3].

Целью настоящей работы является создание автоматизированной системы «Бигармонический лазерный спектрометр» (BLS), работающей в режиме «источник-приемник» под управлением модернизированного комплекса построения распределенных систем «Базис».

Комплекс построения распределенной системы BLS.

Как известно [1], решения на базе модели «клиент-сервер» могут быть запутанными и приводить к потере производительности для систем с большим количеством одновременно взаимодействующих между собой компонентов. При этом для системы, представ-

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

Рис. 1. Обобщенная схема управления экспериментальной установкой

Такие методы взаимодействия эффективно применены в ряде программных систем. Например, в DirectShow [4], где для обработки мультимедиапотоков используется понятие фильтров, каждый из которых может быть источником (source), преобразователем (transform) и «приемником» (rendering), а процесс взаимодействия представлен в виде потоков данных между фильтрами. В получившей широкое распространение платформе графической разработки LabView [5] также, используется описанный выше метод представления задачи в виде графа последовательно взаимодействующих компонентов.

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

Изложенные идеи получили развитие и реализацию в программном комплексе «Базис» [6]. Строительным блоком системы под управлением комплекса «Базис» является прикладной объект, который представляет собой программный компонент, реализующий элементарное, в понятиях системы, действие. Прикладной объект, может иметь входы для обрабатываемых потоков данных и выходы для генерации новых или изменения входящих потоков. В зависимости от наличия входов или выходов объекты «Базис» делятся на следующие типы:

- генератор - объект, имеющий выходы;

- приемник - объект, имеющий входы;

- комплексный объект - объект, у которого есть и входы, и выходы.

При создании прикладного объекта ему сообщается лишь требуемые интенсивности потоков его входов и выходов. Если объект игнорирует эти требования, «Базис» автоматически ограничивает выходной поток исходя из требований приемников. Информация о том, куда направляются его выходные данные и где были сгенерированы входные, доступна только пользователю. Это позволяет использовать объект в любом контексте, интересующем пользователя, независимо от разработчика объекта.

За организацию жизненного цикла объекта и передачу потоков данных к месту назначения отвечает объект «Базис» под названием «шина объектов». Шина объектов присутствует в единственном экземпляре на каждом компьютере, включенном в инфраструктуру «Базис». Для каждого объекта шина создает отдельный программный поток управления и доставки данных. Таким образом, при отказе или «зависании» одного из прикладных объектов это не приводит к замедлению или отказу других подсистем, не опирающихся на работу «сбойного» объекта.

При передаче данных от генератора к приемнику необходимо создавать как можно меньше копий данных. При взаимодействии объектов, расположенных на одном компьютере, шина использует механизм планируемых в память файлов. Это позволяет предавать данные всем локальным объектам, используя всего одну операцию копирования. В случае сетевого взаимодействия возможны два варианта: 1) широковещательная передача всем шинам «Базис» без гарантии доставки и 2) передача точка-точка с помощью DCOM-вызовов и гарантией доставки.

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

В процессе функционирования системы под управлением «Базис» пользователь видит только окна пользовательского интерфейса прикладных объектов, выбранных им в качестве главных. Для добавления объектов, запуска или останова отдельных подсистем и вызова пользовательских интерфейсов других объектов пользователь может прибегать к конфигуратору «Базис», внешний вид которого показан на рис. 2.

Рис. 2. Окно конфигуратора «Базис»

Конфигуратор позволяет производить все операции над системой в целом, подсистемами, отдельными шинами «Базис» и объектами. Для создания новой подсистемы достаточно «перетащить» в окно графа интересующие пользователя объекты, а затем, пользуясь мышью, соединить их выходы и входы.

Компоненты системы управления БЬ8

Бигармонический лазерный спектрометр [7] создан с целью проверки гипотезы синтеза оптически активной диамагнитной среды, способной генерировать излучение с аномальными магнитооптическими свойствами [8]. Структурная схема BLS приведена на рис. 3.

Измеритель энергии и широкополосный спектрометр в схеме BLS размещаются в блоке регистрации. В блоке бигармонический лазерный излучатель - накачка (BLI) располагаются два шаговых двигателя для управления устройством изменения длин волн первого и второго лазера (Х1 и Х2). Цикл измерения инициируется синхроимпульсом, запускающим лазеры и систему регистрации данных измерителя энергий и спектрометра.

Рис. 3. Схема экспериментальной установки

Для построения системы автоматизации экспериментальной установки были разработаны следующие модули «Базис»:

- BLS.WL - модуль регистрации длины волны излучения;

- BLS.U — модуль регистрации энергии излучения;

- BLS.Tau - модуль регистрации значения длины импульса;

- BLS.SG - модуль регистрации излучения с широкополосного спектрометра;

- BLS.SE - модуль управления шаговым двигателем;

- BLS.BLSMain - модуль отображения, анализа и накопления данных для синтеза алгоритма управления шаговыми двигателями.

В систему автоматизации BLS входят: подсистема снятия данных с датчиков ADC, подсистема анализа (Analysis) и подсистема управления двигателями Control. На рис. 4 показан граф подсистемы BLS. На графе отображены следующие объекты:

- BLS.ADC.U1, BLS.ADC.U2, BLS.ADC.Ux - объекты регистрации энергии начального и результирующего излучений;

- BLS.ADC.lambdal, BLS.ADC.lambda2, BLS.ADC.lambdax - объекты регистрации длин волн начального и результирующего излучений;

- BLS.ADC.Tau - объект регистрации длины импульса лазеров накачки;

- BLS.ADC.SG - объект снятия спектра результирующего излучения с широкополосного спектрометра;

- BLS.Control.Enginel, BLS.Control.Engine2 - объекты управления шаговыми двигателями для изменения длин волн лазеров накачки Ai и A2;

- BLS.Analysis.Main - объект отображения данных, анализа и управления.

Рис. 4. Подсистема управления бигармоническим лазерным спектрометром

В настоящее время управление двигателями производится ручным способом через пользовательские интерфейсы объектов BLS.ControLEngme1 и BLS.ControLEngme2. Объект BLS.Analysis.Main является специфичным для данного BLS; в дальнейшем в BLS будет внесен алгоритм автоматического управления двигателями для получения эффекта

синтеза оптически активной диамагнитной среды. Остальные объекты могут легко применяться как по отдельности, так и во взаимосвязи в других решениях на базе «Базис».

Заключение

Предложенная и разработанная система управления BLS на основе комплекса «Базис» позволяет вносить в нее изменения, а также распределять нагрузку между компьютерами, вовлеченными в эксперимент на любом его этапе.

Конфигуратор комплекса «Базис» позволяет управлять системой как на уровне отдельных объектов «Базис», так и на уровне подсистем и отдельных компьютеров. Для создания новой или изменения существующих подсистем пользователю достаточно произвести несколько манипуляций мышью над объектами «Базис» как над частями конструктора. В этом случае нет необходимости обращаться к разработчику системы или обладать какими-либо знаниями в области программирования.

Разработанные компоненты «Базис» для BLS позволяют адаптивно осуществлять регистрацию параметров сигнала и процедуру управления условиями эксперимента, а также изменять структуру и функции системы управления, не останавливая эксперимента.

Литература

1. Цимбал А.А. Технологии создания распределенных систем. Для профессионалов / А.А. Цимбал, М.Л. Аншина. - СПб.: Питер, 2003. - 576 с.

2. Втюрин В.А. Автоматизированные системы управления технологическими процессами. Основы АСУТП: учеб. пособие для студентов специальности 220301 «Автоматизация технологических процессов и производств». - СПб: СПбГЛТА, 2006. - 152 с.

3. Танненбаум Э. Распределенные системы. Принципы и парадигмы / Э. Танненбаум, М. ван Стен. - СПб.: Питер, 2003. - 877 с.

4. Microsoft DirectShow [Электронный ресурс]. - Режим доступа: http://msdn.microsoft.com/ru-ru/library/ms783323(en-us,VS.85).aspx, свободный (дата обращения: 24.05.2010).

5. NI LabVIEW - graphical programming environment [Электронный ресурс]. - Режим доступа: http://www.ni.com/labview/optin/, свободный (дата обращения: 24.05.2010).

6. Соловьев Б.А. Базовое программное обеспечение интегрированных распределенных систем безопасности / Б.А. Соловьев, В.Т. Калайда // Информационные технологии (Москва). - 2006. - № 1. - С. 43-49.

7. Куликов Г.Э. Автоматизированная система сбора и обработки данных - ключевой блок бигармонического лазерного спектрометра / Г.Э. Куликов, В.П. Лопасов // Оптика атмосферы и океана. - 2002. - Т. 15, № 11. - С. 990.

8. Пат. 2320979 Российская Федерация, МПК51 GO1N 21/00, H01S 3/094. Способ синтеза оптически активной диамагнитной среды / Лопасов В.П.; заявитель и патентообладатель. №2006110006/28; заявл.28.032006; опубл. 27.03.2008. - Бюл. №9. - 13 с. ил. 9.

Соловьев Борис Александрович

Канд. техн. наук, с. н. с. Института оптики атмосферы СО РАН, Томск Тел.: (3822) 49-22-42 Эл. почта: sol@iao.ru

Калайда Владимир Тимофеевич

Д-р техн. наук, профессор каф. автоматизированных систем управления ТУСУРа Тел.: (382-2) 49-22-42 Эл. почта: kvt@iao.ru

Лопасов Владимир Павлович

Д-р физ.-мат. наук, профессор, в.н.с. Института оптики атмосферы СО РАН, г. Томск Тел.: (382-2) 49-17-16 Эл. почта: lopas@iao.ru

Soloviov B.A., Kalayda V.T., Lopasov V.P.

Distributed control system for biharmonic laser spectrometer

A method of implementing a distributed control system of experimental installation "biharmonic laser spectrometer" based on the methodology of the «Basis» software complex is proposed. Keywords: distributed control systems, biharmonic laser spectrometer, the support of the experiment.

i Надоели баннеры? Вы всегда можете отключить рекламу.