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
This is an old version of this page. You can view the most recent version or browse the history.

vXbpmd

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

TOP

{{TOC}}

Управление 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

устарело

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

Данные скрипты соответствуют стандарту LSB (Linux Standard Base) и предназначенны для установки ссылки в /etc/rc директорию, кроме этого скрипт может быть установлен в стандартный путь поиска для запуска из командной строки.

При запуске скрипт проверяет на каком компьютере он запущен, если компьютер не vepp4-pult6 то скрипт безопасно завершается(vepp4-cont для диссектора ВЭПП4). Если скрипт запущен от root (при инициализации), то при необходимости создаются директории для записи логов /var/log/softioc и переключается на пользователя vepp4. Находясь под пользователем vepp4 проверяется доступность для записи директории системных логов, если доступна то логи пишутся туда, если нет то в директорию расположения IOC. Если скрипт запускается под другим пользователем, скрипт завершается.

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

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

Порт система хост net 147
4050 - 4067 VEPP4 bpm 20-90
4068 nmr bpm 11-13
4069 dissector_e bpm 150-153
4070 - 4074 VEPP4 bpm
4075 dissector_p bpm
4076 dissector_fft_e bpm
4077 dissector_fft_p bpm
4078 dissector_v3 bpm
4079 dissector_fft_v3 bpm
4080 - 4104 VEPP3 bpm 100-129,130-139
? VEPP3 SEP bpm 19
4105 helper3 bpm
4106 - 4119 резерв
4120 - 4155 VEPP4 bpm
4156 - 4170 v4chan bpm 200-219
4171 - 4199 резерв
5001 orbit pult6
bpm 252-253

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

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

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

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

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

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

Опции

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

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

[vepp4@vepp4-pult6 ~]$ v3bpmd status
ioc: localhost:4080 4P5 (pid  4622) выполняется...
ioc: localhost:4081 4P4 (pid  4627) выполняется...
ioc: localhost:4082 2P3 (pid  4632) выполняется...
ioc: localhost:4083 2P6 (pid  4637) выполняется...
ioc: localhost:4084 2P5 (pid  4642) выполняется...
ioc: localhost:4085 1P7 (pid  4647) выполняется...
ioc: localhost:4086 1P1 (pid  4652) выполняется...
ioc: localhost:4087 kserv (pid  4657) выполняется...
ioc: localhost:4088 fftvepp3 (pid  4662) выполняется...
ioc: localhost:4089 2P4 (pid  4667) выполняется...
ioc: localhost:4103 sep (pid  4672) выполняется...
ioc: localhost:4104 ksep (pid  4677) выполняется...
[vepp4@vepp4-pult6 ~]$ v4bpmd status
ioc: localhost:4050 nep0 (pid  5496) выполняется...
ioc: localhost:4051 nep1 (pid  5501) выполняется...
ioc: localhost:4052 nep3 (pid  5506) выполняется...
ioc: localhost:4053 nep4 (pid  5511) выполняется...
ioc: localhost:4054 nep5 (pid  5516) выполняется...
ioc: localhost:4055 nip1 (pid  5521) выполняется...
ioc: localhost:4056 nip3 (pid  5526) выполняется...
ioc: localhost:4057 nrp10 (pid  5531) выполняется...
ioc: localhost:4058 ntp0 (pid  5536) выполняется...
ioc: localhost:4059 sep0 (pid  5541) выполняется...
ioc: localhost:4060 sep1 (pid  5546) выполняется...
ioc: localhost:4061 sep3 (pid  5551) выполняется...
ioc: localhost:4062 sep4 (pid  5556) выполняется...
ioc: localhost:4063 sep5 (pid  5561) выполняется...
ioc: localhost:4064 sip1 (pid  5566) выполняется...
ioc: localhost:4065 sip2 (pid  5571) выполняется...
ioc: localhost:4066 srp10 (pid  5576) выполняется...
ioc: localhost:4067 stp0 (pid  5581) выполняется...
ioc: localhost:4120 stp2 (pid  5586) выполняется...
ioc: localhost:4121 stp4 (pid  5591) выполняется...
ioc: localhost:4122 srp1 (pid  5596) выполняется...
ioc: localhost:4123 srp2 (pid  5602) выполняется...
ioc: localhost:4124 srp3 (pid  5607) выполняется...
ioc: localhost:4125 srp4 (pid  5613) выполняется...
ioc: localhost:4126 srp5 (pid  5620) выполняется...
ioc: localhost:4127 srp6 (pid  5626) выполняется...
ioc: localhost:4128 srp7 (pid  5631) выполняется...
ioc: localhost:4129 srp8 (pid  5638) выполняется...
ioc: localhost:4130 srp9 (pid  5644) выполняется...
ioc: localhost:4131 srp11 (pid  5650) выполняется...
ioc: localhost:4132 srp12 (pid  5656) выполняется...
ioc: localhost:4133 srp13 (pid  5671) выполняется...
ioc: localhost:4134 srp14 (pid  5678) выполняется...
ioc: localhost:4135 srp15 (pid  5684) выполняется...
ioc: localhost:4136 srp16 (pid  5692) выполняется...
ioc: localhost:4137 srp17 (pid  5699) выполняется...
ioc: localhost:4138 nrp17 (pid  5705) выполняется...
ioc: localhost:4139 nrp16 (pid  5711) выполняется...
ioc: localhost:4140 nrp15 (pid  5719) выполняется...
ioc: localhost:4141 nrp14 (pid  5725) выполняется...
ioc: localhost:4142 nrp13 (pid  5731) выполняется...
ioc: localhost:4143 nrp12 (pid  5737) выполняется...
ioc: localhost:4144 nrp11 (pid  5743) выполняется...
ioc: localhost:4145 nrp9 (pid  5749) выполняется...
ioc: localhost:4146 nrp8 (pid  5757) выполняется...
ioc: localhost:4147 nrp7 (pid  5767) выполняется...
ioc: localhost:4148 nrp6 (pid  5776) выполняется...
ioc: localhost:4149 nrp5 (pid  5782) выполняется...
ioc: localhost:4150 nrp4 (pid  5788) выполняется...
ioc: localhost:4151 nrp3 (pid  5794) выполняется...
ioc: localhost:4152 nrp2 (pid  5802) выполняется...
ioc: localhost:4153 nrp1 (pid  5808) выполняется...
ioc: localhost:4154 ntp4 (pid  5814) выполняется...
ioc: localhost:4155 ntp2 (pid  5820) выполняется...
ioc: localhost:4070 reaper (pid  5835) выполняется...
ioc: localhost:4071 stap (pid  5851) выполняется...
ioc: localhost:4072 fftvepp4 (pid  5865) выполняется...
ioc: localhost:4073 sep_all (pid  5935) выполняется...
ioc: localhost:4074 sep_helper (pid  5947) выполняется...
[vepp4@vepp4-pult6 ~]$
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