v4orb2.wiki

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

commit fc96bebad5b3e999e8e3828492ff3ec4df03a5a3
parent f6c0eaf692343345f5be5f0eb99bd33443387b24
Author: E.A.Bekhtenev <E.A.Bekhtenev@inp.nsk.su>
Date:   Wed Oct  5 21:02:59 +0700

upd kserv

Diffstat:
Makefile | 4+++-
kserv.md | 99++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------
2 files changed, 68 insertions(+), 35 deletions(-)
diff --git a/Makefile b/Makefile @@ -15,6 +15,9 @@ endif # echo "<html> <body> <head> <meta charset="utf8"> </head>" > $@ # echo "</html>" >> $@ +%.pdf: %.md Makefile history.log.txt + $(MULTIMARKDOWN) -b -t odf $< -o $@ + history.log.txt: Makefile echo "Последние 3 изменения " > $@ export PP=`pwd`; [ -f ../config ] && cd ..; git log --max-count=3 --stat --name-only >> $${PP}/$@ @@ -23,4 +26,3 @@ history.log.txt: Makefile clean: rm -rf *.html history.log.txt - diff --git a/kserv.md b/kserv.md @@ -51,62 +51,93 @@ Nturns = 1-2 миллиона оборотов). Таким образом, во где sock – сокет, IP_ADDR – IP адрес машины PULT6, где работает сервер, BASE_PORT=2100 – номер порта сервера. -Затем клиент посылает код команды в сервер из 1-го байта. В связи с последними нововведениями полностью безопасными являются команды получения данных 2, 3, 4, 5, 69, 8, 9. Сервер пикап станции самостоятельно следит за правильным коэффициентом усиления, и вроде нет необходимости вмешиваться в его работу. Поэтому пользоваться командами 64, 65, 96, 67 для установки коэффициента усиления постоянной необходимости нет. Основные EPICS сервера постоянно производят медленные измерения производят подстройку усиления, и всегда имеют актуальные данные по медленным измерениям. +Затем клиент посылает код команды в сервер из 1-го байта. В связи с последними нововведениями полностью безопасными являются команды получения данных [2](#2), 3, 4, 5, 69, 8, 9. Сервер пикап станции самостоятельно следит за правильным коэффициентом усиления, и вроде нет необходимости вмешиваться в его работу. Поэтому пользоваться командами 64, 65, 96, 67 для установки коэффициента усиления постоянной необходимости нет. Основные EPICS сервера постоянно производят медленные измерения производят подстройку усиления, и всегда имеют актуальные данные по медленным измерениям. ## Коды команд, используемые в системе -1. Код = 64 – посылка параметров в сервер (5 параметров + маску (1 байт) пикап-станций к которым применяются настройки), описание см 1.1.2 ниже; +### 64 -2. Код = 65 – тоже что 64, дополнительно возвращает результат исполнения 4 байта ( результат всегда 0, что означает успех, поскольку сервер теперь не работает напрямую с железом) +Код = 64 – посылка параметров в сервер (5 параметров + маску (1 байт) пикап-станций к которым применяются настройки), описание см 1.1.2 ниже; -3. Код = 96 – тоже что 65 +### 65 -4. Код = 67 – посылка параметров в сервер (в формате кода 64), и получение медленных данных для всех 8-и пикап-станций, независимо включена та или иная станция или нет. Формат медленных данных описан 1.1.3 ниже. +Код = 65 – тоже что 64, дополнительно возвращает результат исполнения 4 байта ( результат всегда 0, что означает успех, поскольку сервер теперь не работает напрямую с железом) -5. Код = 6 – запуск быстрых измерений по маске, формат маски тот же что и в параметрах 1.1.2. +### 96 -6. Код = 7 – запуск пооборотных измерений по маске, формат маски тот же что и в параметрах 1.1.2. +Код = 96 – тоже что 65 -7. Код = 2 – чтение медленных данных для всех 8-и пикап-станций, если есть пикапстанции работающие в режиме 3 Гц то происходит ожидание свежих данных от них, для остальных пикап станций отдаются последние актуальные данные. Если нет пикапстанций в режиме 3 Гц, ответ отдается мгновенно. Формат ответа тотже что код 67; +### 67 -8. Код = 3 – тоже что 2. +Код = 67 – посылка параметров в сервер (в формате кода 64), и получение медленных данных для всех 8-и пикап-станций, независимо включена та или иная станция или нет. Формат медленных данных описан 1.1.3 ниже. -9. Код = 4 – ожидание окончания измерения (код 6) и чтение 2-х массивов быстрых данных (координат X, Z) по 1024 вещественных чисел каждый. После посылки кода команды в сервер посылается еще один байт – номер пикап-станции (0-7), для которой надо прочитать результат измерений. Команда ожидает окончание измерения конкретной пикапстанцией, только после этого из сервера приходят массивы данных. Данные будут достоверны только, если соответствующая пикап-станция включена и с ней есть связь по Ethernet. +### 6 +Код = 6 – запуск быстрых измерений по маске, формат маски тот же что и в параметрах 1.1.2. -10. Код = 69 – ожидание окончания измерения(код 7) и чтение 2-х массивов данных пооборотных измерений (координат X, Z) по Nt вещественных чисел каждый. Размер читаемых массивов пооборотных данных Nt может устанавливаться программно (см. ниже): 2048, 4096, 8192 или 16384 чисел. После посылки кода команды в сервер посылается еще один байт – номер пикап-станции (0-7), откуда нужно прочитать данные. Только после этого из сервера приходят массивы данных. +### 7 -11. Код = 5 – тоже что 69. +Код = 7 – запуск пооборотных измерений по маске, формат маски тот же что и в параметрах 1.1.2. -12. Код = 8 – чтение маски реально работающих пикап-станций – 1 байт. Каждый бит этого байта (0-7) соответствует определенной пикап-станции. Реально работающая пикап-станция должна быть включена не только программно, но и электрически, то есть с ней должна быть связь по Ethernet. +### 2 -13. Код = 9 – чтение буфера последних медленных измерений для выбранного пикапа. После кода команды сервер ожидает один байт с номером пикап-станции (0-7), и один байт с длинной массива n-1 (0-255 соответствует длине массива 1-256). В ответ отвечает: -<ul> - <li> магическое число 2 байта (0x55aa)</li> - <li> координата X, n точек в формате float </li> - <li> координата Y, n точек в формате float </li> - <li> ток I, n точек в формате float </li> - <li> время измерения в секундах с момента запуска программы, n точек в формате float </li> -</ul> - Вполне реально поставить время медленных измерения 5мс, и наблюдать колебания пучка в полосе 100Гц. Это никак не будет конфликтовать с пооборотными и быстрыми измерениями. Время измерения можно использовать для сшивки данных. - -14. Код = 20 – установка параметров режима timeback -запрос: - int – разрешение моды timeback, 1 – разрешено, 0 запрещено. - int – автоматическое продление моды timeback, 0 – после срабатывания timeback, мода сбрасывается и пикап переходит в режим обычных измерений. 1 – после срабатывания пикап остается в моде timeback. - int – проценты при которых срабатывает timeback. - float – уровень тока при значении которого меньше, считается что сигнал отсутствует, срабатывание не происходит при отсутствии сигнала. - int - сколько оборотов измерять после срабатывания. - uint8_t – маска, пикапов к которым применяются настройки. - ответ: +Код = 2 – чтение медленных данных для всех 8-и пикап-станций, если есть пикапстанции работающие в режиме 3 Гц то происходит ожидание свежих данных от них, для остальных пикап станций отдаются последние актуальные данные. Если нет пикапстанций в режиме 3 Гц, ответ отдается мгновенно. Формат ответа тотже что код 67; + +### 3 + +Код = 3 – тоже что 2. + +### 4 + +Код = 4 – ожидание окончания измерения (код 6) и чтение 2-х массивов быстрых данных (координат X, Z) по 1024 вещественных чисел каждый. После посылки кода команды в сервер посылается еще один байт – номер пикап-станции (0-7), для которой надо прочитать результат измерений. Команда ожидает окончание измерения конкретной пикапстанцией, только после этого из сервера приходят массивы данных. Данные будут достоверны только, если соответствующая пикап-станция включена и с ней есть связь по Ethernet. + +### 69 + +Код = 69 – ожидание окончания измерения(код 7) и чтение 2-х массивов данных пооборотных измерений (координат X, Z) по Nt вещественных чисел каждый. Размер читаемых массивов пооборотных данных Nt может устанавливаться программно (см. ниже): 2048, 4096, 8192 или 16384 чисел. После посылки кода команды в сервер посылается еще один байт – номер пикап-станции (0-7), откуда нужно прочитать данные. Только после этого из сервера приходят массивы данных. + +### 5 + +Код = 5 – тоже что 69. + +### 8 + +Код = 8 – чтение маски реально работающих пикап-станций – 1 байт. Каждый бит этого байта (0-7) соответствует определенной пикап-станции. Реально работающая пикап-станция должна быть включена не только программно, но и электрически, то есть с ней должна быть связь по Ethernet. + +### 9 + +Код = 9 – чтение буфера последних медленных измерений для выбранного пикапа. После кода команды сервер ожидает один байт с номером пикап-станции (0-7), и один байт с длинной массива n-1 (0-255 соответствует длине массива 1-256). В ответ отвечает: + +* магическое число 2 байта (0x55aa) +* координата X, n точек в формате float +* координата Y, n точек в формате float +* ток I, n точек в формате float +* время измерения в секундах с момента запуска программы, n точек в формате float + +Вполне реально поставить время медленных измерения 5мс, и наблюдать колебания пучка в полосе 100Гц. Это никак не будет конфликтовать с пооборотными и быстрыми измерениями. Время измерения можно использовать для сшивки данных. + +### 20 + +Код = 20 – установка параметров режима timeback + запрос: + int – разрешение моды timeback, 1 – разрешено, 0 запрещено. + int – автоматическое продление моды timeback, 0 – после срабатывания timeback, мода сбрасывается и пикап переходит в режим обычных измерений. 1 – после срабатывания пикап остается в моде timeback. + int – проценты при которых срабатывает timeback. + float – уровень тока при значении которого меньше, считается что сигнал отсутствует, срабатывание не происходит при отсутствии сигнала. + int - сколько оборотов измерять после срабатывания. + uint8_t – маска, пикапов к которым применяются настройки. + ответ: нет -15. Код = 21 – запрос состояния режима timeback. +### 21 + +Код = 21 – запрос состояния режима timeback. запрос: нет ответ uint8_t – маска пикапов у которых сработал режим timeback, при чтении флаг сбрасывается автоматически -16. Код = 22 – чтение пооборотных данных timeback, +### 22 + +Код = 22 – чтение пооборотных данных timeback, запрос: uitn8_t – номер пикапа (0-7) ответ: