Система удаленного управления питанием квадрупольных линз линейного ускорителя ЛУ-20 ОИЯИ

Элементы и параметры комплекса ЛФВЭ ОИЯИ, схема его работы. Создание программного обеспечения в среде разработки National Instruments Labview для мониторинга и удаленного управления источниками питания квадрупольных линз линейного ускорителя ЛУ-20.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 22.02.2013
Размер файла 824,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Оглавление

Аннотация

Введение

1. Линейный ускоритель ЛУ-20

2. Постановка задачи

3. Выбор элементной базы

4. Описание разработанного программного обеспечения

5. Результаты ввода системы в опытную эксплуатацию

Заключение

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

Аннотация

Настоящий документ содержит пояснительную записку к проекту «Система удаленного управления питанием квадрупольных линз линейного ускорителя ЛУ-20 ОИЯИ».

Данный дипломный проект выполнен в Лаборатории физики высоких энергий Объединенного института ядерных исследований (ЛФВЭ ОИЯИ), г.Дубна, в рамках реализации проекта по созданию ускорительно-коллайдерного комплекса NICA. Заданием являлось создание системы мониторинга и удаленного управления источниками питания квадрупольных линз линейного ускорителя ЛУ-20.

Введение

Общее описание ускорительного комплекса

Ускорительный комплекс ЛФВЭ ОИЯИ на базе установки Нуклотрон (рис.1.1) предназначен для проведения экспериментов на ускоренных пучках протонов или ядер (вплоть до элементов с атомными массами > 100) с энергиями до 12,7 ГэВ (протоны) и 6 ГэВ/нуклон (для частиц с Z/A = 0.5) соответственно. Основные здания и сооружения комплекса, а также его оборудование было создано и введено в эксплуатацию в соответствии с проектом создания синхрофазотрона и его последовательным развитием. Существенным этапом развития ускорительного комплекса явилась реконструкция магнитной системы Синхрофазотрона на сверхпроводящую - Нуклотрон, что создало принципиальную возможность ускорения пучков не только протонов и легких ядер, но и тяжелых ионов. “Установка Нуклотрон” - это термин, обозначающий комплекс Синхрофазотрон после этой модернизации. Оборудование комплекса расположено в нескольких корпусах на производственной площадке ЛФВЭ ОИЯИ - к.1, к.1А, к.1Б, к.2, компрессорная, здание ЛУ-20, измерительный павильон, к.205.

Рис.0.1 Cхема ускорительного комплекса Лаборатории физики высоких энергий ОИЯИ - “Установка Нуклотрон”

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

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

Основные элементы комплекса и их размещение

Табл. 1. Основные элементы ускорительного комплекса и их размещение

Элемент комплекса

Размещение

Инжекционный комплекс:

- источники протонов и ядер (дуоплазматрон, лазерный, электронно-лучевой, а также источник поляризованных дейтронов),

- предускоритель - высоковольтная электростатическая трубка, импульсный трансформатор ИТ-800 (до 800 кВ),

- линейный резонансный ускоритель типа Альвареца ЛУ-20, обеспечивающий ускорение протонов до энергии 20 МэВ и ядер с отношением заряда к массе больше 0,33 до энергии 5 МэВ на нуклон,

- Система ВЧ-питания ЛУ-20 «Родонит»,

- вакуумная система инжекционного комплекса,

- канал транспортировки и согласования пучка из ЛУ-20 в Нуклотрон,

- пульт управления инжекционным комплексом

Здание инжектора ЛУ-20

Сверхпроводящий синхротрон - Нуклотрон

- магнитно-криостатная система кольца периметром 251,5 м расположена в тоннеле вокруг фундамента электромагнита синхрофазотрона,

- система диагностики пучков, контроля и управления,

- вакуумная система кольца,

- ВЧ система ускорения пучков в Нуклотроне,

- система медленного резонансного вывода ускоренных пучков в направлении основного экспериментального зала (корп.205) с начальным участком транспортировки пучка от выходного окна криостата Нуклотрона до точки «фокус F3»,

- каналы транспортировки выведенных пучков от точки F3 к экспериментальным установкам в корпусе 205.

Корпус 1

Главный пульт управления комплексом

Корпус 2

Система криогенного обеспечения Нуклотрона

состоит из двух гелиевых рефрижераторов КГУ-1600/4.5 с необходимой инфраструктурой для хранения и циркуляции газообразного гелия, а также емкостями для хранения жидкого азота и линиями его транспортировки для охлаждения тепловых экранов криостата магнитов и линз кольца ускорителя.

Корпус 1Б, компрессорная

Источники питания

- магнитов и линз кольца Нуклотрона,

- каналов траспортировки пучков,

- силовые кабельные трассы.

Корпус 1А

Система радиационной защиты и автоматизированная система контроля радиационной обстановки

Корпус 1, измерительный павильон, к. 205, контролируемая зона вокруг к. 1

Табл. 2. Основные параметры Нуклотрона

Периметр

251.5 м

Ускоряемые частицы

1 < Z < 92

Энергия инжекции (Z / A = 1/2)

5 МэВ/нуклон

Максимальная энергия (Z / A = 1/2)

6 ГэВ/нуклон

Максимальное магнитное поле

2 Тл

Скорость нарастания поля

1 Тл/с

Вакуум

10-9 Торр

Частота повторения циклов

до 0.25 Гц

Длительность растяжки пучка при выводе

до 10 с

Средняя интенсивность пучка протонов

до 1011 р/цикл

Макс. интенсивность пучка тяжелых ионов

до 1010 ионов/цикл

В 2005 году академиком А.Н. Сисакяном была предложена программа развития института, нацеленная на проведение амбициозных исследований на установках ОИЯИ. Проект получил название NICA (Nuclotron-base Ion Collider fAcility). Частью проекта является модернизация линейного ускорителя ЛУ-20, в частности, источников питания квадрупольных линз и системы управления ими. Это было реализовано в данной дипломной работе.

1. Линейный ускоритель ЛУ-20

Линейный ускоритель ЛУ-20 спроектирован как инжектор протонов для синхрофазатрона. Он был запущен в 1974 году и использовался не только как ускоритель протонов, но и как ускоритель ядер гелия и дейтерия (источник ядер - дуоплазматрон) в режиме второй кратности ускорения с конечной энергией 5 Мэв/нук. Как инжектор Нуклтрона ЛУ-20 используется с 1993 года. Источниками ядер и ионов для линейного ускорителя являются: дуоплазматрон, лазерный источник, электронно-лучевой источник КРИОН-С и новый источник поляризованных дейтронов SPIon.

В линейных ускорителях ионов и протонов применяются ускоряющие системы со стоячей волной, представляющие собой объемные резонаторы, в которых возбуждаются сильные продольные электрические поля между ускоряющими электродами (трубками дрейфа), расположенными вдоль оси. В ускорителях Альвареца электрическое поле становится полностью продольным, в начале цикла имеющим одно направление вдоль оси по всей длине резонатора, а через полпериода другое, изменяя таким образом полярность напряжения на дрейфовых трубках. Частицы испытывают ускоряющее действие положительной полуволны в зазоре и экранированы трубками дрейфа от тормозящего действия отрицательной полуволны. Длина ускоряющего периода L, приведенная скорость частицы в = v/c и длина волны высокочастотного поля л связаны соотношением L= k в л, где величина k, называемая кратностью периода ускорения, при синфазном питании определяет число периодов высокочастотного поля, за которое синхронная частица пролетает расстояние между электрическими центрами смежных периодов структуры. В ЛУ-20 на первой кратности ускоряются протоны, а на второй кратности - ионы с отношением Z/A ? 1/3

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

Для того, чтобы пучок частиц не расплывался в поперечном направлении, необходимо принимать специальные меры. Существует три основных фактора, приводящих к дефокусировке пучка в линейном ускорителе:

- неупорядоченный разброс поперечных тепловых скоростей частиц;

- дефокусирующее действие ускоряющего поля;

- электростатическое расталкивание между одноименно заряженными частицами пучка.

В ускорителе ЛУ-20, как во многих других линейных ускорителях, используется жесткая, или знакопеременная, фокусировка квадрупольными линзами. Если разместить вдоль оси квадрупольные линзы так, чтобы смежные линзы были повернуты относительно друг друга на 90?, то в каждой из плоскостей будут попеременно создаваться фокусирующие и дефокусирующие участки. При выполнении определенных условий такая система линз оказывается фокусирующей, причем условия устойчивости поперечных колебаний в длинных каналах отличаются от условий, при которых комбинация квадрупольных линз Ф и Д, составляющих один фокусирующий период, является собирающей. Тип фокусирующего канала, используемого в ЛУ-20 - ФОДО.

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

Рис.1.1. Принцип действия квадрупольной линзы (предполагается, что частицы движутся от читателя, синие стрелки - сила, действующая на отклоненную частицу, серые - линии магнитного поля).

Рис.1.2. Квадрупольная линза линейного ускорителя ЛУ-20

Настройка тока в линзах

Токи в линзах определяются градиентами фокусирующего поля, которые необходимо создать для максимальной пропускной способности канала. Они определяются динамикой движения частиц для данного линейного ускорителя и зависят от сорта ускоряемых частиц, кратности ускорения и др. На практике эти токи несколько отличаются от расчетных и нуждаются в периодической подстройке. Ненадежность и нестабильность устаревших источников тока, выработавших свой ресурс, и фактическое отсутствие одновременного мониторинга токов в линзах чрезвычайно затрудняет настройку канала фокусировки на максимально возможную пропускную способность, а отсутствие адекватного программного обеспечения для мониторинга и удаленного управления новыми источниками не позволяет использовать их преимущества. Поэтому темой дипломного проекта предложена разработка такого программного обеспечения для новых источников GW Instek PSW7 30-72, которое позволит наиболее эффективно и быстро осуществлять настройку фокусирующего канала.

2. Постановка задачи

Задачей дипломного проекта является создание программного обеспечения в среде разработки National Instruments LabVIEW для мониторинга и удаленного управления источниками питания квадрупольных линз линейного ускорителя ЛУ-20. Программа должна обеспечивать следующий функционал:

· Связь с неограниченным количеством источников питания по протоколу TCP/IP.

· Считывание текущих значений тока и напряжения на клеммах источников питания. Быстродействие не так важно, но необходимо обеспечить обновление данных хотя бы раз в секунду.

· Удаленная установка тока и передела по напряжению для источников питания.

· Удаленное включение/выключение выхода.

· Модуляция токов с задаваемым шагом, частотой и амплитудой. Ток начинает увеличиваться с заданной частотой и шагом, начиная со значения в момент запуска модуляции. Достигнув максимального значения, обусловленного заданной амплитудой, ток начинает уменьшаться, пока не достигнет минимального значения, и так далее.

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

· Удобное представление всех данных в одной сводной таблице.

Для питания квадрупольных линз ЛУ-20 будут использоваться программируемые источники питания постоянного тока GW Instek PSW 7 30-72.

3. Выбор элементной базы

Рис.3.1. Источник питания GW Instek PSW7 30-72

В качестве альтернативы устаревшим источникам питания выбраны GW Instek PSW7 30-72, поскольку они имеют оптимальное соотношение выходных значений тока и напряжения, а также хорошо зарекомендовали себя надежной работой в течение длительного периода времени в непрерывном режиме (до 2 месяцев без перерыва). Помимо этого, они поддерживают связь по протоколу TCP/IP и обладают хорошим соотношением цена/качество.

Особенности источника питания PSW7 30-72 [5]

· Двухстрочный ЖК-дисплей (СДИ), одновременная индикация режимов работы и выходных параметров

· Защита от перенапряжения, перегрузки по току, термостабилизация

· Параллельное соединение для увеличения I вых (до 3-х источников)

· Послед. соединение для увеличения Uвых (до 2-х источников)

· Блокировка органов управления передней панели для исключения случайного изменения настроек

· Компактные размеры (1/6 стандартной 19” стойки)

· Выходные клеммы расположены на задней панели

· 26-контактный аналоговый интерфейс управления

· Программируемый цифровой интерфейс: USB, LAN (опция - GPIB)

· Высокий КПД

· Выходное напряжение до 30 В, выходной ток 72 А, выходная мощность 720 Вт

· Дискретность установки: 10 мВ/10 мА

Технические характеристики источника питания PSW7 30-72 [5]

Основные характеристики

Выходное напряжение: 0 - 30 B

Выходной ток: 0 - 72 A

Максимальная мощность: 720 Вт

Установка выходных параметров

Дискретность установки: 10 мВ, 10 мА

Диапазон регулировки внутреннего сопротивления: 0,000 - 0,417 Ом

Время задержки вкл/выкл выхода: 0,00 - 99,99 сек

Диапазон регулирования скорости нарастания/спада

По напряжению: 0,1 - 60 В/сек

По току: 0,01 - 144 А/сек

Стабилизация напряжения

Нестабильность:

При изменении напряжения питания: 0.05% + 5 мВ,

При изменении тока нагрузки: 0.05% + 3 мВ

Уровень пульсаций: ? 10 мВср.кв

Время установления: ? 100 мс

Стабилизация тока

Нестабильность:

При изменении напряжения питания: 0.1% + 10 мА,

При изменении тока нагрузки: 0.1% + 10 мА

Уровень пульсаций: 0.2% + 5 мА

Измерения

Погрешность измерения: ± 0.1% ± 2 е.м.р. (напряжение; ток)

Дистанционное управление

Интерфейсы: USB, LAN

Аналоговый интерфейс: 26 контактный разъем (OMRON XG4 IDC) для контроля и управления

Общие данные

Напряжение питания: 85…265 В (автовыбор), 47…63 Гц

Индикатор: 4 разряда

Габаритные размеры: 142х124х350 мм

Масса: 5 кг

4. Описание разработанного программного обеспечения

Краткое описание среды разработки

Программа разрабатывалась в среде разработке National Instruments LabVIEW 8.6. LabVIEW - это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments (США).

Графический язык программирования «G», используемый в LabVIEW, основан на архитектуре потоков данных. Последовательность выполнения операторов в таких языках определяется не порядком их следования (как в императивных языках программирования), а наличием данных на входах этих операторов. Операторы, не связанные по данным, выполняются параллельно в произвольном порядке [4].

Программа в LabVIEW называется и является виртуальным прибором и состоит из двух частей:

· блочной диаграммы, описывающей логику работы виртуального прибора;

· лицевой панели, описывающей внешний интерфейс виртуального прибора.

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

Лицевая панель виртуального прибора содержит средства ввода-вывода: кнопки, переключатели, светодиоды, верньеры, шкалы, информационные табло и т. п. Они используются человеком для управления виртуальным прибором, а также другими виртуальными приборами для обмена данными.

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

Общее описание функционала разработанного ПО

Рис.4.1. Лицевая панель программы

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

Кнопка Add Channel добавляет новый источник питания с заданным адресом и именем (задаются в соответствующих полях ввода слева от кнопки). При этом не устанавливается соединение с источником, а лишь происходит добавление новых элементов в соответствующие массивы программы.

Кнопка Delete Channel удаляет выделенный источник питания. Если с источником было установлено соединение, оно корректно разрывается перед удалением соответствующих элементов из массивов программы.

Кнопки Connect Channel и Disconnect Channel соответственно устанавливают и разрывают соединение с выделенным источником питания.

Кнопки Set Current и Set Voltage устанавливают для выделенного канала соответственно ток и предел по напряжению, значения задаются в полях ввода слева от кнопок. Эти значения попадают в соответствующие массивы программы и отображаются в сводной таблице.

Кнопки Set Output ON и Set Output OFF соответственно включают и выключают выход выделенного источника питания. Состояние выхода не хранится в массиве, оно считывается в ходе выполнения главного цикла программы и отображается в соответствующей колонке сводной таблицы.

Кнопка Quit корректно разрывает соединение со всеми активными источниками питания, после чего завершает работу программы.

Кнопки Write To File и Read From File выполняют соответственно запись из файла и чтение в файл следующих данных по каждому добавленному каналу: имя источника питания, IP-адрес, заданный ток, заданный предел по напряжению. При чтении из файла предварительно происходит корректный разрыв соединения со всеми активными каналами и очистка всех соответствующих массивов.

Кнопки Connect All и Disconnect All соответственно устанавливают и разрывают соединение со всеми добавленными источниками питания. Удобно использовать для быстрого соединения со всеми каналами после загрузки их из файла.

Кнопки Set Current All и Set Voltage All соответственно устанавливают ток и предел по напряжению для всех активных источников питания. Таким образом, обычная процедура загрузки из файла списка источников будет состоять из следующей последовательности действий: Read From File, Connect All, Set Current All, Set Voltage All.

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

Кнопка Run Modulation запускает/останавливает процесс модуляции токов. Токи начинают увеличиваться на заданное значение с заданной частотой, пока не достигнут максимального значения, обусловленного заданной амплитудой, после чего начинают уменьшаться, пока не достигнут минимального значения - и т.д. При завершении модуляции восстанавливаются первоначальные значения тока. Параметры модуляции задаются в соответствующих полях ввода под кнопкой.

В колонке Name сводной таблицы отображается условное имя источника питания, Adress - IP-адрес, Voltage - напряжение на клеммах, Current - ток, Voltage Set To - заданный предел по напряжению, Current Set To - заданный ток, Output - состояние выхода (On/Off), Active - соединение с источником (Yes/No), Modulation - источник участвует в модуляции токов (Yes/No).

Особенности реализации

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

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

Такой вариант стал возможен благодаря функционалу LabVIEW, позволяющему программно запускать так называемые клоны (VI Clone) виртуальных приборов (далее - модулей). Это осуществляется с помощью метода Run VI. В отличие от обычного вызова виртуального прибора как подпрограммы, при котором вызывающая программа приостанавливается до завершения работы подпрограммы, клоны модулей работают параллельно вызвавшей их программе. Для этого параметр Wait Until Done метода Run VI устанавливается в значение False. Они могут запускаться в неограниченном количестве. Идентификация клонов осуществляется с помощью ссылки на копию виртуального прибора - VI Reference. В программе есть массив этих ссылок для каждого источника питания.

LabVIEW так же позволяет устанавливать значения локальных переменных копии виртуального прибора из любого другого модуля при помощи метода Control Value:Set. Точно так же можно и считать значения локальных переменных с помощью метода Control Value:Get. Есть так же метод Control Value:Get All, который возвращает в массиве значения всех локальных переменных виртуального прибора.

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

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

Структурная схема программы

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

Рис.4.2. Структурная схема программы

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

При добавлении нового канала в управляющем модуле вызывается подпрограмма (виртуальный прибор), выполняющая действия в соответствии с блок-схемой, изображенной на рисунке 4.3. Эта подпрограмма, так же как и несколько других подпрограмм, вызываемых управляющим модулем, не изображена на рисунке 4.2 отдельным блоком, потому что по смыслу не является структурной единицей, а выделена в отдельный модуль исключительно для удобства разработки.

Рис.4.3. Последовательность действий при добавлении нового канала

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

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

Получение данных из копий подчиненного модуля происходит в отдельном цикле. Данные собираются в двухмерный массив, который затем напрямую загружается в таблицу данных. Данные передаются из подчиненного модуля в управляющим с помощью метода Control Value:Get. Максимальная частота выполнения цикла составляет 5 Гц при низком количестве подключенных источников. При увеличении количества каналов частота цикла может несколько уменьшиться, подробнее об этом написано в следующей главе.

Общение подчиненного модуля с источником питания происходит посредством функциональных модулей. В программе есть следующие функциональные модули: GetVoltage.vi - получает текущее значение напряжения на клеммах источника питания, GetCurrent.vi - получает текущее значение тока, SetVoltage.vi - устанавливает предел по напряжению, SetCurrent.vi - устанавливает ток, GetOutput.vi - получает состояние выхода источника питания, SetOutput.vi - включает или выключает выход источника. Так как исполнение функциональных модулей вызывается неограниченным числом копий подчиненного модуля, то фактически, функциональные модули запускаются тоже в неограниченном числе копий.

При чтении списка каналов из файла помимо корректного разъединения связи с источниками питания из текущего списка происходит завершение работы всех запущенных копий подчиненного модуля - в противном случае они продолжают работать и тратить ресурсы компьютера. То же самое касается и завершения работы программы по кнопке Quit. Общая последовательность действий при чтении списка источников питания из файла приведена на рисунке 4.4. При 10 сохраненных в файле источниках питания процесс загрузки занимает порядка 5-7 секунд.

Рис.4.4. Последовательность действий при чтении списка источников из файла

На рисунке 4.5 приведена блочная диаграмма цикла сбора данных управляющего модуля. Основная часть цикла заключена в конструкцию Case и выполняется только в случае активности кнопки Add Channel. Это проверка на то, что в данный момент не происходит добавлений или удалений элементов из массивов данных. Об этом говорилось выше - установка всех кнопок лицевой панели неактивными является по сути блокировкой массивов данных для изменений.

В конструкции Case находится вложенный цикл, перебирающий все каналы и собирающий данные в двухмерный массив для загрузки в таблицу данных. В цикле данные из копий подчиненного модуля возвращаются методом Control Value:Get. Метод возвращает данные типа Variant, после чего происходит преобразование к строковому типу с помощью функции Variant to Data. Преобразованные данные с помощью регистра сдвига собираются в одномерные массивы, которые после завершения вложенного цикла собираются в двухмерный массив. Этот массив транспонируется и загружается в таблицу данных.

Рис.4.5. Блочная диаграмма цикла сбора данных

5. Результаты ввода систему в опытную эксплуатацию

Результаты тестирования на надежность

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

В колонках Voltage и Current таблицы данных отображался бессмысленный набор цифр. Связано это было с тем, что в соответствующих функциональных модулях программы для функции TCP Read использовался режим CRLF, при котором данные считываются до последовательности символов CR и LF. Источник питания PSW7 30-72 в использованной при тестировании версии прошивки заканчивал пакет данных другим сочетанием символов. Для решения проблемы было решено поменять режим на Immediate, при котором данные считываются моментально. После этого подобной проблемы не наблюдалось, и данные отображались стабильно.

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

Других проблем в ходе тестирования не было обнаружено, программа работала стабильно и надежно.

Анализ быстродействия

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

Рис.5.1. Реализация функционала для подсчета итераций за промежуток времени

Анализ быстродействия производился на компьютер со следующей конфигурацией: процессор Intel CPU U7300 1.30 ГГц, ОЗУ 4 Гб, ОС Windows 7 x64.

Вначале была измерена частота основного цикла подчиненного модуля. За 30 секунд было насчитано 123 итерации, что приблизительно соответствует частоте 4 Гц.

Тестирование на быстродействие цикла сбора данных управляющего модуля проводилось с 18 подключенными источниками питания, минимальная длительность итерации цикла была временно уменьшена до 0. За промежуток времени 30 секунд программа насчитала 822 итераций цикла сбора данных - что приблизительно соответствует частоте 27 Гц. В нормальном режиме функционирования для итерации цикла сбора данных установлена минимальная длительность 250 мс. Эта минимальная длительность будет фактически превышена при количестве источников питания более 18 * 250 / 27 ?.

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

6. Заключение

В рамках дипломного проекта было создано программное обеспечение в среде разработки LabVIEW для мониторинга и удаленного управления источниками питания (Gwinstek PSW7 30-72) квадрупольных линз линейного ускорителя ЛУ-20. Программа отвечает всем требованиям, изложенным в ТЗ.

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

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

Программа была протестирована на надежность и быстродействие, была запущена на двое суток в опытную эксплуатацию персоналом линейного ускорителя ЛУ-20. Удалось добиться отлаженной бесперебойной работы. Согласно результатам анализа быстродействия, частота обновления данных не зависит от количества источников питания и составляет приблизительно 4 Гц.

В дальнейшем программу можно легко модернизировать для поддержки управления другими источниками питания по протоколу TCP/IP. Для этого понадобится создать подчиненный и функциональные модули для нового типа источников, а так же добавить в программу массив типов источников, чтобы определять, какие модули использовать для каждого из каналов.

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

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

линейный ускоритель программный

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

1. G. Trubnikov, et.al., Project of the Nuclotron-based ion collider facility (NICA) at JINR, Proceedings of EPAC08, Genoa, Italy

2. Вальднер О.А., Власов А.Д., Шальнов А.В., “Линейные Ускорители”

3. И.М. Капчинский, «Теория Линейных Резонансных Ускорителей», М.: Энергоиздат, 1982

4. Д. Трэвис, “LabVIEW для всех”

5. User manual for Gwinstek PSW series

6. Programming manual for Gwinstek PSW series

Размещено на Allbest.ru


Подобные документы

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