Каталог программ и файлов | ВЭПП-3 - Оглавление |
Программа #BANK служит для приема заявок на изменение уставок в устройствах магнитной системы и ВЧ-системы ВЭПП-3, и выполнение этих заявок путем раздачи кодов в устройства в реальном масштабе времени.
Существует две разновидности программы под одинаковым названием #BANK. Одна из них загружена в "ведомом" Одренке "RFV3" и работает только с устройствами ВЧ-системы и системы впуска-выпуска, а вторая – в "ведущем" Одренке "MSV3", и работает с устройствами магнитной системы непосредственно, а с устройствами ВЧ-системы – путем пересылки заявки в "ведомый" Одренок через систему связи Ethernet.
Имя | Число ячеек | Начальная ячейка | Содержимое |
JTB | 1 | 1 | Имя текущего режима |
IP3(16) | 16 | 2 | Полярность и статус ВЭПП-3 в первых двух ячейках массива, остальные пустые |
TAKT | 2 | 18 | Тактовая частота ГТИ (Гц) |
EN | 2 | 20 | Текущая энергия (МэВ) |
F0 | 2 | 22 | Частота обращения пучка (кГц) |
X04XMB(4) | 8 | 28 | Опорные (для стабилизации орбиты) углы дефлекции (мрад) в корректоре 4XMB в четырех статусах(при накоплении, ускорении, эксперименте и выпуске). Реально используется только при ускорении. |
Z04Z1(4) | 8 | 36 | То же, в корректоре 4Z1 |
Ячейки для приема информации из #ORBI | |||
MTYPE | 1 | 44 | Статус измерения орбиты: 1 - электроны; 2 - позитроны; 3 - калибровка |
ITOK0 | 1 | 45 | Ток пучка, при котором сделано измерение орбиты (мкА) |
KOD | 1 | 46 | Код времени интегрирования в АЦП при измерении орбиты |
NORB | 1 | 47 | Счетчик выполненных измерений орбиты |
IX(30) | 30 | 48 | Орбита в пикапах по X (мкм) |
IZ(30) | 30 | 78 | Орбита в пикапах по Z (мкм) |
KSH | 1 | 108 | Усиление ШИУСа (Бел) |
IORB%1 | 1 | 109 | Состояние 1-го ключа #ORBI (1 - вкл.; 2 - выкл.; 0 - нет #ORBI) |
Ячейки, необходимые для работы #GOST | |||
I4XMB | 1 | 110 | Ток в корректоре 4XMB (мА) |
I4Z1 | 1 | 111 | Ток в корректоре 4Z1 (мА) |
IDXZ(2) | 2 | 112 | Вычисленные углы дефлекции в корректорах 4XMB и 4Z1, необходимые, чтобы исправить орбиту |
ISWB65(2) | 2 | 114 | Состояние ключей 6 и 5 в #BANK, дающих задание на стабилизацию орбиты (0 - выкл., 1 - вкл.) |
Ячейки для приема задания от "Позитрона" | |||
KPOZ | 1 | 188 | Метка прихода задания от "Позитрона" |
LCDPOZ(10) | 10 | 189 | Задание от "Позитрона" для элементов DB4, VDB4, IVI, VIVI, FB (в первых 5-ти ячейках массива) |
Ячейки для посылки задания в ЦАПы | |||
IPB | 1 | 199 | Число адресов устройств, с которыми работает #BANK (220 - в MSV3, 50 - в RFV3) |
INDEX | 1 | 200 | Заданное число шагов для перестройки от исходного состояния до конечного |
LCD(220) | 220 | 201 | Уставки заказанные (конечный режим) |
NCD(220) | 220 | 421 | Уставки текущие |
IBL(220) | 220 | 641 | Типы блоков (ЦАПов); 1-ый бит - WR |
IAD(2,220) | 2*220 | 861 | Адреса ЦАПов |
NM(220) | 220 | 1301 | Имена элементов |
MAXC(220) | 220 | 1521 | Максимальные уставки |
ICD(220) | 220 | 1741 | Массив для засылки в ЦАПы (реальные коды ЦАПов) |
IZC(220) | 220 | 1961 | Уставки, соответствующие нулю величины |
NW(220) | 220 | 2181 | Шаг изменения уставки для линейного перехода |
LZN(220) | 220 | 2401 | Признак изменения уставок (не используется) |
ENTRY 0 | – обычный вход (с ячейки 20); |
ENTRY 1 | – вход для работы без связи с Одренком "RFV3" (с ячейки 21); |
ENTRY 2 | – вход для задания полярности и статуса (с ячейки 22). |
При входе с 20-ой или 21-ой ячейки #BANK берет начальную информацию об имени текущего режима (таблицы), полярности (электроны или позитроны) и статусе из STAP. При входе с 22-ой ячейки информация об имени текущего режима берется из STAP, а полярность и статус задаются вручную.
Возможные статусы: | 1 | – накопление |
2 | – ускорение | |
3 | – эксперимент | |
4 | – выпуск | |
5 | – цикл перемагничивания | |
6 | – перепуск (ожидание команды на выпуск) |
Ключи: | 1 | – проверка идентичности содержимого ЦАПов и #BANK (норм. выкл) |
2 | – работа с "Позитроном" (норм. вкл.) | |
3 | – проверка загрузки #BANK из ЦАПов при запуске | |
4 | – подъем энергии с плавными переходами (норм. вкл.) | |
5 | – стабилизация вертикальной орбиты при ускорении | |
6 | – стабилизация горизонтальной орбиты при ускорении |
Пинты: | 1 | – импульсы от ГТИ с частотой 3.125 Гц, тактирующие работу #BANK (частоту посылок в ЦАПы) |
16 | – внутренний пинт, вырабатываемый программой #BANK по окончании выполнения задания (когда INDEX становится равным 0) | |
17 | – внутренний пинт, вырабатываемый программой #BANK на каждом такте после окончания посылок в ЦАПы |
При загрузке программы #BANK выполняются следующие операции:
После выполнения этих операций на терминал выдаются сообщения:
"Загрузка #BANK из BAS3.#### окончена"
"Загрузка #BANK из устройств окончена"
"#BANK в "MSV3" работает !"
После загрузки #BANK переходит к работе в циклическом режиме; такт задается импульсом от ГТИ (частота 3.125 гц), поступающим на вход блока "Регистр пинтов" ( пинт 1 ). При появлении пинта 1 #BANK проверяет поступление заявок на изменение уставок элементов, управляемых от "Позитрона" (один раз на каждые три пинта???). Затем #BANK проверяет состояние ячейки "INDEX" в COMMON/RYNOK/. Если INDEX = 0, #BANK снова становится на ожидание пинта 1 . Если INDEX > 0, #BANK приступает к выполнению перехода от исходного режима к заказанному.
Сначала #BANK посылает задание на изменение уставок в элементах ВЧ-системы и системы "Впуск-выпуск" через Ethernet-связь в Одренок "RFV3". Это последние 50 ячеек массива LCD + "INDEX", значение которого указывает, за сколько шагов (с частотой 3.125 гц) нужно выполнить изменение уставок. #BANK в Одренке "RFV3" выполнит задание самостоятельно.
#BANK работает с "уставками", которые пропорциональны физическим величинам, характерным для управляемых элементов (току, напряжению, магнитному полю и т.д.); в памяти ЭВМ они хранятся, как целые числа со знаком. Часто, но не всегда, уставка равна коду ЦАПа, управляющего данным элементом, умноженному на 64.
Сначала #BANK вычисляет изменения уставок для всех элементов:
Затем #BANK делает N шагов – посылок кодов в ЦАПы с частотой, определяемой приходом пинта 1 (N – четное; N = INDEX или N = INDEX + 1). На каждом шаге вычисляется
CF(K) = (1 / N) * ((2 * K - 1) / (N / 2)) | – для первой половины перехода; |
CF(K) = (1 / N) * ((2 * (N - K) + 1) / (N / 2)) | – для второй половины перехода; |
K = 1 ÷ N | – номер шага. |
На шаге с номером "K" для всех элементов вычисляется:
Если для какого-либо ЦАПа:
Если включен ключ 5 , "текущая уставка" для элемента "4Z1" вычисляется, исходя из данных, необходимых для стабилизации вертикальной орбиты ; если ключ 5 выключен, элемент "4Z1" управляется так же, как и другие элементы. Если включен ключ 6 , таким же образом происходит стабилизация радиальной орбиты с помощью корректора "4XMB".
Затем вычисляются реальные коды, которые нужно посылать в ЦАПы и другие устройства, и выполняются посылки, но только в том случае, если в данном устройстве произошло изменение хотя бы в одном из каналов управления. Коды, посылаемые в ЦАПы элементов "4М" и "2FD" , вычисляются специальной подпрограммой.
В конце каждого шага "текущие уставки" записываются в массив NCD, вычисляется текущая энергия и формируется внутренний пинт 17.
На последнем шаге в качестве "текущей уставки" используется "заказанная уставка", чтобы избежать накопления ошибок, связанного с вычислением добавок.
После выполнения перехода может быть проверено соответствие кодов в ЦАПах содержимому массива NCD в #BANK (если включен ключ 1 ). Для сообщения другим программам о выполнении задания формируется внутренний пинт 16; зануляется ячейка INDEX.
ВНИМАНИЕ! ЗАПИСЬ ЗАДАНИЙ НА ИЗМЕНЕНИЕ РЕЖИМА В #BANK ДОПУСТИМА ТОЛЬКО ПРИ INDEX=0 ! |
Управление элементами ВЧ-системы и системы впуска-выпуска производится с помощью программы #BANK в Одренке "RFV3". Для этих элементов зарезервировано 50 последних номеров в массивах LCD и NCD программы #BANK "MSV3" (171-:-220). Записанное в ячейки массива LCD с этими номерами задание на изменение уставок пересылается с помощью Ethernet-связи в #BANK "RFV3". Одновременно пересылается содержимое ячейки INDEX, означающее, за сколько шагов должно произойти изменение уставок. #BANK в "RFV3" тактирован тем же импульсом от ГТИ, что и "ведущий" #BANK в Одренке "MSV3". Переход от исходного уровня уставок в ЦАПе до конечного линейный по времени. Если попытка общения через Ethernet неудачна, на терминал выдается сообщение о сбое.
При загрузке #BANK в "RFV3":
В памяти программы #BANK "MSV3" выделено 6 ячеек для приема заявок от #BANK в Одренке UPO "Позитрона" на управление некоторыми его элементами. В первой из этих ячеек содержится признак поступления новой заявки: 1 – есть новая заявка; 0 – заявка выполнена. В остальных 5-ти ячейках находятся новые уставки для управляемых элементов:
Управление этими 5-ю элементами из Одренка "MSV3" возможно, если выключен ключ 2 в #BANK (который должен быть нормально включен).
Возможно также прямое (не через #BANK) управление этими элементами, а также элементами:
Обычно предполагается линейная зависимость между кодом, записанным в ЦАП, и выходной величиной (магнитным полем, градиентом, током, напряжением и т.д.). Однако в магнитной системе ВЭПП-3 есть два элемента, для которых такая зависимость сильно нелинейна:
Для этих элементов в таблицах режимов хранятся не уставки кодов, а величины магнитного поля (или градиента), приведенные к энергии 2100 МэВ. Магнитное поле (градиент) меняется пропорционально текущей энергии, а соответствующая величина питающего элемент тока вычисляется специальными подпрограммами с помощью кусочно-линейной интерполяции. Коэффициенты для интерполяции подобраны на основе магнитных измерений этих элементов и хранятся в текстах сегментов BI%4M() и GI%2FD(); сами эти сегменты находятся в файле TVDD. Связь между током и кодом ЦАПа, как обычно, линейная, и определяется записанным в базе данных коэффициентом. Возможен также обратный пересчет от записанных кодов в ЦАПах к магнитному полю (градиенту) с использованием тех же коэффициентов.
Во время ускорения пучка программа #BANK выполняет частичную стабилизацию орбиты по вертикали и горизонтали. Для этого используются два корректора: "4Z1" – для вертикальной коррекции, и "4XMB" – для горизонтальной коррекции. Вертикальная коррекция именно этим корректором в основном компенсирует искажение орбиты, которое возникает из-за изменения температуры в зале ВЭПП-3. Горизонтальное искажение орбиты возникает в динамическом режиме из-за рассогласования магнитных полей в полукольцах и в магнитах вставок в 4-ом промежутке. Корректор "4XMB" как раз подстраивает магнитное поле во всех четырех магнитах вставок.
Для того, чтобы начала работать стабилизация орбиты, в #BANK должны быть включены ключ 5 (для вертикальной орбиты) и ключ 6 (для горизонтальной орбиты); это делает программа - процесс (#PREP). Если включен хотя бы один из этих ключей, #BANK включает ключ 1 в программе #ORBI в Одренке "BEAMV3", которая измеряет орбиту пучка. После этого #ORBI меняет режим своей работы и начинает периодически, с частотой 1 Гц (?), измерять орбиту в двух пикапах: 1P1 и 4P4.
Программа #BANK, в своем рабочем цикле, с частотой 3.125 Гц, запрашивает в #ORBI измеренную орбиту и время ее измерения. Если в течение 5-ти циклов орбита не была измерена заново, #BANK выводит на дисплей сообщение:
В Одренке "BEAMV3" может работать программа #GOST, которая следит за процессом стабилизации орбиты в ВЭПП-3. Во время ускорения эта программа рисует на экране дисплея графики энергии, тока пучка, токов в корректорах 4XMB и 4Z1, а также расчетных углов дефлекции в этих корректорах, необходимых, чтобы скомпенсировать искажение орбиты.
Начало |