Title: Описание PV CSS: table.css
- Обозначение
-
Описание PV
- Описание PV stap IOC[stap-IOC]
-
Описание PV pstation IOC[pstation-ioc]
- Управление ioc[pstation-control]
- Режимы работы
- Автоматические подстройки
- тонкая задержка для электродов
- масштабные коэффициенты для кнопок
- Смещение нуля
- Настройки измерений
- Настройки измерений в моде SINGLE
- Настройки измерений в моде FINE
- Настройки измерений в моде SEP
- Настройки измерений в моде TURNS[turns]
- Настройки измерений в моде FAST
- Настройки измерений в моде TIMEBACK
- Параметры пикапа
- Произвольное преобразование координат
- Результаты измерений
- Описание PV reaper IOC
- Описание PV fftvepp4 IOC
- Описание PV sep_all IOC
- Описание PV sep_helper IOC
Обозначение
Как описано в обзоре название PV имеет иерархию УСТАНОВКА:СИСТЕМА:значение-СУФФИКС. Для одного IOC часть имени УСТАНОВКА:СИСТЕМА Обычно одинакова и задается чарез переменные окружения, в описании используется похожий синтаксис. В тексте сокращенно на переменную ссылаются как на значение.
Описание PV
Описание PV stap IOC[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[pstation-ioc]
Макрос $(P) для пикапстанции раскрывается как VEPP4:ИМЯ_ПИКАПА:.
Управление ioc[pstation-control]
$(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
: смещение до экстремума для типа частиц
Настройки измерений в моде 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)step_single-SP
: шаг сканирования в режиме single
Настройки измерений в моде FINE
$(P)step_fine-SP
: шаг сканирования в режиме fine
$(P)nturns_fine-SP
: длительность измерения в режиме fine, в оборотах
$(P)fine_auto_min-SP
: предел в кодах ниже которого не выполняется подстройка задержки
Настройки измерений в моде SEP
$(P)nturns_sep-SP
: длительность измерения в режиме sep, в оборотах
Настройки измерений в моде TURNS[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 равном нулю на каждом обороте
где:
- t1 - завершение предидущего измерения, типично 1 - 20 мсек
- t2 - ожидание прихода импульса запуска, от 0 до turns_timeout-SP
- t3 - измерение от 1 мсек до 0.3 сек плюс чтение от 0.1 до 1.5 сек в зависимости от прореживания и размера массива плюс повторное чтение в случае ошибки до 5 секунд в худшем случае.
- t4 - обновление PV, типично 1 мсек
где:
- t1 - завершение предидущего измерения, типично 1 - 20 мсек
- t2 - ожидание прихода импульса запуска, от 0 до turns_timeout-SP плюс, в наихудшем худшем случае, время измерения и три повторных неудачных чтения в сумме до 7 сек.
- t4 - обновление PV, типично 1 мсек
Настройки измерений в моде FAST
Сканирование по всем сапаратрисам, 16 точек на сепартрису. Сканируется с тонкой задержкой для электронов, поэтому для позитронов сигналы с пластин для пикапов семества [NS]RP* расползаются.
$(P)nturns_fast-SP
: 800 - 1 мс
$(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)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
:
Результат измерений банча
Настройки перекрестной коррекции
Вблизи мест встречи пучков, в центре технического, экспериментального промежутков и полуколец, хвост частиц одного типа наезжает на сигнал частиц другого типа. Всего для четырех сгустков возможно два таких случая. Для каждого случая предусмотрен свой набор параметров компенсации хвоста. Алгоритм компенсации работает следующим образом, в параметрах компенсации запоминается при каких условиях работает компенсация, сгусток для которого проводится компенсация, сгусток который влияет, сепаратрисы в которых ожидаются сгустки, результат сканирования fine, задержка при которой сканирование было полученно. Если текущие настройки банчей не соответствуют условиям срабатывания алгоритма компенсации , алгоритм не срабатывает. Если все условия удовлетворены, то производится компенсация, по току в опорном банче определяется велична хвоста в корректируемом банче и поправка вычитается.
макрос $(CROSS) раскрывается как cross1, cross2.
$(P)$(CROSS)_enable-Cmd
: разрешение
$(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)_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
: захваченные данные