TOP

Обозначение

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

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

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

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

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

Описание 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
прореживание

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

$(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 мсек)

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

$(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
время измерения профиля, сек

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

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

$(P)scan_do-SP
провести однократное сканирование
$(P)scan_cont-SP
проводить периодические сканирование каждые per_scan
$(P)per_scan-SP
проводить сканирование через сек
$(P)refresh_scan-SP
обновлять результат сканирования через сек
$(P)timeout_scan-SP
время затраченно на сканирование, мсек

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

$(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
время затраченное на сканирование, сек

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

$(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
таймаут, мсек

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

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, для остальных банчей аналогично.

Параметры 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. В turns_timestep-I.C можно записать множитель шага, данное значени не сохраняется при перезагрузке IOC
$(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
зарезервированно