TOP

Обзор системы

Программное обеспечение системы измерения положения пучка построено с использованием библиотеки EPICS. В рамках данной технологии большая задача разбивается на несколько более простых задач. Каждая отдельная подзадача реализуется посредством IOC (Input Output Controller), программы следующей установленным стандартным протоколам библиотеки EPICS. Объединенная группа IOC образует сеть передачи и обработки данных, выполняющую поставленную задачу.

введение в EPICS

Желающие могут приобщиться к первоисточнику

  1. Developer Guide
  2. Record manual

Но для того чтобы получать представление как все работает попробую пояснить попроще.

EPICS можно представить как эмулятор принципиальной схемы, в которой вместо напряжений и тока передаются данные.

scheme
пример принципиальной схемы

Есть небольшое количество универсальных блоков обрабатывающих данные. Блоки предназначенные для ввода/вывода данных на внешние устройства, блоки производящие вычисления, мультиплексоры и другие. У каждого блока есть несколько входов выходов к которым можно обратиться. Выходы блоков соединяются каналами передачи данных в заданном порядке при загрузке программы. В результате получается сеть обработки данных. Воспользовавшись стандартным протоколом доступа к данным библиотеки EPICS есть возможность прочитать состояние любого входа или выхода блока, а если есть возможность записать, то и записать. Запись дает возможность влиять на поведение сети.

Обратиться к блоку можно по его имени. Имя блока это произвольная текстовая строка, но по сображениям удобства имена выбирают в виде иерархии “Установка:Прибор:Параметр”, где Установка, Прибор, Параметр обычные имена в смысле универсального языка программитрования. Разумно также выбирать имена так чтобы их можно было писать в шелле без кавычек.

По архитектурным соображениям блоки целесообразно объединять в группы, которые обслуживаются одной программой. Такие программы называются IOC (InputOutputController)

scheme
IOC

Каждый IOC предоставляет документированный набор парметров для доступа, называемых PV (ProcessVariable). Записывая данные в PV пользователь задает режим работы и отдает команды вычислительной сети, читая PV получает результат.

Типы данных

В системе пикапов используются следующие типы PV

Схема наименования PV

В соответствии с принятой иерархией имена PV в системе имеют вид

где VEPP3, VEPP4 - имя установки,
STAP - специальный IOC для импорта данных из stap файла, он присутствует в единственном экземпляре и поэтому поле имяIOC у него отсутствует.

имяIOC - имя IOC, чаще всего имя пикапа, но есть и служебные IOC различного назначения.

параметр - имя параметра, имя в том смысле в каком оно определено в C.

Suf - суффикс, передает назначение/происхождение переменной, наиболее интересные

Одновременность