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
  • vXbpmd

Last edited by Evgeny Bekhtenev Feb 10, 2025
Page history

vXbpmd

Title: Управление IOC CSS: table.css

TOP

  • Управление IOC ВЭПП3-4
  • IOC сервер bpm
    • установка на bpm
    • запуск ioc
    • логгирование ioc
    • Зарезервированные порты[ports]
    • Зарезервированные IP адреса[IP]
  • Вызов скрипта
  • Опции
  • Пример вывода

Управление IOC ВЭПП3-4

В данный момент происходит переосмысление поэтому описание может не соответствовать действительности

IOC сервер bpm

Для обеспечения жизнененного цикла ioc выделены два виртуальных серевера bpm и bpm-dev. bpm-dev предназначен для сборки проектов, на нем установлен vim, gcc-7, и прочие необходимые средства для сборки пакетов. также на нем можно делать пробные запуски ioc в домашней директории. Графичекое окружение на bpm-dev не установленно, но графические команды запускать можно, например gitk --all, git gui.

установка на bpm

Корневая директория для установки ioc выбрана /epics. Таким образом установка выглядит

make INSTALL_LOCATION=/epics install

Перед установкой имеет смысл сделать make clean, чтобы пресобрать registerRecordDeviceDriver файлы.

После этого установленные файлы переносятся на bpm командой

rsync -avzu $(INSTALL_LOCATION)/ bpm:$(INSTALL_LOCATION)

запуск ioc

Запуск ioc осуществляется systemd, для этого создан ioc-master.service. Этот сервис при запуске компьютера пробегает по директории с окружением запускаемых ioc находится /epics/startup/ioc/bpm.vepp4.local/*/env.sh и запускает их основываясь на шаблонах ioc@ и ioc-legacy@.

Например для запуска ioc с именем myioc установленным по пути /epics/myioc необходимо создать файл /epics/startup/ioc/bpm.vepp4.local/myioc/env.sh со следующим содержанием

PROCSERV_PORT=_номер_procServ_порта_
IOC_DIR=/epics/myioc/iocBoot/iocmyioc
IOC_EXE=../../bin/linux-x86_64/myioc
IOC_CMD=myioc.cmd

где _номер_procServ_порта_ номер порта по которому можно подключиться к консоли ioc, список номеров ведется https://star.inp.nsk.su/~bekhte/v4orb2.wiki.git/html/vXbpmd#ports

логгирование ioc

логгирование ведется по пути /var/log/procServ. Ротацией логов ioc занимается сервис procServ-vacuum.service+timer. По достижении суммарного объема *.log файлов 50M данные переносятся в *.log.1, а файлы усекаются.

идея для ioc сервисов взята https://bitbucket.org/europeanspallationsource/m-epics-environment.git

Зарезервированные порты[ports]

Для управления запуском IOC используется редиректор консоли procServ. Он перенаправляет консоль IOC на зарезервированный за ним порт. Номера портов 4050-4200 зарезервированны под использование системы пикапов. Краткая схема резервирования

Порт система хост net 147
4050 - 4067 VEPP4 bpm 20-90
4068 nmr bpm 11
4069 dissector_e bpm 150
4070 - 4074 VEPP4 bpm
4075 dissector_p bpm 153
4076 dissector_fft_e bpm
4077 dissector_fft_p bpm
4078 dissector_v3 bpm 151
4079 dissector_fft_v3 bpm
4080 - 86,88,89,91 - 4102 VEPP3 bpm 100-129,130-139,140-145
4087 резерв
4090 резерв
4103 VEPP3 SEP bpm 19
4104 резерв
4105 helper3 bpm
4106 nmrstab bpm 4
4107 btunev3 bpm 8
4108 kud bpm 6
4109 nmr2 bpm 5
- BCM bpm 9
4110 - 4119 резерв
4120 - 4155 VEPP4 bpm
4156 - 4170 v4chan bpm 200-220
4171 v4line bpm
4172 v4chan bpm 200-220
4173 k500 bpm
4174 - 4199 резерв
20001 orbit bpm
bpm 251-253
skifbpm 170-180

Зарезервированные IP адреса[IP]

net 147 система
2 ноутбук
3 стойка
4 nmrstab
5 nmr2
6 kud
8 btunev3
9 BCM
11 nmr
19 VEPP3 SEP
20-90 VEPP4
100-129 VEPP3 v1
130-139 VEPP3 ver2
140-145 VEPP3 ver3
150 dissector_e
151 dissector_v3
153 dissector_p
160-189 skifbpm garden
200-220 v4chan
249 dcct vepp4
250 dcct vepp3
251-253 virtual host

Вызов скрипта

Для управления IOC существует специальный скрипт v3bpmd и v4bpmd для управления ВЭПП3 и ВЭПП4 соответственно. v4disd для управления диссектором ВЭПП4, ВЭПП3. v4chand для управления каналом ВЭПП3-ВЭПП4. nmrd для управления ЯМРом.

Скрипты управляют IOC через systemd.

исполняется на bpm

v3bpmd [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]

v4bpmd [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]

v4disd [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]

v4chand [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]

nmrd    [start [what]|stop [what]|status [what]|restart [what]|help|log what|logall|telnet what]

Опции

  • help - напечатать подсказку пользования скриптом
  • start - запуск всех IOC, если IOC уже запущен то на экран печатается сообщение об ошибке, дублирующий IOC не запускается
  • start ioc_name - запуск конкретного IOC
  • stop - остановка всех IOC
  • stop ioc_name - остановка конкретного IOC
  • status - статус всех IOC
  • restart - остановка и запуск всех IOC
  • restart ioc_name - остановка и запуск конкретного IOC
  • log ioc_name - выдать log соответствующего IOC, ожидать появления новых данных и выводить их. Завершить Ctrl-C.
  • telnet ioc_name - подключиться к консоли IOC, выход по Ctrl-] q. (не надо писать exit, это перезапустит IOC).

Пример вывода

[vepp4@bpm ~]$ v3bpmd status
ioc: localhost:4080 4P5 active ioc OK connected            [  OK  ]
ioc: localhost:4081 4P4 active ioc OK connected            [  OK  ]
ioc: localhost:4082 2P3 active ioc OK connected            [  OK  ]
ioc: localhost:4083 2P6 active ioc OK connected            [  OK  ]
ioc: localhost:4084 2P5 active ioc OK connected            [  OK  ]
ioc: localhost:4085 1P7 active ioc OK connected            [  OK  ]
ioc: localhost:4086 1P1 active ioc OK connected            [  OK  ]
ioc: localhost:4088 fftvepp3 active                        [  OK  ]
ioc: localhost:4089 2P4 active ioc OK disconnected         [ СБОЙ ]
ioc: localhost:4091 1P2 active ioc OK connected            [  OK  ]
ioc: localhost:4092 1P3 active ioc OK connected            [  OK  ]
ioc: localhost:4093 1P5 active ioc OK disconnected         [ СБОЙ ]
ioc: localhost:4094 1P6 active ioc OK disconnected         [ СБОЙ ]
ioc: localhost:4095 3P1 active ioc OK connected            [  OK  ]
ioc: localhost:4096 3P2 active ioc OK connected            [  OK  ]
ioc: localhost:4097 3P3 active ioc OK connected            [  OK  ]
ioc: localhost:4098 3P5 active ioc OK connected            [  OK  ]
ioc: localhost:4099 3P6 active ioc OK connected            [  OK  ]
ioc: localhost:4100 3P8 active ioc OK connected            [  OK  ]
ioc: localhost:4101 4P2 active ioc OK connected            [  OK  ]
ioc: localhost:4102 4P6 active ioc OK connected            [  OK  ]
ioc: localhost:4103 sep active                             [  OK  ]
ioc: localhost:4105 helper3 active                         [  OK  ]
[vepp4@bpm ~]$ v4bpmd status
ioc: localhost:4067 stp0 active ioc OK connected           [  OK  ]
ioc: localhost:4120 stp2 active ioc OK disconnected        [ СБОЙ ]
ioc: localhost:4121 stp4 active ioc OK connected           [  OK  ]
ioc: localhost:4122 srp1 active ioc OK connected           [  OK  ]
ioc: localhost:4123 srp2 active ioc OK connected           [  OK  ]
ioc: localhost:4124 srp3 active ioc OK connected           [  OK  ]
ioc: localhost:4125 srp4 active ioc OK connected           [  OK  ]
ioc: localhost:4126 srp5 active ioc OK connected           [  OK  ]
ioc: localhost:4127 srp6 active ioc OK connected           [  OK  ]
ioc: localhost:4128 srp7 active ioc OK connected           [  OK  ]
ioc: localhost:4129 srp8 active ioc OK connected           [  OK  ]
ioc: localhost:4130 srp9 active ioc OK connected           [  OK  ]
ioc: localhost:4064 sip1 active ioc OK connected           [  OK  ]
ioc: localhost:4065 sip2 active ioc OK connected           [  OK  ]
ioc: localhost:4066 srp10 active ioc OK connected          [  OK  ]
ioc: localhost:4131 srp11 active ioc OK connected          [  OK  ]
ioc: localhost:4132 srp12 active ioc OK connected          [  OK  ]
ioc: localhost:4133 srp13 active ioc OK connected          [  OK  ]
ioc: localhost:4134 srp14 active ioc OK connected          [  OK  ]
ioc: localhost:4135 srp15 active ioc OK connected          [  OK  ]
ioc: localhost:4136 srp16 active ioc OK connected          [  OK  ]
ioc: localhost:4137 srp17 active ioc OK connected          [  OK  ]
ioc: localhost:4063 sep5 active ioc OK connected           [  OK  ]
ioc: localhost:4062 sep4 active ioc OK connected           [  OK  ]
ioc: localhost:4061 sep3 active ioc OK connected           [  OK  ]
ioc: localhost:4060 sep1 active ioc OK connected           [  OK  ]
ioc: localhost:4059 sep0 active ioc OK connected           [  OK  ]
ioc: localhost:4050 nep0 active ioc OK disconnected        [ СБОЙ ]
ioc: localhost:4051 nep1 active ioc OK connected           [  OK  ]
ioc: localhost:4052 nep3 active ioc OK connected           [  OK  ]
ioc: localhost:4053 nep4 active ioc OK connected           [  OK  ]
ioc: localhost:4054 nep5 active ioc OK connected           [  OK  ]
ioc: localhost:4138 nrp17 active ioc OK connected          [  OK  ]
ioc: localhost:4139 nrp16 active ioc OK connected          [  OK  ]
ioc: localhost:4140 nrp15 active ioc OK connected          [  OK  ]
ioc: localhost:4141 nrp14 active ioc OK connected          [  OK  ]
ioc: localhost:4142 nrp13 active ioc OK connected          [  OK  ]
ioc: localhost:4143 nrp12 active ioc OK connected          [  OK  ]
ioc: localhost:4144 nrp11 active ioc OK connected          [  OK  ]
ioc: localhost:4057 nrp10 active ioc OK connected          [  OK  ]
ioc: localhost:4056 nip3 active ioc OK connected           [  OK  ]
ioc: localhost:4055 nip1 active ioc OK disconnected        [ СБОЙ ]
ioc: localhost:4145 nrp9 active ioc OK connected           [  OK  ]
ioc: localhost:4146 nrp8 active ioc OK connected           [  OK  ]
ioc: localhost:4147 nrp7 active ioc OK connected           [  OK  ]
ioc: localhost:4148 nrp6 active ioc OK connected           [  OK  ]
ioc: localhost:4149 nrp5 active ioc OK connected           [  OK  ]
ioc: localhost:4150 nrp4 active ioc OK connected           [  OK  ]
ioc: localhost:4151 nrp3 active ioc OK connected           [  OK  ]
ioc: localhost:4152 nrp2 active ioc OK connected           [  OK  ]
ioc: localhost:4153 nrp1 active ioc OK connected           [  OK  ]
ioc: localhost:4154 ntp4 active ioc OK connected           [  OK  ]
ioc: localhost:4155 ntp2 active ioc OK connected           [  OK  ]
ioc: localhost:4058 ntp0 active ioc OK connected           [  OK  ]
ioc: localhost:4070 reaper active                          [  OK  ]
ioc: localhost:4071 stap active                            [  OK  ]
ioc: localhost:4072 fftvepp4 active                        [  OK  ]
ioc: localhost:4073 sep_all active                         [  OK  ]
ioc: localhost:4074 sep_helper active                      [  OK  ]
[vepp4@bpm ~]$

где:
active - состояние сервиса systemd
ioc OK - IOC запущен
connected - состояние подсоединения к оборудованию

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