[[index|Вернуться к содержанию]] ====== Введение ====== Программная система управления спектрометром неотъемлемая часть современной физической установки. В течение длительного времени, в ЛНФ на большинстве установок используется программный комплекс Sonix. Постоянное усложнение как самих установок, так и методик измерений с одной стороны, а также бурное развитие микроэлектроники и программных технологий с другой, заставило нас создавать новую систему управления Sonix+, отвечающую современным требованиям и дающую возможность физикам вести научно-экспериментальную работу на мировом уровне. При проектировании новой системы управления были учтены как многолетний опыт эксплуатации программного комплекса Sonix, так и мировые тенденции. ====== Замена программно-аппаратной платформы ====== Комплекс Sonix работал на компьютерах [[wpru>VMEbus|VME]]. Было принято решение перейти на использование PC, поскольку современные персональные компьютеры удовлетворяют требованиям, предъявляемым к управляющим компьютерам, и в то же время значительно дешевле [[wpru>VMEbus|VME]]. Взаимодействие с существующими контроллерами устройств обеспечивается использованием [[http://www.sparcproductdirectory.com/pcivme2.html|VME-PCI адаптера]]. Замена аппаратной платформы повлекла и замену операционной системы. Так, [[wpru>OS-9|OS-9]] было решено заменить Windows XP. Основным мотивом было то, что данная операционная система наиболее знакома и привычна для пользователей. ====== Структура комплекса Sonix+ ====== {{:sonix_plus_structure_rus.jpg|}} От Sonix система Sonix+ унаследовала модульную организацию. Программный комплекс Sonix+ образован набором модулей * управляющих компонентами спектрометра (драйверы, серверы), * выполняющих служебные функции, * пользователького интерфейса, визуализации спектров и т.п. Взаимодействие модуля с системой жестко стандартизировано. Введены единые стандарты: * конфигурирования; * межмодульного управляющего взаимодействия; * хранения информации о состоянии модуля; * формата спектров. Такая стандартизация позволила создать единые программы для конфигурирования системы ([[config_editor|ConfigEditor]]), отображения информации о текущем ее состоянии ([[reflector|Reflector)]], управления системой с помощью скрипта ([[is_client|Is]]). Для составления заданий на эксперимент в пакетном режиме в комплекс встроен интерпретатор с языка [[wpru>Python_(programming_language)|Python]]. Это вывело на качественно иной уровень гибкость системы и ее приспособляемость к конкретной установке. В частности, задание процедуры измерений, преобразование из технического формата в формат, используемый для данной установки, включая систему именования файлов и т.д. Доступная документация и стандартные средства разработки, существующие для [[wpru>Python_(programming_language)|Python]], упрощают программирование на нем. В новой системе единицей, с которой взаимодействует пользователь, является «программное устройство». При таком подходе из цепочки: «Реальное устройство – контроллер устройства – драйвер устройства – сервер/адаптер устройства – программное устройство» пользователь «видит» только крайние элементы. Это позволяет абстрагироваться от реализации управления и сконцентрироваться на конкретной физической задаче. Важной особенностью комплекса является то, что взаимодействие всех управляющих модулей происходит в рамках единого принятого протокола и реализовано через «хранилище данных», называемое базой данных [[http://wwwinfo.jinr.ru/publish/Preprints/2003/011(P13-2003-11).pdf|Varman]]. Это, в частности, позволяет легко расширять комплекс за счет подключения дополнительных модулей. Разработчики полностью отдавали себе отчет в том, что невозможно построить систему управления, которая одновременно будет и гибкой и удобной на конкретном спектрометре. Предпочтение отдавалось гибкости, функциональности и надежности. Система имеет все возможности для создания удобных для пользователей интерфейсных программ. [[index|Вернуться к содержанию]] --- //[[akirilov@nf.jinr.ru|kirilov]] 2014/08/22 15:40//