Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
W wiki
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • beam diagnostics
  • wiki
  • Wiki
  • dissector pv list

Last edited by Evgeny Bekhtenev Feb 10, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

dissector pv list

Title: Описание PV

TOP

{{TOC}}

Обозначение

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

Макрос $(P) для диссектора раскрывается как

  • VEPP4:dissector_e: - для электронов
  • VEPP4:dissector_p: - для позитронов

Для мод параметры имеют вид $(P)параметр_мода-Суф.

Для результата имеют вид $(P)мода_результат-Суф.

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

  • auto_* для периодической автоподстройки
  • auto1_* для однократной автоподстройки

Описание PV

Ток вертикальная шкала вычисляется по формуле

I = (U - U0) * pow10( step_gain * gain / 20) * GI

где U0, step_gain, gain, GI.

Общие настройки

$(P)connect-Cmd
: производить подключение

$(P)connected-Sts
: статус подключения

$(P)host-SP
: IP адрес пикапстанции, диапазон адресов 192.168.1.150-152

$(P)port-SP
: порт подключения, по умолчанию 2195

$(P)error-SP
: счетчик ошибок, при ошибке инкрементируется

Коэффициент усиления

$(P)gain-SP
: усиление код

$(P)step_gain-SP
: вес шага усиления (10дБ)

$(P)auto_gain-Cmd
: автоматическая подстройка усиления(пока не работает)

$(P)scan_gain-Cmd
: зарезервированно

$(P)level_nosig_gain-SP
: если сигнал меньше указанного уровня, усиление ставится в default_gain

$(P)tau_gain-SP
: зарезервированно

$(P)lim_gain-SP
: зарезервированно

$(P)default_gain-SP
: усиление при отсутствии сигнала

$(P)min_gain-SP
: минимальное усиление 0

$(P)max_gain-SP
: максимальное усиление 1

Банчи

$(P)bunch1-SP
$(P)bunch2-SP
$(P)bunch3-SP
$(P)bunch4-SP
: разрешить измерение соответствующего банча

$(P)sep0-SP
: смещение нумерации сепаратрис

$(P)sep1-SP
$(P)sep2-SP
$(P)sep3-SP
$(P)sep4-SP
: номер сепаратрисы для соответствующего банча

$(P)fine1-SP
$(P)fine2-SP
$(P)fine3-SP
$(P)fine4-SP
: задержка в пределах сепаратрисы

$(P)extr1-SP
$(P)extr2-SP
$(P)extr3-SP
$(P)extr4-SP
: знак максимума, 0 - любой

$(P)auto_sep-SP
$(P)auto1_sep-SP
: автоподстройка сепаратрисы, про результатам сканирования scan2d_i в диапазоне +-2 сепартрисы относительно текущего значения вычисляется амплитуда сигнала и номер сепаратрисы настраивается на максимум, при условии что сигнал превышает level_nosig_gain. Если extr больше нуля считаются значения сигнала больше нуля, если меньше - меньше, если равно - по модулю.

Шкала

$(P)GI-SP
: множитель тока

$(P)X1-SP
: левая граница шкалы профиля

$(P)X2-SP
: правая граница шкалы профиля

$(P)U0-SP
: смещение нуля

$(P)GI0-SP
: зарезервированно

$(P)GI1-SP
: зарезервированно

Моды

Соответствующий тип измерения называется модой. Основным типом измерений является профиль mode_prof. Также есть дополнительные виды измерения. Пооборотные измерения turns и сканирование профиля по сепаратрисам scanprof. Измерение производится если его проведенеие разрешено mode_* и заказано однократное *_do или периодическое измерение *_cont.

С целью экономии ресурсов измерение turnslong с размером буфера до 1М, производится если разрешены mode_turns, mode_turnslong и количество заказанных оборотов ne_turns больше 16384. При этом первые 16384 оборота копируются в результат mode_turns.

$(P)mode-I
: текущее состояние измерения

$(P)mode_turns-Cmd
: разрешение пооборотных измерений

$(P)mode_turnslong-Cmd
: разрешение пооборотных измерений до миллиона точек

$(P)mode_scan-Cmd
: зарезервированно

$(P)mode_scanprof-Cmd
: сканирование для подстройки сепаратрис

$(P)mode_prof-Cmd
: измерение профиля

Общие для всех мод

$(P)ndel0-SP
: задержка между ВЧ и частоты оборотов

$(P)gap-SP
: прореживание

Настройки профиля[opt_prof]

$(P)prof_do-SP
: провести однократное измерение профиля

$(P)prof_cont-SP
: проводить периодические измерения профиля

$(P)ne_prof-SP
: количество оборотов элементарного измерения, кратно 4 (по соображениям упрощения прошивки)

$(P)n_prof-SP
: количество точек профиля

$(P)naver_prof-SP
: усрелнение по формуле U[i] = U[i-1] * (1 - 1/naver) + U * 1/naver

$(P)tdel_prof-SP
: задержка старта следуюжего измерения для банча NONE

$(P)ext_ramp_prof-Cmd
: при старте ждать импульса 50 Гц

$(P)ext_start_prof-Cmd
: при старте ждать импульса на входе старт

$(P)timeout_prof-SP
: тайм аут операци в моде prof, мсек

Полное время измерения (ne_prof + 4) * n_prof оборотов, например для

ne_prof = 24
n_prof  = 512
(24 + 4) * 512 = 7/8 * 16384

время сканирования составит 17.5 мсек (считая что 16384 оборота 20 мсек)

Результат измерения профиля[prof]

$(P)ready_prof-I
: триггер готовности, всегда обновляется последним

$(P)prof_i1-I
$(P)prof_i2-I
$(P)prof_i3-I
$(P)prof_i4-I
: профиль для банчей

$(P)prof_axis-I
: горизонтальная ось профиля X1 - X2

$(P)prof_time-I
: время измерения профиля, сек

Настройки сканирования[opt_scan]

Сдующие парамеры берутся из prof

  • ne_prof
  • n_prof
  • naver_prof
  • ext_ramp_prof
  • ext_start_prof
  • timeout_prof

$(P)scan_do-SP
: провести однократное сканирование

$(P)scan_cont-SP
: проводить периодические сканирование каждые per_scan

$(P)per_scan-SP
: проводить сканирование через сек

$(P)refresh_scan-SP
: обновлять результат сканирования через сек

$(P)timeout_scan-SP
: время затраченно на сканирование, мсек

Результат сканирования[scan]

$(P)ready_scan-I
: триггер окончанич сканирования

$(P)scan2d_i-I
: результат сканирования 2D массив размерностью 222 * n_prof, контурный график

$(P)scan2d_height-I
: высота контурного графика

$(P)scan2d_width-I
: ширина контурного графика

$(P)scan2d_i_min-I
: минимальное значение контурного графика по вертикали( по сепаратрисам)

$(P)scan2d_i_max-I
: максимальное значение контурного графика по вертикали( по сепаратрисам)

$(P)scan2d_min-I
$(P)scan2d_max-I
: минимальное и максимальное значение контурного графика, по модулю равны

$(P)scan_time-I
: время затраченное на сканирование, сек

Настройки пооборотных[opt_turns]

$(P)turns_do-SP
: провести однократное пооборотное измерение

$(P)turns_cont-SP
: проводить периодическое пооборотное измерение

$(P)bunch_turns-SP
: для какого сгустка проводить пооборотные измерения

$(P)ne_turns-SP
: количество оборотов пооборотного измерения, если меньше 16384 заполняется только результат turns_i, если больше то и turnslong_i

$(P)ext_ramp_turns-Cmd
: запуск 50 Гц

$(P)ext_start_turns-Cmd
: запуск от старт

$(P)per_turns-SP
: периодичность проведение пооборотных измерений, сек

$(P)timeout_turns-SP
: таймаут, мсек

Результат пооборотных измерений[turns]

CSS может показывать только 128к оборотов, тем не менее в Edit->Prefernce->CSS Core->EPICS->max_array_bytes надо прописать обьем достаточный для приема 1М точек: 4200000.

$(P)ready_turns-I
: триггер окончания пооборотных измерений

$(P)turns_i-I
: ток пооборотных измерений

$(P)turns_axis-I
: горизонтальная ось обороты

$(P)turnslong_i-I
: ток пооборотных измерений до 1М

$(P)turnslong_axis-I
: горизонтальная ось обороты до 1М

$(P)turns_time-I
: время потраченное на проведение измерения, сек

Внутренние параметры

$(P)prof_i-I
: необработанный профиль для банча NONE

$(P)fine-SP
: задержка в пределах сепаратрисы

$(P)sep-SP
: номер сепаратрисы

FFT

Спектр вычисляется для каждого банча

  • turns_i1
  • turns_i2
  • turns_i3
  • turns_i4

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

Параметры FFT

$(P)turns_i1:pre_filter-SP
$(P)turns_i1:pre_delta-SP
: зарезервировано

$(P)turns_i1:wnd-SP
$(P)turns_i1:arg1-SP
$(P)turns_i1:arg2-SP
$(P)turns_i1:subwnd-SP
$(P)turns_i1:mtbwnd-SP
: настройка окна, wnd - форма окна, arg1,arg2 - параметры окна, subwnd - вычитать среднее окна, mtbwnd - нормировать на площадь окна

Результат FFT

$(P)turns_timestep-I : шаг по времени пооборотных измерений, зависит от gap и VEPP4:FrequencySet-RB

$(P)FFT:turns_axis-I : ось частоты, зависит от turns_timestep

$(P)FFT:turns_i1:turns_i1-I
$(P)FFT:turns_i2:turns_i2-I
$(P)FFT:turns_i3:turns_i3-I
$(P)FFT:turns_i4:turns_i4-I
: спектр пооборотных измерений, для соответствующего банча

$(P)FFT:turns_i1:window:turns_i1-I
$(P)FFT:turns_i2:window:turns_i2-I
$(P)FFT:turns_i3:window:turns_i3-I
$(P)FFT:turns_i4:window:turns_i4-I
: примененное окно


========================================================

Не используется

$(P)finestep_scan-SP
: зарезервированно

$(P)finecount_scan-SP
: зарезервированно

$(P)sep_beg_scan-SP
: зарезервированно

$(P)sep_end_scan-SP
: зарезервированно

$(P)sep_step_scan-SP
: зарезервированно

$(P)sep_range_scan-SP
: зарезервированно

$(P)delayramp_scan-SP
: зарезервированно

$(P)ne_scan-SP
: количество оборотов элементарного измерения

$(P)scan_axis-I
: горизонтальная ось сканирования

$(P)delayramp_turns-SP
: зарезервированно

Clone repository
  • CSS install
  • Qt Creator в debian
  • broadcast
  • btune pv list
  • chan pv list
  • css use
  • dissector pv list
  • dissector
  • epics
  • git
  • Home
  • https_error
  • index
  • internal
  • kud pv list
View All Pages