TOP

Обозначение

Как описано в обзоре название PV имеет иерархию УСТАНОВКА:СИСТЕМА:значение-СУФФИКС. Для одного IOC часть имени УСТАНОВКА:СИСТЕМА Обычно одинакова и задается чарез переменные окружения, в описании используется похожий синтаксис. В тексте сокращенно на переменную ссылаются как на значение.

Описание PV

Описание PV stap IOC

IOC отвечает за импорт данных из stap файла

VEPP4:heart_
периодическое событие, возбуждается 1 раз в секунду, пикапстанции по этому событию начинают измерение равновесной орбиты
VEPP4:stap_dat-I
инкрементируется при каждом чтении stap файла
VEPP4:ch_elpo-I
VEPP4:ch_ready-I
VEPP4:ch_status-I
VEPP4:ch_status_prev-I
VEPP4:ch_v3_sepa-I
VEPP4:isok-I
VEPP4:perepusk-I
VEPP4:v3_1_current-I
VEPP4:v3_2_current-I
VEPP4:v4_bunc_udar-I
VEPP4:v4_current-I
VEPP4:v4_inj_permitted-I
VEPP4:v4_sep_injection-I
значения из stap файла, смотри описание файла
VEPP4:turns_bunch-Sts
VEPP4:turns_kick-Sts
VEPP4:turns_do-I
основываясь на значениях stap файла IOC определяет команду для проведения пооборотных измерений bunch - банч, kick - причина измерения, do - сигнал на проведение измерения

Описание PV pstation IOC

Макрос $(P) для пикапстанции раскрывается как VEPP4:ИМЯ_ПИКАПА:.

Управление ioc

$(P)HW:Host-SP
IP адрес пикапстанции, диапазон адресов 192.168.1.20–90
$(P)HW:Port-SP
порт подключения, по умолчанию 2195
$(P)connect-Cmd
производить подключение
$(P)connected-Sts
статус подключения
$(P)delay_hf-SP
задержка между опорной частотой 180 МГц и пооборотной частотой 800 кГц. выбирается из соображений отсутствия дрожжания счетчика сепаратрис. Дрожжание приводит в прыжкам +–1 сепаратриса,и в результаттах измерений видны провалы.
$(P)Error-SP
счетчик ошибок, при любой ошибке обмена, истечении таймаута и прочих ошибках счетчик инкрементируется, причину ошибки можно посмотреть в консоли IOC.
$(P)Heart-SP
результат отслеживания периодического события, должно меняться одновременно с VEPP4:heart_

Режимы работы

режим измерения, мода измерения - синонимы.

Подробнее по режимы

$(P)mode_single-Cmd
разрешение измерения равновесной орбиты
$(P)mode_fine-Cmd
разрешение режима тонкого сканирования
$(P)mode_sep-Cmd
разрешения сканирования по току сепаратрис
$(P)mode_turns-Cmd
разрешение проведения пооборотных измерений, команда на проведение смотри ниже.
$(P)mode_fast-Cmd
разрешение проведения уточненного сканирования по току сепаратрис, в отличие от mode_sep, измеряется 16 точек на сепаратрису
$(P)mode_lowfreq-Cmd
разрешение измерения чизкочастотных колебаний пучка
$(P)mode-I
текущая мода измерения

Автоматические подстройки

auto – автоматическая подстройка, auto1 – однократная подстройка

$(P)fine_auto1-Cmd
$(P)fine_auto-Cmd
подстройка тонкой задержки fine_e, fine_p
$(P)fine_max-SP
$(P)fine_min-SP
пределы подстройки общей тонкой задержки fine_e, fine_p, должнобыть 100, 400
$(P)fine_bunch_auto1-Cmd
$(P)fine_bunch_auto-Cmd
подстройка тонкой задержки для каждого банча: e1_fine, e2_fine, p1_fine, p2_fine.
$(P)delay_button_auto1-Cmd
$(P)delay_button_auto-Cmd
подстройка индивидуальной задержки электрода delay_button
$(P)delay_button_e_auto1-Cmd
$(P)delay_button_e_auto-Cmd
подстройка индивидуальной задержки электрода для электронов delay_button_e
$(P)delay_button_p_auto1-Cmd
$(P)delay_button_p_auto-Cmd
подстройка индивидуальной задержки электрода для позитронов delay_button_p
$(P)gain_auto-Cmd
подстройка коэффициента усиления gain
$(P)scan_fast_auto1-Cmd
$(P)scan_fast_auto-Cmd
зарезервированно, должно выть выключенно
$(P)u0_button_auto1-Cmd
$(P)u0_button_auto-Cmd
подстройка смещения нуля u0_button

тонкая задержка для электродов

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

$(P)delay_button0-SP
$(P)delay_button1-SP
$(P)delay_button2-SP
$(P)delay_button3-SP
индивидуальная задержка для канала АЦП
$(P)delay_button0_e-SP
$(P)delay_button1_e-SP
$(P)delay_button2_e-SP
$(P)delay_button3_e-SP
добавочная индивидуальная задержка для входа для электронов
$(P)delay_button0_p-SP
$(P)delay_button1_p-SP
$(P)delay_button2_p-SP
$(P)delay_button3_p-SP
добавочная индивидуальная задержка для входа для позитронов

на сколько надо изменить тонкую задержку чтобы попасть на экстремум.

$(P)delay_button0_desired-I
$(P)delay_button1_desired-I
$(P)delay_button2_desired-I
$(P)delay_button3_desired-I
ожидаемая задержка для входа
$(P)delay_button0_e_desired-I
$(P)delay_button1_e_desired-I
$(P)delay_button2_e_desired-I
$(P)delay_button3_e_desired-I
индивидуальная ожидаемая задержка для входа для электронов
$(P)delay_button0_p_desired-I
$(P)delay_button1_p_desired-I
$(P)delay_button2_p_desired-I
$(P)delay_button3_p_desired-I
индивидуальная ожидаемая задержка для входа для позитронов

масштабные коэффициенты для кнопок

$(P)g0_button0-SP
$(P)g0_button1-SP
$(P)g0_button2-SP
$(P)g0_button3-SP
$(P)g1_button0-SP
$(P)g1_button1-SP
$(P)g1_button2-SP
$(P)g1_button3-SP
корректирующий множитель напряжения для кнопки при коэффициенте усиления 0

Смещение нуля

В качестве исходных данных вычисления смещения нуля берется результат тонкого сканирования фине. Для каждой кнопки вычисляется среднее и среднеквадратичная амплитуда. Среднее записывается о ожидаемое desired, среднеквадратичное в sigma. Если sigma всех кнопок меньше порогового u0_button_sigma, считается что пучка нет. И если это разрешено u0_button_auto смещение сохраняется в u0_button.

$(P)u0_button0-SP
$(P)u0_button1-SP
$(P)u0_button2-SP
$(P)u0_button3-SP
смещение нуля кнопки
$(P)u0_button0_desired-I
$(P)u0_button1_desired-I
$(P)u0_button2_desired-I
$(P)u0_button3_desired-I
ожидаемое смещение нуля
$(P)u0_button0_sigma-I
$(P)u0_button1_sigma-I
$(P)u0_button2_sigma-I
$(P)u0_button3_sigma-I
среднеквадратичная амплитуда
$(P)u0_button_sigma-SP
предельная среднеквадратичная амплитуда

Настройки измерений

Номер сепаратрисы банча вычисляется как сумма смещения sep0 и индивидуального номера сепаратрисы банча e1 e2 p1 p2_sep.

$(P)sep0-SP
смещение номера сепаратрисы,

Тонкая задержка вычисляется как сумма тонкой задержки по типу частиц fine_e fine_p и индивидуальной задержки банча e1 e2 p1 p2_fine.

$(P)fine_e-SP
тонкая задержка для частиц типа e
$(P)fine_p-SP
тонкая задержка для частиц типа p
$(P)fine_e_desired-I
смещение до экстремума для типа частиц
$(P)fine_p_desired-I
смещение до экстремума для типа частиц
$(P)gain-SP
код усиления

Настройки измерений в моде SINGLE

Настройки банча

макрос B – одно из e1, e2, p1, p2

$(P)$(B)_bunch-Cmd
разрешение измерения банча
$(P)$(B)_extr-SP
тип экстеремума:
1 – максимум
–1 - минимум
$(P)$(B)_sep-SP
номер сепаратрисы
$(P)$(B)_fine-SP
тонкая задержка
$(P)$(B)_fine_desired-I
контроль подстройки

Общие для всех банчей

$(P)nturns_single-SP
длительность измерения в режиме single, в оборотах
$(P)gap_single-SP
0
$(P)np_adc_read_single-SP
0
$(P)step_single-SP
шаг сканирования в режиме single

Настройки измерений в моде FINE

$(P)step_fine-SP
шаг сканирования в режиме fine
$(P)nturns_fine-SP
длительность измерения в режиме fine, в оборотах
$(P)gap_fine-SP
0
$(P)np_adc_read_fine-SP
0
$(P)fine_auto_min-SP
предел в кодах ниже которого не выполняется подстройка задержки

Настройки измерений в моде SEP

$(P)nturns_sep-SP
длительность измерения в режиме sep, в оборотах
$(P)np_adc_read_sep-SP
$(P)gap_sep-SP

Настройки измерений в моде TURNS

$(P)turns_bunch-SP
банч для которого производятся пооборотные измерения
$(P)turns_do-SP
запись не 0 производит пооборотные измерения, по окончании измерения сбрасывается в 0
$(P)turns_process-I
фактичкское состояние процесса пооборотных измерений
$(P)turns_kick-SP
причина измерений INJ, UDAR, SOFT
$(P)turns_e_start0-SP
$(P)turns_p_start0-SP
количество оборотов в начале измерения координаты которых зануляются, скрывается шум в отсутствие пучка, для электронов и позитронов
$(P)turns_timeout-SP
таймаут пооборотных измерений
$(P)nturns_turns-SP
длительность пооборотных измерений в оборотах, авоматически увеличивается, должно быть по крайней мере 2 в степени np_adc умножить на gap+1
$(P)np_adc_read_turns-SP
размер массива пооборотных измерений, 2 в соответствующей степени,
0 – 1024,
1 – 2048,
2 – 4096,
3 – 8192.
$(P)gap_turns-SP
прореживание, измерение производится для каждого gap+1 оборота, при gap равном нулю на каждом обороте
Временная диаграмма смены значений PV при успешных пооборотных измерениях.
Временная диаграмма смены значений PV при успешных пооборотных измерениях.

где:

Временная диаграмма смены значений PV при не успешных пооборотных измерениях.
Временная диаграмма смены значений PV при не успешных пооборотных измерениях.

где:

Настройки измерений в моде FAST

Сканирование по всем сапаратрисам, 16 точек на сепартрису. Сканируется с тонкой задержкой для электронов, поэтому для позитронов сигналы с пластин для пикапов семества [NS]RP* расползаются.

$(P)nturns_fast-SP
800 - 1 мс
$(P)gap_fast-SP
0
$(P)np_adc_read_fast-SP
0
$(P)scan_fast_mult-SP
множитель компенсации нелинейности задержки, номинально в диапазоне 32–34
$(P)$(B)_scan_fast_base-SP
зарезервированно

Настройки измерений в моде TIMEBACK

Параметры пикапа

$(P)g0_gI-SP
множитель тока при коде коэффициента усиления 0
$(P)g1_gI-SP
множитель тока при коде коэффициента усиления 1
$(P)GI-SP
множитель по току
$(P)GX-SP
геометрический множитель по горизонтальной координате
$(P)GZ-SP
геометрический множитель по вертикальной координате
$(P)X0-SP
смещение нуля по горизонтали
$(P)Z0-SP
смещенеи нуля по вертикали

Произвольное преобразование координат

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

$(P)poly_x_e-SP
полином для преобразования горизонтальной координаты для электронов
$(P)poly_z_e-SP
полином для преобразования веритикальной координаты для электронов
$(P)poly_x_p-SP
полином для преобразования горизонтальной координаты для позитронов
$(P)poly_z_p-SP
полином для преобразования вертикальной координаты для позитронов

Порядок вычислений

в начале производися предварительное вычисление координат по формуле для вертикальногоризонтального или диагонального расположения электродов, после умножения на GX, GZ получаем предварительные координаты x и z. Из них формруем вертораргумент

Vxz = (1, x, z, x*x, x*z, z*z, x**3, x**2*z, x*z**2, z**3)

затем скалярно умножаем на соответствующий полином и получаем скорректированную координату, после этого к координате применяются постоянные смещения связанные со смежением нуля пикапа (X0, Z0) и геодезические смещения (GeodX0, GeodZ0)

На вход принимаются полиномы –1, 0, 1, 2, и 3-го порядков(длинна массива 0, 1, 3, 6, 10 элементов), если порядки полиномов не совпадают или длины не правильные, преобразование не производится.

Примеры:

Тривиальное преобразование

poly_x = 0 1 0 
poly_z = 0 0 1

Отражение координат, вращение на 180 градусов

poly_x = 0 -1 0 
poly_z = 0 0 -1

Обмен координат, отражение по диагонали

poly_x = 0 0 1 
poly_z = 0 1 0

Поворот координат на угол a

poly_x = 0 cos(a) -sin(a) 
poly_z = 0 sin(a)  cos(a)

Результаты измерений

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

$(P)ready_fast-I
$(P)ready_fine-I
$(P)ready_sep-I
$(P)ready_single-I
$(P)ready_turns-I
триггеры готовности данных

Результаты измерений в моде SINGLE

Описание измерения в моде SINGLE

$(P)e1_x-I
$(P)e2_x-I
$(P)p1_x-I
$(P)p2_x-I
положение пучка X для каждого банча
$(P)e1_z-I
$(P)e2_z-I
$(P)p1_z-I
$(P)p2_z-I
положение пучка Z для каждого банча
$(P)e1_i-I
$(P)e2_i-I
$(P)p1_i-I
$(P)p2_i-I
ток для каждого банча

Следующие Параметры требуются для диагностики правильности работы режима SINGLE.

Переменная $(B) раскрывается как e1, e1, p1, p2.

$(P)$(B)_u0-I
$(P)$(B)_u1-I
$(P)$(B)_u2-I
$(P)$(B)_u3-I
необработанное напряжение на кнопке в кодах АЦП, без учета смещения нуля и корректирующих множителей.
$(P)$(B)_scan_single_axis-I
$(P)$(B)_scan_single_U0-I
$(P)$(B)_scan_single_U1-I
$(P)$(B)_scan_single_U2-I
$(P)$(B)_scan_single_U3-I
сканирование вокруг максимума
$(P)$(B)_sep_desired-I
$(P)$(B)_scan_fast_sep-I
$(P)$(B)_scan_fast_U-I
$(P)scan_single_to_avr-I
среднее время потраченное на измерение
$(P)scan_single_to_max-I
максимальное время
$(P)scan_single_to_min-I
минимальное
$(P)scan_single_total-I
полное время

Результаты измерений в моде FINE

$(P)scan_fine_to_avr-I
$(P)scan_fine_to_max-I
$(P)scan_fine_to_min-I
среднее время потраченное на измерение
$(P)scan_fine_total-I
полное время
$(P)$(B)_scan_fine_axis-I
ось
$(P)$(B)_scan_fine_U0-I
$(P)$(B)_scan_fine_U1-I
$(P)$(B)_scan_fine_U2-I
$(P)$(B)_scan_fine_U3-I
напряжение на кнопке, с учетом смещения 0 и коррктирующего множителя напряжения
$(P)$(B)_scan_fine_U-I
среднее напряжение на всех кнопках

Результаты измерений в моде SEP

$(P)scan_sep_e-I
ток в каждой сепаратрисе, с тонкой задержкой настроенной на максимум электронов
$(P)scan_sep_p-I
ток в сепаратрисе для позитронов
$(P)scan_sep_to_avr-I
среднее время измерения
$(P)scan_sep_to_max-I
$(P)scan_sep_to_min-I
$(P)scan_sep_total-I
полное время измерения

Результаты измерений в моде TURNS

$(P)turns_axis-I
номер оборота
$(P)turns_i-I
пооборотный ток
$(P)turns_x-I
пооборотный горизональная координата
$(P)turns_z-I
вертикальная координата
$(P)turns_U0-I
$(P)turns_U1-I
$(P)turns_U2-I
$(P)turns_U3-I
пооборотный код АЦП
$(P)turns_total-I
полное время измерения, включает ожидание запуска, время измерения и чтение данных

Результаты измерений в моде FAST

$(P)scan_fast_to_avr-I
$(P)scan_fast_to_max-I
$(P)scan_fast_to_min-I
$(P)scan_fast_total-I
$(P)scan_fast_U_axis-I
$(P)scan_fast_U-I

Результат измерений банча

Настройки перекрестной коррекции

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

макрос $(CROSS) раскрывается как cross1, cross2.

$(P)$(CROSS)_enable-Cmd
разрешение
$(P)$(CROSS)_enabled-Sts
$(P)$(CROSS)_clear-Cmd
$(P)$(CROSS)_bunch-SP
банч
$(P)$(CROSS)_sep-RB
$(P)$(CROSS)_sep-SP
сеператриса банча
$(P)$(CROSS)_ref-SP
$(P)$(CROSS)_ref-RB
опорный банч
$(P)$(CROSS)_ref_sep-RB
$(P)$(CROSS)_ref_sep-SP
сепаратриса опроного банча
$(P)$(CROSS)_ref_fine_desired-I
$(P)$(CROSS)_ref_fine-SP
задержка в опорном банче
$(P)$(CROSS)_ref_min-SP
минимальный уровень сигнала
$(P)$(CROSS)_sigma-I
$(P)$(CROSS)_u0_desired-I
$(P)$(CROSS)_u0-RB
$(P)$(CROSS)_u0-SP
$(P)$(CROSS)_u1_desired-I
$(P)$(CROSS)_u1-RB
$(P)$(CROSS)_u1-SP
$(P)$(CROSS)_u2_desired-I
$(P)$(CROSS)_u2-RB
$(P)$(CROSS)_u2-SP
$(P)$(CROSS)_u3_desired-I
$(P)$(CROSS)_u3-RB
$(P)$(CROSS)_u3-SP

Данные из STAP файла

$(P)ch_v3_sepa-SP
$(P)v3_1_current-SP
$(P)v3_2_current-SP
полученно из stap файла

Описание PV reaper IOC

Макрос $(R) раскрывается как “VEPP4:AGR:”

Получение данных из stap файла

$(R)ch_v3_sepa-RB
$(R)ch_v3_sepa-SP
$(R)v3_1_current-RB
$(R)v3_1_current-SP
$(R)v3_2_current-RB
$(R)v3_2_current-SP
$(R)error-RB
$(R)error-SP
$(R)heart-SP
полученно из stap файла

информация принятатя из пикапстанций

Макрос $(PN) раскрывается как p1, p2 … p54

$(R)$(PN)-Cmd
сбор разрешен
$(R)$(PN)_connected-Cmd
$(R)$(PN)_e1_i-SP
$(R)$(PN)_e1_x-SP
$(R)$(PN)_e1_z-SP
$(R)$(PN)_e2_i-SP
$(R)$(PN)_e2_x-SP
$(R)$(PN)_e2_z-SP
$(R)$(PN)_error-SP
$(R)$(PN)_gain-SP
$(R)$(PN)_name-SP
$(R)$(PN)_p1_i-SP
$(R)$(PN)_p1_x-SP
$(R)$(PN)_p1_z-SP
$(R)$(PN)_p2_i-SP
$(R)$(PN)_p2_x-SP
$(R)$(PN)_p2_z-SP
$(R)$(PN)_ready_single-SP
$(R)$(PN)_ready_turns-SP
$(R)$(PN)_single_error-SP
$(R)$(PN)_turns_bunch-SP
$(R)$(PN)_turns_error-SP
$(R)$(PN)_turns_kick-SP
захваченные данные

Описание PV fftvepp4 IOC

Описание PV sep_all IOC

Описание PV sep_helper IOC