EPICS Process Variables for SPEAR 3 Accelerator Physics Applications J. Corbett June 12, 2003 SPEAR 3 accelerator programs written in MATLAB rely on Channel Access to communicate with the main control system. This note contains a list of primary signals accessed by these programs. PV names are not specified. Signal Setpoint/Monitor BD/BDM both 1 string MS1-BD:CurrSetpt/:Curr QF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 both 25 individual + string 05G-QF1:CurrSetpt/:Curr 05G-QF2:CurrSetpt/:Curr 06G-QF1:CurrSetpt/:Curr 06G-QF2:CurrSetpt/:Curr 07G-QF1:CurrSetpt/:Curr 07G-QF2:CurrSetpt/:Curr 08G-QF1:CurrSetpt/:Curr 08G-QF2:CurrSetpt/:Curr 11G-QF1:CurrSetpt/:Curr 11G-QF2:CurrSetpt/:Curr 12G-QF1:CurrSetpt/:Curr 12G-QF2:CurrSetpt/:Curr 13G-QF1:CurrSetpt/:Curr 13G-QF2:CurrSetpt/:Curr 14G-QF1:CurrSetpt/:Curr 14G-QF2:CurrSetpt/:Curr 15G-QF1:CurrSetpt/:Curr 15G-QF2:CurrSetpt/:Curr 16G-QF1:CurrSetpt/:Curr 16G-QF2:CurrSetpt/:Curr 17G-QF1:CurrSetpt/:Curr 17G-QF2:CurrSetpt/:Curr MS1-QF:CurrSetpt/:Curr 1 2 3 4 5 6 7 8 9 10 11 both 25 individual + string 05G-QD1:CurrSetpt/:Curr 05G-QD2:CurrSetpt/:Curr 06G-QD1:CurrSetpt/:Curr 06G-QD2:CurrSetpt/:Curr 07G-QD1:CurrSetpt/:Curr 07G-QD2:CurrSetpt/:Curr 08G-QD1:CurrSetpt/:Curr 08G-QD2:CurrSetpt/:Curr 11G-QD1:CurrSetpt/:Curr 11G-QD2:CurrSetpt/:Curr 12G-QD1:CurrSetpt/:Curr QD Supply/Signal Comment dipole string ! 23 only 12 13 14 15 16 17 18 19 20 21 22 23 12G-QD2:CurrSetpt/:Curr 13G-QD1:CurrSetpt/:Curr 13G-QD2:CurrSetpt/:Curr 14G-QD1:CurrSetpt/:Curr 14G-QD2:CurrSetpt/:Curr 15G-QD1:CurrSetpt/:Curr 15G-QD2:CurrSetpt/:Curr 16G-QD1:CurrSetpt/:Curr 16G-QD2:CurrSetpt/:Curr 17G-QD1:CurrSetpt/:Curr 17G-QD2:CurrSetpt/:Curr MS1-QD:CurrSetpt/:Curr QFC both 2 string MS1-QFC:CurrSetpt/:Curr MS2-QFC:CurrSetpt/:Curr QDX both 1 string MS1-QDX:CurrSetpt/:Curr QFX both 1 string MS1-QFX:CurrSetpt/:Curr QDY both 1 string MS1-QDY:CurrSetpt/:Curr QFY both 1 string MS1-QFY:CurrSetpt/:Curr QDZ both 1 string MS1-QDZ:CurrSetpt/:Curr QFZ both 1 string MS1-QFZ:CurrSetpt/:Curr SF both 1 string MS1-SF:CurrSetpt/:Curr SD both 1 string MS1-SD:CurrSetpt/:Curr SFM both 1 string MS1-SFM:CurrSetpt/:Curr SDM both 1 string MS1-SDM:CurrSetpt/:Curr HCM VCM both 54 individual both 54 individual *:CurrSetpt/:Curr1,:Curr2 (2 shunts) *= 01G-COR1H 01G-COR1V 01G-COR2V 01G-COR3H ! 23 only ! extra Horizontal Correctors Vertical Correctors 01G-COR4H 01G-COR4V 02G-COR1H 02G-COR1V 02G-COR2V 02G-COR3H 02G-COR4H 02G-COR4V 03G-COR1H 03G-COR1V 03G-COR2V 03G-COR3H 03G-COR4H 03G-COR4V 04G-COR1H 04G-COR1V 04G-COR2V 04G-COR3H 04G-COR4H 04G-COR4V 05G-COR1H 05G-COR1V 05G-COR2V 05G-COR3H 05G-COR4H 05G-COR4V 06G-COR1H 06G-COR1V 06G-COR2V 06G-COR3H 06G-COR4H 06G-COR4V 07G-COR1H 07G-COR1V 07G-COR2V 07G-COR3H 07G-COR4H 07G-COR4V 08G-COR1H 08G-COR1V 08G-COR2V 08G-COR3H 08G-COR4H 08G-COR4V 09G-COR1H 09G-COR1V 09G-COR2V 09G-COR3H 09G-COR4H 09G-COR4V 10G-COR1H 10G-COR1V 10G-COR2V 10G-COR3H 10G-COR4H 10G-COR4V 11G-COR1H 11G-COR1V 11G-COR2V 11G-COR3H 11G-COR4H 11G-COR4V 12G-COR1H 12G-COR1V 12G-COR2V 12G-COR3H 12G-COR4H 12G-COR4V 13G-COR1H 13G-COR1V 13G-COR2V 13G-COR3H 13G-COR4H 13G-COR4V 14G-COR1H 14G-COR1V 14G-COR2V 14G-COR3H 14G-COR4H 14G-COR4V 15G-COR1H 15G-COR1V 15G-COR2V 15G-COR3H 15G-COR4H 15G-COR4V 16G-COR1H 16G-COR1V 16G-COR2V 16G-COR3H 16G-COR4H 16G-COR4V 17G-COR1H 17G-COR1V 17G-COR2V 17G-COR3H 17G-COR4H 17G-COR4V 18G-COR1H 18G-COR1V 18G-COR2V 18G-COR3H 18G-COR4H 18G-COR4V HCM_Status VCM_Status monitor only monitor only 54 individual 54 individual can be vector can be vector What statuses are you expecting? What are the possible values for a status? SkewQuad both 14 individual Skew Quads *:CurrSetpt/:Curr1,:Curr2 (2 shunts) 01G-QSS4 02G-QSS2 03G-QSS2 05G-QSS2 07G-QSS1 08G-QSS1 09G-QSS1 10G-QSS4 11G-QSS2 12G-QSS2 14G-QSS1 16G-QSS1 17G-QSS1 18G-QSS1 BPM_ABCD BPM_Status monitor only monitor only 4x112 individual 112 individual can be matrix can be vector BPMx_U BPMy_V BPMU_ref BPMV_ref BPMU_off BPMV_off monitor only monitor only monitor only monitor only monitor only monitor only 112 individual 112 individual 112 individual/vector 112 individual/vector 112 individual/vector 112 individual/vector can be vector can be vector reference orbit reference orbit orbit offset orbit offset BPMx_linear BPMy_linear BPMx_linearA BPMx_linearB BPMxlin_ref BPMylin_ref BPMxlin_off BPMxlin_off monitor only monitor only both both monitor only monitor only monitor only monitor only 112 individual 112 individual 112 individual 112 individual 112 individual/vector 112 individual/vector 112 individual/vector 112 individual/vector can be vector can be vector scales/can be vector offset/can be vector reference orbit reference orbit orbit offset orbit offset BPMx_pincush BPMy_pincush BPMxpin_ref BPMypin_ref BPMxpin_off BPMxpin_off monitor only monitor only monitor only monitor only monitor only monitor only 112 individual 112 individual 112 individual/vector 112 individual/vector 112 individual/vector 112 individual/vector can be vector can be vector reference orbit reference orbit orbit offset orbit offset PV TO FREEZE RING BUFFER BPM RING BUFFER - how many orbits? What does ring buffer contain? K1 both 1 individual manual or PC control only K1 kicker K2 both 1 individual manual or PC control only K2 kicker K3 both 1 individual manual or PC control only K3 kicker Septum both 1 individual Septum RF_freq both 1 individual frequency Current Lifetime Amp-hr Mode monitor monitor monitor monitor 1 individual 1 individual 1 individual 1 individual beams, etc BLOpen BLSum BLErr BLGap monitor monitor monitor monitor nBL PV's or 1 PV nBL PV's or 1 PV nBL PV's or 1 PV nBL PV's or 1 PV beamline open beamline sum beamline err ID gap Tune monitor 1, 2, or 3 PV's x,y,s -not day 1 ShuntCurrent ShuntRelay both both 1 PV 1 PV shunt supply current shunt relay selection BTS Current monitor 1 PV Orbit Interlock Verification InjectStatus monitor InterlockKey monitor record(ai,"intrlck:TestKey"){} 1 PV, 1 word 1 PV, 1 word enabled/disabled test/operational InterlockBypass (bypassed or not) 1 PV, 1 word with 18 bits used, or 18 words record(waveform,"intrlck:Bypass"){field(NELM,"18") field(FTVL,"DOUBLE")} general user ring buffer of (u, v) orbits orbits. 1 PV, number of bpms available at 4 KHz times number of Timestamps of ring buffer orbits same timestamp. 1 PV (?) 1word times number of orbits, assuming u and v have record(waveform,"intrlck:orbitTimeStamp"){field(NELM,"10") field(FTVL,"DOUBLE")} ring buffer of Reuben’s 18 channels of orbit-by-orbit trip status 18 words, times number of orbits in buffer. Timestamps of ring buffer orbit-by-orbit tripped status buffer 1 PV, 1 word with 18 bits used or 1 PV, 18 words times number of orbits in record(waveform,"intrlck:chanTimeStamp"){field(NELM,"10") field(FTVL,"DOUBLE")} signal to reset latched trips 1 PV, 1 word Also unfreezes the special orbit buffer that Reuben freezes whenever he gets a trip. record(ai,"intrlck:latchedTripReset"){} u orbit offset 1 PV, 112 words record(waveform,"intrlck:uOffset"){field(NELM,"112") field(FTVL,"DOUBLE")} u orbit to x scale factor 1 PV, 112 words record(waveform,"intrlck:uScale"){field(NELM,"112") field(FTVL,"DOUBLE")} v orbit offset 1 PV, 112 words record(waveform,"intrlck:vOffset"){field(NELM,"112") field(FTVL,"DOUBLE")} v orbit to y scale factor 1 PV, 112 words record(waveform,"intrlck:vScale"){field(NELM,"112") field(FTVL,"DOUBLE")}2) latched trip status (tripped or not) 1 PV, 1 word with 18 bits used, or 18 words timestamps when latched trips occurred 1PV, 18 words signal that the interlock test is finished 1 PV, 1 word signal that the interlock test failed 1 PV, 1 word signal to freeze or unfreeze the general user’s 4KHz (u, v) ring buffer, and a means to verify that it is frozen. 1 PV, 1 word list of the trip limits for u (or linear x) 1 PV, 18 times 3 pairs of values, one pair for the position-angle case, and two pairs of position-only to cover the situation that one or the other of the primary bpms is bad list of the trip limits for v (or linear y) 1 PV, 18 times 3 pairs of values, one pair for the position-angle case, and two pairs of position-only to cover the situation that one or the other of the primary bpms is bad QUESTION: is there some way to specify how many orbits the user wants to retrieve from the ring buffers? Future Pressure Gauges Pump Currents BSOICS Thermocouples SPEAR 3 PV Specification.doc