300 likes | 307 Views
KEK e - /e + Linac and EPICS CA Servers. Kazuro Furukawa, KEK <kazuro.furukawa @ kek.jp> <http://www-linac.kek.jp/>. Control Systems at KEK. Control Systems at KEK. 12GeV Proton Synchrotron (PS): Hardwire + Mini-computers
E N D
KEK e-/e+ Linac and EPICS CA Servers Kazuro Furukawa, KEK <kazuro.furukawa @ kek.jp> <http://www-linac.kek.jp/>
Control Systems at KEK • 12GeV Proton Synchrotron (PS): Hardwire + Mini-computers • 2.5GeV Electron Linac (Linac): 8 Mini-computers + >200 Micro-computers, Optical Networks • Photon Factory (PF): Mini-computers -- Workstations • TRISTAN ~33GeV: ~20 Mini-computers, CAMAC + NODAL Interpreter • Upgraded PS: VME/VersaDOS + MAP • Upgraded Linac: Unix servers, VME, PLC, CAMAC + TCP/IP + Home-grown RPC, Tcl/Tk, Gateway to EPICS • ATF: VMS, CAMAC + V-System (Vista) • KEKB: VME, CAMAC, VXI + EPICS • PF-AR: the Same architecture as KEKB
Linac • 8GeV Electron + 3.5GeV Positron for KEKB • 2.5GeV Electron for PF • 3.0GeV Electron for PF-AR • 600m Linac with 59 S-band rf Stations with SLED • Double Sub-Harmonic Bunchers for 10ps & 10nC • 2-bunch in a Pulse and Continuous (Top-up) Injection
KEKB Commissioning Groups • Formation of Commissioning Group (KCG) • Linac Commissioning (LCG) • 7 from Linac • ~10 from Ring • KEKB Ring Commissioning Group (KCG) • All LCG • ~20 from Ring • Several from Detector (BCG) • Commissioning softwarebase was formed during Linac Commissioning (1997~) Tcl/Tk, SAD/Tk , Python/Tk KEKB Commissioning Group Linac Commissioning Group KEKB Ring Linac
SADscript • Mathematica-like Language • Fast because of no Symbolic Manipulation • EPICS CA (Synchronous and Asynchronous) CaRead/CaWrite[ ], CaMonitor[ ], etc. • Oracle Database • Tk Widget • Canvas Draw and Plot • KBFrame on top of Tk • Data manipulation (Fit, non-linear fit, FFT, …) • Inter-Process Communication (Exec, Pipe) System[ ], OpenRead/Write[ ], BidirectionalPipe[ ], etc. • Can display Greek Letter • Used in many KEKB Ring/Linac applications which does not need Accelerator knowledge
SADscript • Example FFS; w=KBMainFrame["w1",fm,Title->"t1"]; $DisplayFunction=CanvasDrawer; W1=Frame[fm]; c1=Canvas[w1,Width->600,Height->400, Side->"top"]; Canvas$Widget=c1; data = {{0,0}, {1,1}, {2,5}, {3,8}, {4,10}, {5,7}, {6,4}, {7,2}, {8,0}, {9,2}} fit = FitPlot[data,a Sin[x b + c] + d, x, {a,5},{b,1},{c,1},{d,5}, FrameLabel->{"X","Y"}]; phase = StringJoin["Phase : ", (c/.fit[[1]]) 180/Pi, " Deg."]; f1=KBFComponentFrame[w1,Add->{KBFText[Text->phase]}]; TkWait[]; Exit[];
Performance of KEKB Staffs in Linac are always Interested in performances in KEKB/Belle Here is the KEKB daily Performance Page updated Every minute
Linac Controls • KEKB = Factory Machine => Stable Operation • Controls should be Robust and Flexible • ~1000 devices and ~10000 signals • Frequent Beam Mode Switches; Four very Different Beam Modes, 50-100 times/day • Precise Controls of Beam Parameters,Energy, Orbit, Emittance, Charge, Energy spread, Timing, etc.
History and Design Concept • History • 1978-1982: Construction of First Computer-controlled System with 8 mini-computers, >200 micro-computers, >30 optical loop networks • 1989-1993: Design of the next system • 1994-1997: Installation and expansion for KEKB • Design Concept • Use of International and/or de-facto Standards • Use of Optical IP Networks for every Device controllers • No new field Networks, only IP Network (inherited by J-PARC) • Both of above should make future upgrade easier • (EPICS was not available widely at that time)
Physical Structure • Multi-tier, Multi-hardware, Multi-client, …
Computers and Networks Redundant Cluster Server And Independent Backup And Many Clients All Optical IP Networks Main parts are Redundant
Software Architecture • Base control software structure for Multi-platform • any Unix, OS9, LynxOS (Realtime), VMS, DOS, Windows, MacOS • TCP - UDP General Communication Library • Shared-Memory, Semaphore Library • Simple How-grown RPC (Remote Procedure Call) Library • Memory-resident Hash Database Library • Control Server software • Lower-layer servers (UDP-RPC) for control hardware • Upper-layer server (TCP-RPC) for accelerator equipment • Works redundantly on multiple servers • Client Applications • Established applications in C language with RPC • Many of the beam operation software in scripting language, • Tcl/Tk and SADscript/Tk
Recent Development • Application software for Two-bunch in a Pulse • Application software for Continuous Injection • C-band Acceleration Project (for future SuperKEKB) • More PLC adaptation, mainly by hardware groups • Many slow feedback loops, including energy spread • Slow Positron Facility inside Linac (60MeV e-) • Intel-Linux-VME with Linac software and EPICS IOCcore • CC/Net (embeded Linux CAMAC CC) to replace Hytec • Evaluation of fast Waveform Digitizers • Especially for 50Hz data acquisition • Network connected RAS module, etc. • Upgrade of EPICS gateway
Future Development • Linac Beam Measurement and Quality Control • Beam Measurement Between Injections —> During Continuous Injection • Stealth Bunch Measurement Possibility Between Injection Bunches Fast Kicker, To Prevent Dirty Beam Injection Fast Actuator Installation ex. Fast Phase Shifter is under Development Synchronous Data Acquisition Improvement Timing System Modification • Fast (50Hz) Data Acquisition Under Development for BPM with Fast Digitizer Need to Measure Dual Bunch Simultaneously • Need More Beam Quality Control More Precise Optics Control, etc
Why EPICS • We made too much effort on duplicate development on many control systems • Our goal is to achieve high performance in the accelerator and the physics experiments • Reuse of available resources is preferable • Devices in Linac have been modernized, and development of EPICS device supports became possible • Anyway we need interface to down-stream accelerators esp. KEKB • Want to merge several archive formants in Linac • May expect (?) man-power from other groups • May contribute to world-wide EPICS collaboration
EPICS Provides Interfaces at All Levels Archive Viewing Archive Analysis Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Archive Access Archiving Channel Access Client (CAC) Connection Data Transfers Connection Server WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) DB Engine Types Generic Data Descriptor Active X Access Lib Device Support Any Data Store Driver Support Channel Access Client Labview / Excel.. I/O Controller Gateway Portable CAS PCAS - Windows
Building EPICS Gateway • Common Control System at the Top (of Linac and Ring) • Needs too much resources • Port EPICS onto our VME/OS9-LynxOS • Failed to get support/budget for LynxOS at Linac • EPICS Maintenance with an unsupported Platform ? • Special Gateway Software, which interfaces to both the Linac Controls and EPICS IOCs as a Client • Built to ensure the feasibility at 1995 • Portable Channel Access Server • Implemented with 3.12 and used on HP-UX since 1996 • Software IOC • Being used and extended on Linux since 2003
Use of Existing EPICS IOC(Gateway IOC) • Software availability • Portable Channel Access Server was not available at around 1995 • Channel Access Server Emulation with Available Software Components • New gateway software which is clients to the both Linac and EPICS, and group of EPICS soft records • Tested for Magnet Controls • MEDM panels were written Gateway
Portable Channel Access Server(PCAS) • Protocol Conversion • Client to Linac Controls with Home-grown RPC and Cache Memory, Interface to Upper-level Servers not directly to Lower-level Hardware Servers • Server to EPICS environment, with some Name wrapping • Implemented for Linac in 1996- • for Magnets, RF, Beam Instrumentations • >4100 Records are available • Write-access Possible, normally Read-only • Still used for Unified Alarm,Operation Status, etc. CA Server
Soft IOC • IOCcore is available on Unix in EPICS 3.14 • We have Tru64unix, Linux, HP-UX • Simple • IOCcore hides the complexity of Channel Access, etc • We design the device support to Upper-level Linac Servers, as we access to hardware in normal IOC • All standard EPICS facilities are available • Alarms, Operation Limits, Links, Periodic processing, Monitors, etc. • Implemented for Linac on Linux in 2003 • For RF, Beam Instrumentation, Vacuum, etc. • >2200 Records are available and extending • All the records are archived in Channel Archiver • and to KBlog in the near future, to analyze correlations Linac/Ring • Developing Java viewer of the archive
General Comparisons • Symmetry • Gateway IOC is Symmetric between outside and inside of EPICS • Accessing from/to EPICS goes thru the same Gateway • Others are asymmetric • Name Resolution • PCAS can resolve names dynamically (at run-time) • Consumes less memory • SoftIOC has to prepare database statically • May be expected to give better response • Can be impossible for a large instalations • Database processing and associate fields • SoftIOC provides EPICS database Facilities like Limits, Alarms, Links, etc. • If we archive them, Archive Deadband is most necessary • Implementation of Gateway • SoftIOC is relatively straight forward • Simply adding device supports
Application software • All the records from the Linac Soft IOC are archived in Channel Archiver • and to KBlog in the near future, to analyze correlations between Linac/Ring • Developing Java viewer of the archive • KEKB Alarm is connected to Linac PCAS • May migrate to Linac SoftIOC at Summer Shutdown(Linac PCAS is currently based on EPICS 3.12) • Some other applications utilize PCAS as well • (Many others access Linac Controls directly now) • Small number of Records are going thru Gateway IOC, historically
KEKB Alarm Panel • Below is the KEKB Alarm Main Panel, which covers Linac Alarms as well. Detailed alarm information/history is available in a separate panel Linac Ring
Beam Optics Panels in SAD • Beam Optics Matching and Optimization Panels in SADscript • Some Parameters goesthru EPICS Gateways, others directly to Linac
Summary • There can be many signals outside of EPICS;In our case, Whole system was outside of EPICS • EPICS provides several facilities to implement gateways for EPICS services • At KEK Linac several implementations were built in the past, and merging towards Soft IOC for now, which may cover ~10k records per Soft IOC • Large installation prefers to utilize PCAS • Small installation may satisfy with Gateway IOC • of course depending on the environment • Expected to extend the flexibility of the System