SPEAR Controls

IOC and Host Programs

Quick Links

General

IOC Applications

Name Brief Description Machine or Process Source
Orbit Interlock Interface IP module interface for orbit interlock reset and test and status of bypass, BPLD, beam current, RF enable, beamline open, and beamline stoppers. Multi-Use IOC $EPICS/app/MultiUse/
Control Room Interface IP module interface for bucket and state display, kicker trigger enable, audio alarms, and bucket buttons, control and strobe. Multi-Use IOC $EPICS/app/MultiUse/
Beam Loss Monitor BLM scaler counters. Multi-Use IOC $EPICS/app/MultiUse/
BPM RMS Calculation BPM orbit U and V RMS calculation Multi-Use IOC $EPICS/app/MultiUse/multiUseApp/src/BPMRMSCalc.st
Feedback Monitor Checks that either fast or slow feedback is running and BPM RMS is OK. Triggers a BPM orbit history dump and control room audible alarm when problems. Multi-Use IOC $EPICS/app/MultiUse/multiUseApp/src/fdbkMon.st
Beam Orbit Post-Mortem Dump Triggers a BPM orbit post-mortem dump on orbit interlock fault. Multi-Use IOC $EPICS/app/MultiUse/multiUseApp/src/beamDump.st
BuckoMat Automatic injection of booster beam into SPEAR buckets Multi-Use IOC $EPICS/app/MultiUse/multiUseApp/src/buckoMat.st
VME Crate Canbus Interface CANbus interface for monitor/control of all Wiener VME crates. Multi-Use IOC $EPICS/app/MultiUse/
VME Crate Ethernet Interface Ethernet interface for monitor/control of ethernet VME crates. Also, IOC monitoring. Shared with LCLS. soft-iocmgr $EPICS/app/IOCManager/
Alarm Handler (ALH) Support Records for alarms on operator displays and for the alarm handler. Shared with LCLS. soft-iocalh $EPICS/app/Alarms-SPEAR/
Bucket Select SPEAR bucket pattern selection for use by BuckoMat. Sets the count of the number of shots each of 372 buckets gets during injection. Includes the active pattern and 9 pattern savesets. soft-iocbucket $EPICS/app/EtherIoc/etherIocApp/Db/bucket*
ID Interface Interface to motors used for BL12-2 and BL13 insertion device control.. BL12-2, BL13 IOCs $EPICS/app/Motor/
ID Remote Control Support Records used by ID remote control in the VMS ID server. soft-iocidctrl $EPICS/app/InsertionDevices/
Beamline Calculations Beamline calculations including period, gap, gap state, magnetic field, K, and power. soft-iocmcortrim $EPICS/app/Mcor/trimMcorApp
ID Trim Tracking Trim tracking MCOR power supply control for insertion devices. soft-iocmcortrim $EPICS/app/Mcor/trimMcorApp
PPS,MPS,Camera,Kicker,Beamline PLC Interface Interface to all PLCs. soft-iocmps, soft-iocpps $EPICS/app/EtherIoc/etherIocApp/Db/many files
SRS DG535 Timing Monitor and control the SRS DG535 delay generators. soft-iocgpib $EPICS/app/EtherIoc/etherIocApp/Db/DG*, kicker_timing*
RF Frequency Read RF frequency in SPEAR, booster, and linac via Agilent Hp53181A frequency counters. Set SPEAR RF frequency and BPM test tone via PTS 500 frequency synthesizers. soft-iocgpib $EPICS/app/EtherIoc/etherIocApp/Db/gpib*
Linac RF Frequency Synchronization Synchronize linac frequency at the time of booster injection. Linac PAC IOC $EPICS/app/PAC/
Beam Current Monitors Keithley 2002 multimeters to acquire DCCT and NPCT beam current readouts. Performs beam current calculations including average, lifetime, vacuum quality, and loss rate for 4 time intervals: Fast (1 sec), 10 sec, 60 sec, slow (180 sec). Updates beam current for CURMON every second. See the DCCT overview and DCCT data acquisition presentations. soft-iocgpib $EPICS/app/EtherIoc/
Matlab Interface PVs used by production matlab programs so that matlab calculations can be added to history plot (readbacks) and to allow operator input for matlab programs without GUIs in the control room (setpoints). Matlab programs must use the labCA interface to access PVs so that automatic reconnections are made after IOC restart. soft-iocmatlab $EPICS/app/EtherIoc/etherIocApp/Db/config*, pinhole*, injectionControl*
Camera Interface Interface to screen cameras. soft-ioccam-* $EPICS/app/Camera/
HLS Interface Gets Hydrostatic Leveling System (HLS) water levels around the beamlines. soft-iochls $EPICS/app/EtherIoc/etherIocApp/Db/hls*
Beamline Mirror LCW Temperature Interface Get temperature readout from all beamline mirror LCW supply temperature controllers. soft-ioctemp $EPICS/app/EtherIoc/etherIocApp/Db/tempControl*
LCW Honeywell UDA Interface Get LCW dissolved O2, pH, and conductivity from Honeywell UDAs using modbus TCP. soft-ioclcw $EPICS/app/EtherIoc/etherIocApp/Db/lcwModbus*
Beamline Mirror Pitch Feedback Interface Provide PVs for the LabView beamline mirror pitch feedbacks. soft-ioctemp $EPICS/app/EtherIoc/etherIocApp/Db/fdbk*
Alarm Monitor Interface Provides PVs for the ALARMSEQ process and alarm summaries. Also, provides PVs for the non-BCS topoff software interlocks and summaries. Configuration control for limits. soft-iocalarm $EPICS/app/EtherIoc/etherIocApp/Db/monitor*, configStatus*
SPEAR and Injector CAMAC Interface Monitors small subset of SPEAR and Injector CA server PVs to add calculations and support the alarm handler. Provides slow feedback PVs. soft-ioccamac $EPICS/app/EtherIoc/etherIocApp/Db/camac*, fdbk*
Radiation Monitor Interface Interface to radiation monitors for BCS (SAPE 234, SAPE 239). soft-iocrp $EPICS/app/EtherIoc/etherIocApp/Db/gamma*, rp*
Power Supply (PS) Control SLAC Ethernet and Bitbus PS control. Also, injector PS interface for power supplies served by the injector CA server. SPEAR PS RTEMS IOC, soft-iocpsspr, soft-iocpsinj $EPICS/app/PowerSupply/
psControl Power supply standardization and ramp-off SPEAR PS RTEMS IOC, soft-iocpsspr, soft-iocpsinj $EPICS/app/PowerSupply/bitPSCApp/src/psControl.st
tspControl Power supply current control for TSP flashing and ramp-off soft-iocpsspr $EPICS/app/PowerSupply/bitPSCApp/src/tspControl.st
Pulse Signal Monitoring Digitizer waveform acquisition and processing. SPEAR PS, Linac PSM, Booster PSM IOCs $EPICS/app/PowerSupply/, $EPICS/app/spear/devPsm
BCS TopOff Interface Remote digital input and output for Beam Containment System. SAPE 239. SPEAR PS,Booster PSM RTEMS IOCs $EPICS/app/PowerSupply/
MCOR 4kHz Control
Hardware interface. MCOR IOCs $EPICS/app/Mcor/mcorApp
SPEAR BPMs SPEAR Electron and Photon BPM aquisition SPEAR BPM IOCs $EPICS/app/BPM/bpmAdcApp
Transport Line BPMs LTB/BTS Electron BPM aquisition LTB/BTS BPM IOC $EPICS/app/BPM/transBpmApp
SPEAR RF Hardware interface and slow control SPEAR RF IOC $EPICS/app/RF-SPEAR/
4kHz Controls
Fast corrector and BPM features / control
(PDF document here)
BPM, MCOR,FOFB IOCs
$EPICS/app/BPM/

OpenVMS Host Programs

To restart a program running on SPEAR1/2/3 or INJ02, a SPEAR system manager must log onto the machine running the program, get all privileges, and type the program name which will stop and restart the program. Contact a SSRL system manager to restart a program running on SSRL.
To rebuild a program: @spear_root:[epics.3_14_8_2epics]setup
set def <path to source code>
mms <program name>
mms production <program name>
Name Description Machine Source
ACM Integral Read linac and BTS ACM values (from local injector control system) and calculate different electron charge integrals. Use the reset mini-procedure to reset the integrals before a new run. INJ02 [INJECTOR.CMSLIB.KERNEL]ACM.C
ALARM_HANDLER Read and store alarm messages, generate notifications as required. SPEAR1,2,3,INJ02 spear_root:[monitoring]alarm_handler.c
ALARMSEQ Manages alarms. SPEAR1 spear_root:[alarms]alarmseq.c
BEAMINT Calculate SPEAR beam integrals every second. Use the reset mini-procedure to reset the integrals before a new run. SPEAR3 spear_root:[beamint]beamint.c
BL_INTRLK Calculate product of beam current (DCCT) and beamline vacuum and periodicall update integrals. Close beamline stopper when integral is too high. SPEAR3 spear_root:[monitoring]bl_intrlk.c
BL12_INTRLK Protect the BL12-2 insertion device in vacuum magnets from radiation from uncontrolled beam. SPEAR3 spear_root:[monitoring]bl12_intrlk.c
BOOSTER_FDBK Booster Extraction Septum Feedback INJ02 user_disk:[wermelsk.injector]booster_fdbk.c
BPMRACKTEMP Turn B116 and B132 BPM rack fans on and off to control temperature. SPEAR3 spear_root:[monitoring]bpmracktemp.c
CALSERVER Return PV values to webserver applications. SPEAR1 spear_root:[epics.calserver]calserver.c
CRATE_MONITOR Reboot MicroVax and generate an alarm message when a crash is detected. SPEAR3 spear_root:[monitoring]crate_monitor.c
CURMON Generate SPEAR beam current X display depending on selected machine mode SPEAR1 spear_root:[curmon]curmon.c
CURR_INTRLK Limit maximum SPEAR beam current and dump beam if beam current discrepancy SPEAR3 spear_root:[monitoring]curr_intrlk.c
HISTORYLOG_CA History Log Channel Access SPEAR1 spear_root:[history]historylog_ca.c
HISTORYLOG_RDB History Log RDB Update. Use PV Database web page to make changes to history. Changes can also be made using SQL commands. SPEAR1 spear_root:[history]historylog_rdb.c
HISTORYPLOT History Plot Viewer. When a new PV is added to history, historyplot needs to be restarted (or an old run accessed and then the new run). If 5 minutes has elapsed and historyplot still cannot access the new PV, a spear system manager must restart the SQL server. SPEAR1/2/3/SSRL spear_root:[history]historyplot.c
Insertion Device Control ID Remote Control SPEAR3 idl_user:[insertions]
LINAC_FDBK Gun Heater, Linac RFDD, Gun Phase, Linac Klystron Phase and Power Feedbacks INJ02 user_disk:[wermelsk.injector]linac_fdbk.c
MSG_HANDLER Message handler. How to start MSG_HANDLER. SPEAR1 spear_root:[monitoring]msg_handler.c
MCC_POWER Get values from Motor Control Center Interfaces and update PVs on soft-iocpsspr. SPEAR2 spear_root:[mcc_power]mcc_power.c
PVSERVER Get record list from each IOC and reply with all corresponding PV setpoints SPEAR1 spear_root:[history]pvserver.c
ROOM_MONITOR Log event and set alarm status when a room or crate temperature goes beyond a limit. SPEAR3 spear_root:[monitoring]room_monitor.c
SPEAR_SERVER The SPEAR Control System Upgrade SPEAR3 user_disk:[cox.epics2005.ssrl_servers]
TC_INTRLK Monitor all SPEAR thermocouple readouts. SPEAR3 spear_root:[monitoring]tc_intrlk.c
TSP TSP flashing SPEAR3 spear_root:[tsp]tsp.c
VACUUM_MONITOR Calculate vacuum parameters every second. SPEAR3 spear_root:[monitoring]vacuum_monitor.com
WC_FDBK White Circuit Feedback INJ02 user_disk:[wermelsk.injector]wc_fdbk.c
XCAMAC XCAMAC SPEAR3 spear_root:[xcamac]xcamac.for

Linux Host and Console Programs

Most of the following programs run using the spear AFS account. When one machine (connie or beldar) is down, the other machine is used instead.
Name Description Machine Config Files and Scripts
iocLogMsgServer Receive messages from iocLog clients and send them to the RDB event log via msg_handler connie $EPICS/app/iocLog/
caRepeater Forward IOC beacons to CA clients on this host all N/A
alh Send PV alarms to iocLogMsgServer connie $EPICS/app/alh/
autoFill Compiled matlab script for automatic injection into SPEAR (ake, frequent fill, trickle-charge) connie $SPEAR_MATLAB/automatedFill/
blds Compiled matlab script for beam line dynamic steering connie $SPEAR_MATLAB/blds/
Xvfb Virtual framebuffer X server required for alh and autoFill all $EPICS/app/alh/
channelWatcher Store PV setpoints and send setpoint changes to iocLogMsgServer connie $EPICS/app/cw/
gateway (public) Serve SPEAR PVs to clients outside the firewall beldar $EPICS/app/gtw/
gateway (SPEAR RF) Serve SPEAR RF (b132-iocrf) PVs to all SPEAR clients connie $EPICS/app/gtw/
Various Programs Soft IOCs all $IOC/soft-ioc*
iocConsole Processes IOC console access using screen all $IOC/screenrc and screeniocs
Extensible Display Manager (EDM) EPICS GUI displays, VACMON display on b117-pc13, displaying on b117-pc2 second monitor. all SPEAR EDM Design Rules,
SPEAR EDM Presentation
StripTool EPICS GUI strip chart tool all N/A
Matlab Programs Accelerator Physics Matlab Programs all N/A


SPEAR EPICS | EPICS Home | SPEAR Home | SSRL Computing/Networking | SSRL Home | SLAC Computing | SLAC Networking | SLAC Home

Contact: Stephanie Allison
Last Modified: Mar 10, 2013