v4orb2.wiki

описание пикапов и диссектора ВЭПП3-4
git clone http://www.inp.nsk.su/~bekhte/v4orb2.wiki.git
Log | Files | Refs

commit 532f6a522aa16e8df94687eec391bc73ccfec634
parent fe547995eaa7d86aaa26a01560332558aae6357a
Author: E.A.Bekhtenev <E.A.Bekhtenev@inp.nsk.su>
Date:   Mon Mar 27 22:46:36 +0700

Merge branch 'master' of ssh://star.inp.nsk.su/home/bekhte/public_html/v4orb2.wiki

Diffstat:
CSS-install.md | 32++++++++++++++++++++++++--------
broadcast.md | 35++++++++++++++++++++++++++++++++---
css-use.md | 1+
dissector.md | 52++++++++++++++++++++++++++--------------------------
epics.md | 2++
5 files changed, 85 insertions(+), 37 deletions(-)
diff --git a/CSS-install.md b/CSS-install.md @@ -1,4 +1,5 @@ Title: CSS +CSS: table.css [TOP](index) @@ -10,7 +11,7 @@ Title: CSS Представляет попытка реализации концепции визуального программирования, когда люди основной деятельность которых не является программирование на универсальном языке имеют возможность самостоятельно реализовывать интерфейс доступа и управления объектом. Данная задача решается с помощью простого встроенного визуального редактора. Редактор позоляет произвольным образом размещать специальные виджеты готовые для работы с ситемой. Естественно это возможно при условии что нижний уровень предоставляет такую возможность. При необходимости можно писать простенькие скрипты на питне или яваскрипт. -## Запуск css на машинах пульта ВЭПП +# Запуск css на машинах пульта ВЭПП Для запуска служит CSS скрипт **css-vepp4**. @@ -20,42 +21,49 @@ css-vepp4 При запуске CSS создает в домашней директории рабочего окружения файл блокировки. Поскольку домашняя директория общаяя для всех машин пультовой, то возникает проблема запуска на разных машинах. Данную проблему и решает скрипт **css-vepp4** добавляя в путь до директории рабочего окружения имя компьютера. -## Установка +# Установка Для загрузки с сайта CSS предлагается версии 3 и 4 под linux И Windows, как 32 так и 64 разрядные. На ВЭПП используется версия 3.x.x. Версия 3 требует для своей работы java 7, данное условие выполняется для Scintific Linux 5.x, достаточно установить пакет java-1.7.0-openjdk. Версия 4 требует java 8. -#### Linux +## Linux + +* [готовые rpm пакеты](http://www.inp.nsk.su/~bekhte/repo/) + * сборка rpm пакета Данный rpm пакет это переупаковка исходного архива с добавлением зависимостей и скрипта **css-vepp4**, для его сборки jdk не требуется. Получить spec ```shell -git clone --branch css http://star.inp.nsk.su/~bekhte/rpms.git rpms.css +git clone --branch css http://www.inp.nsk.su/~bekhte/rpms.git rpms.css ``` * Установка в домашнюю директорию Скачать, распаковать, запустить -#### windows +## windows Скачать, распаковать, запустить -### Настройка +# Настройка После установки необходимо настроить CSS и установть opi файлы. При первом запуске будет создано рабочее пространство, где будут храниться настройки и opi файлы. Для определенности предположим что папка называется **css-workspace**. Папка создается скриптом **css-vepp4** в домашней директории (под Windows %USERPROFILE%\css-workspace). +## Перспектива + ![вид окна при первом запуске](css-first-start.png) Приветственное окно можно закрыть нажав на кнопку Workbench ![перспектива CSStudio](css-first-start-2.png) +## получение opi файлов + После создания папки с рабочим пространством, следует установить файлы описания окон - opi файлы. git 1.7.x, SL5x @@ -73,6 +81,7 @@ cd v4orb2-opi git submodule init git submodule update cd .. +git clone http://www.inp.nsk.su/~bekhte/vepp4-orbit.git ``` git поновее @@ -81,13 +90,16 @@ git поновее cd ~/css-workspace/CSS git clone --recursive http://www.inp.nsk.su/~bekhte/v3orb2-opi.git git clone --recursive http://www.inp.nsk.su/~bekhte/v4orb2-opi.git +git clone http://www.inp.nsk.su/~bekhte/vepp4-orbit.git ``` ![установка проектов](css-first-start-3.png) +## Экран верхнего уровня + Далее надо открыть файлы в рантайм окружении. Это можно достигнуть многими способома, например пропишем главное окно ВЭПП4 в качестве окна верхнего уровня, это удобно потому что для вызова этого окна есть специальная кнопка в интерфейсе. -Откроем меню Edit -> Preferences... -> CSS Fplication -> Display -> BOY +Откроем меню Edit -> Preferences... -> CSS Aplication -> Display -> BOY В поле ввода TOP OPIs напишем "/CSS/v4orb2-opi/main.opi" - вызов окна верхнего уровня ВЭПП4 @@ -111,7 +123,11 @@ git clone --recursive http://www.inp.nsk.su/~bekhte/v4orb2-opi.git CSS сохраняет при закрытии расположение окон, поэтому данную процедуру достаточно проделать один раз при установке -#### Обновление opi файлов +## Оптимизация трафика + +[настройка broadcast-ов](broadcast#css) + +# Обновление opi файлов Для обновления выполнить в директории с opi файлами: diff --git a/broadcast.md b/broadcast.md @@ -6,13 +6,19 @@ Title: Броадкасты # Броадкасты -## Настройка файрвола в линуксе +Суть проблемы. Для поиска ресурсов эпикс по умолчанию использует броадкасты. +Структура сети в ИЯФе плоская, поэтому броадкасты разлетаются по всей сети и в +итоге полоса сети расходуется не эффективно. Для решения проблемы можно напрямую перечислить +компьютеры на которых следует искать ресурсы для подключения. Это требует настройки как на клиенте +так и участия администратора на сервере. + +## Настройка файрвола в линуксе[firewall-linux] https://wiki-ext.aps.anl.gov/epics/index.php/How_to_Make_Channel_Access_Reach_Multiple_Soft_IOCs_on_a_Linux_Host ## Настройка консоли в линуксе -На машинах vepp4-\* настройка пропмсана в логинскрипте для всех пользователей и ничего делать не надо +На машинах vepp4-\* настройка прописана в логинскрипте для всех пользователей и ничего делать не надо ``` @@ -31,7 +37,30 @@ export EPICS_CA_ADDR_LIST="192.168.176.8 192.168.176.9 192.168.176.14 192.168.17 ``` -## Настройка CSS +## Настройка CSS[css] + +файервол: + +- Windows + + CSS нужно разрешить в файерволле. как приложение + +- Linux + + - Если фаервол в режиме workstaiton, когда порты 1024-65535 открыты, ничего делать не нужно + - Eсли не производилась настройка [броадкастов](#firewall-linux) разрешить в файерволе source-port + + ``` + udp 5064 + udp 5065 + ``` + + - Если производилась разрешить в файерволе source-port + + ``` + udp 1024 + ``` + или куда были назначены исходящие. Открывеам diff --git a/css-use.md b/css-use.md @@ -1,4 +1,5 @@ Title: Использование +CSS: table.css [TOP](index) diff --git a/dissector.md b/dissector.md @@ -196,35 +196,35 @@ big endian (от старшего байта к младшему). Все пак В Таблицах 1-12 приведено описание регистров параметров. Всего регистров 32 (номера 0-31). Длина каждого регистра – 2 байта. -### регистра 0 - status[reg0] +### регистра 0 - STATUS[reg0] [Таблица 1. Описание регистра 0 (адрес 0х00).][tab1] | Номера битов | 15-5 | 4 | 3 | 2 | 1 | 0 | |:------------:|:---------------:|:-:|:-:|:-:|:-:|:-:| | Описание |Не исполь-зуются | Сканировать (0) или нет (1) задержкой в режиме №2 | Внутренний (0) или внешний (1) запуск измерений от импульса “RAMP” | Внутренний (0) или внешний (1) запуск измерений от импульса “START” |Не исполь-зуются | Код усиления (0-1) | -### регистр 1 - *N<sub>e</sub>*[reg1] +### регистр 1 - NELO[reg1] [Таблица 2. Описание регистра 1 (адрес 0х01).][tab2] | Номера битов | 15-0 | |:-------------:|:--------------------------------------------------------------------------:| | Описание | *N<sub>e</sub>* – длительность цикла измерения в оборотах (младшие 16 бит) | -### регистр 2 - *N<sub>e</sub>*[reg2] +### регистр 2 - NEHI[reg2] [Таблица 3. Описание регистра 2 (адрес 0х02).][tab3] | Номера битов | 15-8 | 7-0 | |:------------:|:---------------:|:----:| | Описание | Не используются | *N<sub>e</sub>* – длительность цикла измерения в оборотах (старшие 8 бит) | -### регистр 3 - gap[reg3] +### регистр 3 - GAP[reg3] [Таблица 4. Описание регистра 3 (адрес 0х03).][tab4] | Номера битов | 15-8 | 7-0 | |:------------:|:---------------:|:----:| | Описание | Не используются | Коэффициент прореживания пооборотных измерений во внутренней памяти<br></br> (0 – прореживание выключено, 1 – записывается каждый второй оборот, 2 – каждый третий и т.д.) | -### регистр 4 - *N<sub>DEl0</sub>*[reg4] +### регистр 4 - NDEL0[reg4] [Таблица 5. Описание регистра 4 (адрес 0х04).][tab5] | Номера битов | 15-3 | 2-0 | @@ -235,7 +235,7 @@ big endian (от старшего байта к младшему). Все пак “нулевой сепаратрисы” и ВЧ напряжения. Подобрав один раз, надо ее запомнить, а затем всегда использовать. -### регистр 6 - sep[reg6] +### регистр 6 - SEP[reg6] [Таблица 6. Описание регистра 6 (адрес 0х06).][tab6] | Номера битов | 15-8 | 7-0 | @@ -247,14 +247,14 @@ big endian (от старшего байта к младшему). Все пак *N<sub>sep</sub>* = 255 – *C<sub>sep</sub>*. -### регистр 8 - fine[reg8] +### регистр 8 - FINE[reg8] [Таблица 7. Описание регистра 8 (адрес 0х08).][tab7] | Номера битов | 15-10 | 9-0 | |:------------:|:---------------:|:-----------------------------:| | Описание | Не используются | Код плавной задержки (0-1023) | -### регистр 9 - finestep[reg9] +### регистр 9 - FINESTEP[reg9] [Таблица 8. Описание регистра 9 (адрес 0х09).][tab8] | Номера битов | 15-9 | 8-0 | @@ -267,7 +267,7 @@ big endian (от старшего байта к младшему). Все пак Если *Code9*=0, то *ΔT<sub>DEL</sub>* = 10пс. -### регистр 10 - delayramp[reg10] +### регистр 10 - DELAYRAMP[reg10] [Таблица 9. Описание регистра 10 (адрес 0х0a).][tab9] @@ -279,14 +279,14 @@ big endian (от старшего байта к младшему). Все пак *ΔT<sub>RAMP</sub>* = *Code10* × 1.28 мкс. -### регистр 12 - page[reg12] +### регистр 12 - PAGE[reg12] [Таблица 10. Описание регистра 12 (адрес 0х0с).][tab10] | Номера битов | 15-8 | 7-0 | |:------------:|:----:|:---:| | Описание | Конечная страница массива в режиме непрерывно передаваемого профиля пучка | Начальная страница массива в режиме непрерывно передаваемого профиля пучка | -### регистр 17 - tdel[reg17] +### регистр 17 - TDEL[reg17] [Таблица 11. Описание регистра 17 (адрес 0х11).][tab11] | Номера битов | 15-0 | @@ -297,7 +297,7 @@ big endian (от старшего байта к младшему). Все пак *T<sub>DEL</sub>* = *Code_del* × 1024 × 0.04 мкс. -### регистр 29 - version[reg29] +### регистр 29 - VERsion[reg29] [Таблица 12. Описание регистра 29 (адрес 0х1d).][tab12] | Номера битов | 15-8 | 7-0 | @@ -306,7 +306,7 @@ big endian (от старшего байта к младшему). Все пак [Регистр 29](#reg29) работает только на чтение. В данный момент версия прошивки 0х02, тип блока 0х01. -### регистр 30, 31 - HF[reg30] +### регистр 30, 31 - HFHI, HFLO[reg30] При чтении [регистров 30,31](#reg30) (адреса 0x1e,0х1f) можно получить измеренную частоту обращения *F<sub>0</sub>* – частоту сигнала, поступающего на вход “0-сепаратриса” блока. Код частоты @@ -378,7 +378,7 @@ big endian (от старшего байта к младшему). Все пак ## Описание типов команд. -### Команда 0x00 - Запись в регистры параметров[cmd0] +### Команда WRREG (0x00) - Запись в регистры параметров[cmd0] Номер регистра содержится в байте 1 команды, записываемые данные – в байтах 2,3. В ответ на эту команду Блок @@ -388,7 +388,7 @@ big endian (от старшего байта к младшему). Все пак и приходом внешнего импульса запуска “START” (в режиме работы с внешним запуском) команда 0х00 выполняться может. -### Команда 0x02 - чтение усредненного значения сигнала[cmd2] +### Команда READ (0x02) - чтение усредненного значения сигнала[cmd2] (среднее значение завремя *T<sub>И</sub>* ). В ответ на эту команду пикап-станция сразу же посылает 4 байта “АСК”. Далее @@ -423,7 +423,7 @@ big endian (от старшего байта к младшему). Все пак ожидает прихода внешнего синхроимпульса после [команды 0х03](#cmd3), отправка пакета данных начнется только после окончания цикла измерения. -### Команда 0x03 - запуск цикла измерения.[cmd3] +### Команда START (0x03) - запуск цикла измерения.[cmd3] В ответ на эту команду Блок АЦП сразу же посылает 4 байта “АСК”. Затем, если блок работает в режиме с внутренним запуском (биты 2,3 [регистра 0](#reg0) равны 0), сразу же @@ -437,7 +437,7 @@ big endian (от старшего байта к младшему). Все пак [fig10]:dissector.img/fig10.png -### Команда 0x04 - чтение регистра параметров[cmd4] +### Команда RDREG (0x04) - чтение регистра параметров[cmd4] Номер регистра, чтение которого запрашивается, содержится в байте 2 команды. В @@ -458,7 +458,7 @@ big endian (от старшего байта к младшему). Все пак цикла измерения. В промежуток времени между приходом [команды 0х03](#cmd3) и приходом внешнего импульса запуска команда 0х04 выполняться может. -### Команда 0x05 - остановка цикла измерения.[cmd5] +### Команда STOP (0x05) - остановка цикла измерения.[cmd5] В ответ на эту команду Блок АЦП сразу же посылает 4 байта “АСК”. Затем сразу же выполняет данную команду, то есть останавливает цикл измерения. Чаще всего эта @@ -466,7 +466,7 @@ big endian (от старшего байта к младшему). Все пак автоматической посылкой данных (см. ниже). Вообще, полезно перед каждым новым запуском измерения подавать данную команду. -### Команда 0x07 - обнуление счетчика числа измерения.[cmd7] +### Команда RSTCNT (0x07) - обнуление счетчика числа измерения.[cmd7] В ответ на эту команду Блок АЦП сразу же посылает 4 байта “АСК”. Затем сразу же выполняет данную команду, то есть обнуляет номер измерения. Содержимое счетчика @@ -475,7 +475,7 @@ big endian (от старшего байта к младшему). Все пак т.д. Данная команда может выполняться в промежутке времени между приходом [команды 0х03](#cmd3) и приходом внешнего синхроимпульса запуска. -### Команда 0x0A - чтение внешней памяти пооборотных измерений[cmd10] +### Команда TURNLONG 0x0A - чтение внешней памяти пооборотных измерений[cmd10] В ответ на эту команду Блок АЦП сразу же посылает 4 байта “АСК”. Затем, в зависимости от того, запущен цикл измерения или нет, он, либо сразу же посылает данные @@ -532,7 +532,7 @@ big endian (от старшего байта к младшему). Все пак подается в момент, когда, либо запущен цикл измерения, либо блок ожидает приходавнешнего синхроимпульса после [команды 0х03](#cmd3), отправка пакетов данных начнется только после окончания цикла измерения. -### Команда 0x0D - чтение внутренней памяти пооборотных измерений[cmd13] +### Команда TURNSHORT (0x0D) - чтение внутренней памяти пооборотных измерений[cmd13] В ответ на эту команду Блок АЦП сразу же посылает 4 байта “АСК”. Затем, в зависимости от того, запущен цикл измерения или нет, он, либо сразу же посылает данные @@ -589,7 +589,7 @@ big endian (от старшего байта к младшему). Все пак прихода внешнего синхроимпульса после [команды 0х03](#cmd3), отправка пакетов данных начнется только после окончания цикла измерения. -### Команда 0x0С - запись в регистр параметров с последующим чтением[cmd12] +### Команда WRRDREG (0x0С) - запись в регистр параметров с последующим чтением[cmd12] Данная команда объединяет [команды 0х00](#cmd0) и [0х04](#cmd4). Номер регистра содержится в байте 1 команды, записываемые данные – в байтах 2,3. В ответ на эту команду Блок АЦП @@ -600,7 +600,7 @@ big endian (от старшего байта к младшему). Все пак команда 0х0C выполняться может. Затем, после записи в регистр сразу же осуществляется его чтение. Блок АЦП посылает 4-байтовый пакет, показанный на [Рис.11](#fig11). -### Команда 0x0F – синхронное чтение регистра параметров[cmd15] +### Команда RDREGSYN (0x0F) – синхронное чтение регистра параметров[cmd15] Данная команда аналогична [команде 0х04](#cmd4), единственное ее отличие в том, что процесс посылки пакета данных (4 байта) привязан по времени к окончанию цикла @@ -608,7 +608,7 @@ big endian (от старшего байта к младшему). Все пак подачи [команды 0х03](#cmd3) с внешним запуском подать [команду 0х0F](#cmd15), то содержимое регистра придет после окончания цикла измерения (сразу после “CONF”). -### Команда 0x06 – запуск режима получения массива накопленных данных[cmd6] +### Команда START2 (0x06) – запуск режима получения массива накопленных данных[cmd6] Перед подачей команды запуска режима [*№2*](#rejim), в зависимости от подвида режима (сканирование задержкой или получение “профиля” пучка) нужно установить требуемое @@ -645,7 +645,7 @@ big endian (от старшего байта к младшему). Все пак результаты сканирования или “профиль” пучка. Для того, чтобы досрочно прервать процесс сканирования можно подать [команду 0х05](#cmd5). -### Команда 0x0B – чтение результатов режима получения массива накопленных данных[cmd11] +### Команда READ2 (0x0B) – чтение результатов режима получения массива накопленных данных[cmd11] из внутренней памяти пооборотных измерений. В ответ на эту команду Блок АЦП сразу же посылает 4 байта“АСК”. Структура @@ -661,7 +661,7 @@ big endian (от старшего байта к младшему). Все пак Формат данных, в отличие от результатов пооборотных измерений, *short int* в единицах кода АЦП, умноженного на 4 (±32767). -### Команда 0x0E – запуск непрерывных измерений[cmd14] +### Команда STARTCONT (0x0E) – запуск непрерывных измерений[cmd14] с автоматической посылкой результатов измерения “профиля” пучка. После окончания полного цикла измерения осуществляется посылка содержимого diff --git a/epics.md b/epics.md @@ -23,6 +23,8 @@ github - https://github.com/epicsdeb/epics-base ## Установка rpm пакета +[готовые rpm пакеты](http://www.inp.nsk.su/~bekhte/repo/) + Спек файл можно взять http://www.inp.nsk.su/~bekhte/rpms.git ветка epics, Для SL5 достаточно (считая что сборка rpm настроена) ```