# Presentation: 073181

## Status of EPICS at KEK

- Tatsuro NAKAMURA
- KEK
- Jun. 2006

## Contents

- Overview of EPICS Activity at KEK
- Status of Linac Control System
- Status of KEKB/PF-AR Control System
- Upgrade of the KEK-PF Control System
- Everywhere Python

## Overview of EPICS Activity at KEK

**J-Parc** 	 Kamikubota-san’s Talk
**KEKB**	EPICS based system
**PF-AR**	EPICS based since 2002
**PF**		EPICS based since 2005
**Linac**	Non-EPICS
- EPICS based small-size systems
- RFGTB	EPICS based system
-  Araki-san’s talk at EPICS meeting in Tokai, 2004

## 6.5 GeV/c

- 2.5 GeV/c

- Linac provides:
-  for PF:    2.5 GeV e-
-  for PF-AR: 3 GeV e-
-  for KEKB:  8 GeV e-
- 	 3.5 GeV e+

- KEKB

## Status of Linac Control System

- Non-EPICS control system based on Remote Procedure Call & Distributed Shared Memory
- Linac-to-EPICS Gateway
- 1 Portable Channel Access Server (Old)
-  ~ 4950 records
- 3 SoftIOC on Linux with AsynDriver (New)
-  ~ 9672 records
- Many of above records are archived in KEKBLog and/or Channel Archiver (~ 400MB/day)

## Slide 6

## Plan in the coming summer shutdown 

- real IOC's will be installed
- ~10 Windows IOC's on DSO7104 Oscilloscopes for BPM
- ~7 MVME5500 IOC's for Event/Timing and Low Level RF

## Status of KEKB/PF-AR Control System

- KEKB History --- The first application of EPICS in Japan
- Mar. 1998	part of e- BT line commissioning
- Jun. 1998	part of  e+, e- BT lines commissioning
- Dec. 1998	KEKB rings commissioning started
- PF-AR History
- 2001		1 year shutdown of PF-AR for upgrade
- Control system was completely replaced to EPICS
- Jan. 2002	operation of PF-AR restarted

## Host computers in 2006

- Host computers for EPICS development
- 2 HP-UX servers
- 1 Sun server (New)
- 1 Linux server (New)
- Host computers for Operation & Accelerator Modeling calculation (“SAD cluster”)
- 3 Alpha servers
- 2 Linux servers
- 8 Macintosh OSX servers

## SAD

- SAD (Strategic Accelerator Design) is a computer program complex for accelerator design developed in KEK since 1986.
- http://acc-physics.kek.jp/SAD/sad.html
- Most of the high level applications for operation are developed by SAD
- Workshop SAD2006
- Sep. 5-7 2006 at KEK
- http://acc-physics.kek.jp/SAD/SAD2006/

## IOC in 2006

- ~ 110 VME/VxWorks IOC with EPICS 3.13.1
-     CPU:	Force PowerCore6750, PowerCore6603e
- 			Force CPU64, CPU40
- 1 VME/VxWorks IOC with EPICS 3.14.8
- Several PC/Linux IOC with EPICS 3.14
- For Software records
- For Ethernet devices (NetDev)

## Field bus in 2006

**Arcnet** for Magnet PS
**VXI-MXI** for BPM
**Modbus plus** for interfacing to interlock systems
**GPIB, RS-232C** for many kinds of instruments
**CAMAC** for RF control and some devices
- 		(about 20 years old legacy system)
- We plan to replace CAMAC modules to PLC with Ethernet
- A Mitsubishi **PLC with Ethernet** is used for the special magnet PS (for local orbit feedback)
- Test of a Yokogawa **PLC with Ethernet** is now going in a Klystron Test Station.

## Upgrade of the KEK-PF Control System

- Photon Factory, KEK
- T.Obina
- (takashi.obina@kek.jp)

- Jun/2006 EPICS meeting

## KEK Site

- Linac
- PF		2.5GeV e-
- PF-AR	6.5GeV e-
- KEKB	8.0GeV e-
-  			3.5GeV e+

## Brief History

- 1982: Comissioning			(420nm.rad)
- 1986: Medium emittance	 	(130nm.rad)
- 1997: Low emittance			(36nm.rad)
- 2005: Straight-Sections Upgrade
- Main purpose of the project
- enlarge the existing straight sections
- increase the number of straight sections (7 -> 13)
- Control : EPICS

## Before Upgrade

- based on our in-house software
- "Device Server" and "Data Channel"

- OPI

- Device Server
- many plathome
- PC, VME, WS
- CAMAC, GPIB, etc
- Data Channel (DCh)
- not used for equipment control
- Shared memory + Client Lib
- keep latest information
- always updated

## Control Task and OPI

- Control Task
- FORTAN or C (running on Workstaions)
- Operator Interface
- Communicate through Input/Output Mediator
- GUI: developed by VAPS

## Upgrade Policy

- DataChannel&Device Server
- Advantage
- many OS: Unix(HP/Sun/Linux), OS-9, HP-RT, Windows,etc
- Simple, light-weight
- Easy & Fast Development (Device controller or GUI)is possible
- Disadvantage
- Control Task & OPI is closely related
- DCh: no session management
- DCh: no Event notification

- Extend the functionality of DataChannel ?
- or
- Adopt EPICS ?

## Hardware : IOC

- RF
- VME(PPC 750 + VxWorks) for CAMAC
- PC(Soft IOC on Linux) + PLC with Ethernet	: HV Controller
- PC(Soft IOC on Linux) + LAN/GPIB		: GPIB inst.
- Magnet
- VME(PPC750 + VxWorks) for CAMAC	: Large Power Supply
- VME(Intel PIII + Linux) 			: Small Power Supply
- PC(Soft IOC on Linux) + LAN/GPIB	: DMM, GPIB inst.
- Timing
- VME(PowerPC 750 + VxWorks) with Bus Interrupt board
- Insertion Device
- VME(PowerPC750 + VxWorks) + LAN/GPIB
- we plan to replace with LinuxIOC

## Hardware (cont.)

- Vacuum
- PC(Soft IOC on Linux) + PLC with Ethernet
- Omron PLC
- Device support for Omron PLC is developed by M. Komiyama (RIKEN) and J-I. Odagiri (KEK)

## RF Control

- IOC(pcore750, VxWorks)

- Kinetic VME-Kbus

- CAMAC
-   Input register, output reg, Control reg

- PLC用PC(Linux)
- GPIB用PC(Linux)

## RF Control Panel (Example)

- MEDM(DM2K), SAD/Tkinter

## Magnet Control

- Two types of power supplies
- Large Power Supply (LPS)	B,Q,S
- Small Power Supply (SPS)	Steering Magnet, BT, etc
- LPS: CAMAC (Input/Output register)
- SPS: Dedicated Controller Board
- 1 Power Supply Interface (PSI) for 1 Power Supply
- PSI : ADC, DAC, DIO(for relay, interlock, etc)
- 3 VME CPU(Linux) + Bus Bridge
- total 7 VME subrack

## Slide 24

## Magnet Control

## Archive/Retrieval

- Channel Archiver (2.8.1)
- Number of records / Data Amount
- Mon:		  250record		300MB
- BT :  	 	    50record		  14MB
- ID :		    15record		    1MB
- Mag:		  750record		  40MB
- OP : 		    40record		  10MB
- RF : 		1200record		  60MB
- Vac: 		2100record		130MB
- Total 500-600MB/day
- Retreival
- Web (CGI) and ArchiveExport command

## Everywhere Python

- We use python as the programming language for OPI applications
- We begin to try using python also for IOC applications. (Linux IOC)
- Multi-threadable CaPython
- devPython
- Python calc record

## Multi-threadable CaPython

- Python + CA library + Multithreading
-  	= “Multi-threadable CaPython”
- It can describe control logics on IOC
- Alternative of the SNL/sequencer
- Provides richer functionality
- Allow quicker development of applications
- Current Status: under development

## devPython

- Device support which invoke python interpreter
- Python program is specified through INST_IO parameter
- Currently ai record is tested
- We expect...
- Non-EPICS subsystem written in python can be easily integrated into EPICS system.

## Python calc record

- Alternative of calc record (or subroutine record)
- More powerful than calc record
- Easier than C programming (subroutine record)
- Current status: Just an idea