Научная статья на тему 'Автоматизированная система сбора данных физического эксперимента'

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хоченков А.Е., Галиаскаров Э.Г.

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

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

1. Иан Грэхем. Объектно-ориентированные методы. Принципы и практика = Object-Oriented Methods: Principles & Practice. - 3-е изд. - М.: «Вильямс», 2004.

2. Гради Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. 2-е изд. / Пер. с англ. - М.:"Издательство Бином", СПб:"Невский диалект", 1998 г.

3. http://lib.custis.ru/YAML

4. http://www.seobuilding.ru/wiki/Python

5. http://www.intuit.ru/studies/courses/71/71/info

УДК 004.413

АВТОМАТИЗИРОВАННАЯ СИСТЕМА СБОРА ДАННЫХ ФИЗИЧЕСКОГО ЭКСПЕРИМЕНТА

Хоченков Алексей Евгеньевич, студент, Ивановский государственный химико-технологический университет, Россия, Иваново, alexkhochenkov@gmail.com Галиаскаров Эдуард Геннадьевич, к.х.н., доцент, доцент, Ивановский государственный химикотехнологический университет, Россия, Иваново, galiaskarov@isuct.ru

Введение

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

Выполнение любого физического эксперимента укладывается в следующие этапы:

• разработка методики эксперимента;

• сбор данных, запись их на носители, первичная обработка данных;

• вторичная обработка данных, включающая математическую обработку полученных результатов и оценку погрешности;

• анализ результатов.

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

Только представьте себе, что в XXI веке исследователь получает результат эксперимента в виде графика на ленте, постоянно делает на ней пометки о значениях диапазона измерения, показаниях вольтметров, численных значениях выдаваемой мощности нагревательных элементов. Ну а после садится за обработку полученных значений, вычитает из них фон прибора [1], рассчитывает термодинамические функции и константы. Сравнимо с набором текста не при помощи современных текстовых редакторов, а на пишущей машинке; кому-то может быть и нравится, но не практично.

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

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

57

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

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

Что такое масс-спектрометрия?

Масс-спектрометрия - метод определения химического, фазового состава и молекулярной структуры вещества, основанный на регистрации спектра масс ионов, образованных в результате ионизации атомов и (или) молекул пробы [2].

Масс-спектрометр - прибор, разделяющий с помощью электрических и магнитных полей пучки заряженных частиц (обычно ионов) с разным отношением массы частицы к её заряду [3].

Анализ вещества методом масс-спектрометрии упрощенно можно представить так: в эффузионную камеру загружается исследуемое вещество, которое нагревается вместе с камерой до определённой температуры [4]. При этом регистрируется поток вещества, истекающий из эффузионного отверстия. Первоначально проводится оценка зависимости интенсивности от массы и поиска т.н. пиков - максимального отклонения интенсивности от нулевого значения при константном значении температуры. Выбирается и фиксируется значение массы. Затем происходит анализ зависимости интенсивности от температуры, при выбранном значении массы. На основе этих зависимостей и делается вывод о качественном и количественном составе вещества. Экспериментальные данные представляют собой массивы зависимостей, получаемые с измерителей.

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

Проблемы и их решение

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

58

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

- в случае расширения или изменения каких-либо частей аппаратного обеспечения ПО не пришлось бы переписывать заново, и

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

Рис. 2 - "Уровни" приложения

Поэтому за основу была взята многослойная архитектура (рис. 2), подобная архитектурному решению Model-View-Controller, с изменениями, наложенными средой разработки.

59

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

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

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

К примеру, рассмотрим работу уровней нашей архитектуры при взаимодействии с измерителями. Получится, что уровень доступа к данным знает, КАК отправить сообщение, чтобы получить ответ, а уровень бизнес-логики знает, КАКИМ именно должно быть содержание у этого сообщения. Последний слой в иерархии не содержит никакой логики, а просто хранит структуру тех объектов-сущностей, которыми мы манипулируем в программе; уровень dto (data transfer object) знает, КАКИМИ сущностями оперирует приложение внутри себя. При этом сущности data transfer object создаются при помощи простых фабрик, что позволяет легко понять с какого измерителя к нам «приходит» то или иное значение свойства.

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

Если рассмотреть случай с пикоамперметром, принимающим данные с одного канала, и мультиконвертером, обслуживающим другие три, на уровне бизнес-логики, то его можно проиллюстрировать следующей диаграммой классов (рис. 3):

Рис. 3 - Некоторые классы уровня бизнес-логики

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

60

данные. А класс «Фабрика процессов» управляет (запускает или останавливает) процессами бизнес-логики.

Рис. 4 - Классы уровня доступа к данным

Уровень доступа к данным содержит классы (рис. 4), общающиеся непосредственно с интерфейсами системы - портами, получающими значения с первичных преобразователей, файловой системой и СУБД. Терминалы портов посылают по предварительно открытым каналам предопределенные переговорщиками пикоамперметра и мультиконвертера сообщения и получают ответ от порта, никак его при этом не изменяя. А переговорщики этого уровня с файлами и БД выполняют простейшие операции записи/чтения из файла при помощи стандартных классов пространства имен System.IO.FileStream и выполняют простейшие SQL-запросы к базе данных на чтение и запись массива данных.

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

Выводы

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

61

Рис. 5 - Диаграмма последовательности обмена сообщениями между объектами приложения при

чтении данных в реальном времени

Литература

1. Зенкевич И.Г., Иоффе Б.В. Интерпретация масс-спектров органических соединений. Л.: Химия, 1986. 176 с.

2. Г.И. Рамендик. Масс-спектрометрия // Горная энциклопедия. Т.3, 1987 - с. 266 - 267

3. А.В. Дубровин, Г.И. Косоуров. Масс-спектрометр // Физический энциклопедический словарь. Т.3, 1963 - с. 138-146

4. Сидоров, Л. Н. Масс-спектральные термодинамические исследования / Л. Н. Сидоров, М. В. Коробов, Л. В. Журавлева. - М.: Изд-во Моск. ун-та, - 1985 г. - 208c.

62

УДК 004.41

ТЕХНОЛОГИЯ РАЗРАБОТКИ СИСТЕМЫ АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ «NETWORK LAB»

Прилепко Максим Анатольевич, Омский государственный технический университет, Россия,

Омск, Zeitgeist 89@mail.ru

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

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

В качестве языка проектирования системы автоматизации «Network Lab» (рис. 1) был выбран язык UML [1]. Выбор данного языка был сделан исходя из таких преимуществ:

• универсальности языка UML;

• методы описания результатов анализа и проектирования на языке UML семантически близки к методам программирования на современных объектно-ориентированных языках;

• позволяет описать разные аспекты поведения системы.

Рис. 1- Пример проекта тренажера «Network Lab» в режиме создания

При создании «Network Lab» язык UML применялся на следующих стадиях реализации проекта [2-4]:

1. Анализ требований - цель данной стадии состоит в том, чтобы понять процессы, которые управляют предприятием или системой, определить область деятельности системы и требования пользователя [5]. На данной стадии с помощью UML создавалась модель прецедентов системы. Она позволила выделить внешние системы, контактирующие с системой, основные процессы и их взаимосвязь. Диаграммы прецедентов дали возможность выделить функциональную структуру системы, не вдаваясь в детали ее реализации. Кроме того, было произведено предварительное выделение объектов системы и их классификация. На основании построенной модели был составлен план разработки системы.

63

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