<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki-ext.aps.anl.gov/blc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jkirchman</id>
	<title>Beam Line Controls - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-ext.aps.anl.gov/blc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jkirchman"/>
	<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=Special:Contributions/Jkirchman"/>
	<updated>2026-06-03T22:48:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=818</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=818"/>
		<updated>2026-04-20T22:12:18Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* PSS PVs */ Use png for PSS list since pdf is not supported by wiki-ext&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2025-01-31).&lt;br /&gt;
&lt;br /&gt;
 '''Important things to note:'''&lt;br /&gt;
 * There are 44 PV gateways at APS and you will get write access to certain PVs through only 1&lt;br /&gt;
 * LOM office and perhaps lab networks are usually not the same as the beamline network&lt;br /&gt;
 * LOM offices and perhaps labs will have read only access (if not part of the beamline network)&lt;br /&gt;
 * PV write access is granted ONLY from the beamline network PV gateway&lt;br /&gt;
&lt;br /&gt;
===LOM Access to PVs===&lt;br /&gt;
To get '''read only access''' to accelerator PVs you can run the command /APSshare/adlsys/xfd-display which uses a round robin technique to select 1 of 3 PV gateways; as such you don't know which one you are using, nor should you care. Also using this script you do not need to set any EPICS environment variables unless you need to see PVs from an IOC on your local network. If this is the case then use the environment variable EPICS_CA_AUTO_ADDR_LIST as shown below. This will tell your EPICS Channel Access (CA) client to also do PV searches on all network interfaces that the host machine has. There is no need to set the EPICS_CA_ADDR_LIST environment variable for this case.&lt;br /&gt;
 setenv EPICS_CA_AUTO_ADDR_LIST YES (for cshell)&lt;br /&gt;
 export EPICS_CA_AUTO_ADDR_LIST=YES (for bash)&lt;br /&gt;
&lt;br /&gt;
In order to get write access to accelerator PVs you need to be running your CA client on a beamline host. Then you will be able to access both the beamline hosted PVs as well as the accelerator PVs of interest. Setting the environment variable EPICS_CA_ADDR_LIST is not enough because the other end of the connection does not necessarily know how to send the information back to your CA client. To clarify this statement if you were to set the EPICS_CA_ADDR_LIST environment variable to include the beamline network then the CA search request might get through to the beamline network. However, the CA server (i.e. EPICS IOC) may not know how to get the response back across to the LOM network. Doubtful that this would work without more effort.&lt;br /&gt;
&lt;br /&gt;
===Beamline Access to PVs===&lt;br /&gt;
There is a PV gateway that is located in the APS computer room that has a connection to the beamline network; most often this gateway has a name that looks like sxxpvgate where xx is the beamline sector number and in some instances will also include the beamline (id or bm). All computer hosts on this network have at a minimum '''read access''' to all accelerator PVs. Write access may be allowed to some PVs such as insertion device controls and beamline shutters. If not, then this is simply an email request to [mailto:mls@anl.gov Marty Smith].&lt;br /&gt;
&lt;br /&gt;
===PV Gateway Access Security for Beamlines===&lt;br /&gt;
Often times a new beamline computer is added to the beamline network and this does not mean you get the same write permission to PVs that you had on another computer. There are many ways to set up the access security in the PV gateway and currently this decision is left up to the resident beamline personnel. However, in order to make an informed decision about this you will need to know your options; this can be as secure as you would like.&lt;br /&gt;
 Here are the options you have to select from:&lt;br /&gt;
 1. You must be logged in as a certain user name and logged into a certain computer (This is the most secure method)&lt;br /&gt;
      You might have multiple computer names and user names. This would mean that you '''MUST''' be in the user list AND logged into one of the hosts in the &lt;br /&gt;
      computer list.&lt;br /&gt;
 2. You must be logged into a certain computer but any user logged in has access (This is a list of computer host names)&lt;br /&gt;
 3. You must be a certain user logged in &lt;br /&gt;
    This means that as long as you are a user in the user name list you can get control from any computer with in the same subnet as the &lt;br /&gt;
    beamline PV gateway.&lt;br /&gt;
 &lt;br /&gt;
''It's advisable to verify with [mailto:mls@anl.gov Marty Smith] that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not there before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
It has been suggested that each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue &amp;quot;PSS&amp;quot; button, then selecting &amp;quot;Main&amp;quot; from the menu and then finding the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
The SI group has assured us that '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For the second run in 2024, the Gen4 systems are at 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID and 31ID, 33ID and 34ID. &lt;br /&gt;
&lt;br /&gt;
[[:Media:PSS Version List.png|Latest beamline PSS version list (PNG)]]&lt;br /&gt;
&lt;br /&gt;
This list was last updated in March 2026 and details the PSS Gen version at each beamline.&lt;br /&gt;
&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device (Undulator) PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = us or ds&lt;br /&gt;
 $(YY) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                       New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):GapSet                S$(xx)ID:$(YY)ID:GapSetC&lt;br /&gt;
 ID$(xx)$(yy):TaperGapSet           S$(xx)ID:$(YY)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx)$(yy):ScanGap               S$(xx)ID:$(YY)ID:ScanGapC&lt;br /&gt;
 ID$(xx)$(yy):ScanEnergy            S$(xx)ID:$(YY)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx)$(yy):EnergySet             S$(xx)ID:$(YY)ID:EnergySetC&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergySet        S$(xx)ID:$(YY)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx)$(yy):DeadbandGap           S$(xx)ID:$(YY)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx)$(yy):HarmonicValue         S$(xx)ID:$(YY)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx)$(yy):Start                 S$(xx)ID:$(YY)ID:StartC&lt;br /&gt;
 ID$(xx)$(yy):Stop                  S$(xx)ID:$(YY)ID:StopC&lt;br /&gt;
 ID$(xx)$(yy):AccessSecurity        S$(xx)ID:$(YY)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx)$(yy):MotorSpeed            S$(xx)ID:$(YY)ID:MotorSpeedC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):Gap                   S$(xx)ID:$(YY)ID:GapM&lt;br /&gt;
 ID$(xx)$(yy):TaperGap              S$(xx)ID:$(YY)ID:TaperGapM&lt;br /&gt;
 ID$(xx)$(yy):Energy                S$(xx)ID:$(YY)ID:EnergyM&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergy           S$(xx)ID:$(YY)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx)$(yy):Busy                  S$(xx)ID:$(YY)ID:BusyM&lt;br /&gt;
 ID$(xx)$(yy):Message1              S$(xx)ID:$(YY)ID:Message1M&lt;br /&gt;
 ID$(xx)$(yy):Message2              S$(xx)ID:$(YY)ID:Message2M&lt;br /&gt;
 ID$(xx)$(yy):Message3              S$(xx)ID:$(YY)ID:Message3M&lt;br /&gt;
 ID$(xx)$(yy):OldGapSet             S$(xx)ID:$(YY)ID:OldGapSetM&lt;br /&gt;
 ID$(xx)$(yy):Taper                 S$(xx)ID:$(YY)ID:TaperM&lt;br /&gt;
 ID$(xx)$(yy):EncoderSelect         S$(xx)ID:$(YY)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx)$(yy):PositionAccuracy      S$(xx)ID:$(YY)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx)$(yy):Location              S$(xx)ID:$(YY)ID:LocationM&lt;br /&gt;
 ID$(xx)$(yy):Device                S$(xx)ID:$(YY)ID:DeviceM&lt;br /&gt;
 ID$(xx)$(yy):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx)$(yy):Version               S$(xx)ID:$(YY)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(YY)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(YY)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(YY)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx):Position1             S$(xx)ID:$(YY)ID:Position1M&lt;br /&gt;
 ID$(xx):Position2             S$(xx)ID:$(YY)ID:Position2M&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=File:PSS_Version_List.png&amp;diff=817</id>
		<title>File:PSS Version List.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=File:PSS_Version_List.png&amp;diff=817"/>
		<updated>2026-04-20T22:11:06Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: Jkirchman uploaded a new version of File:PSS Version List.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
List of the PSS systems at each beamline with the generation of the PLC controller. Most beamlines are Gen1, Gen3, or Gen4.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=816</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=816"/>
		<updated>2026-04-20T21:56:03Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: Sync with the latest changes to the internal wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2025-01-31).&lt;br /&gt;
&lt;br /&gt;
 '''Important things to note:'''&lt;br /&gt;
 * There are 44 PV gateways at APS and you will get write access to certain PVs through only 1&lt;br /&gt;
 * LOM office and perhaps lab networks are usually not the same as the beamline network&lt;br /&gt;
 * LOM offices and perhaps labs will have read only access (if not part of the beamline network)&lt;br /&gt;
 * PV write access is granted ONLY from the beamline network PV gateway&lt;br /&gt;
&lt;br /&gt;
===LOM Access to PVs===&lt;br /&gt;
To get '''read only access''' to accelerator PVs you can run the command /APSshare/adlsys/xfd-display which uses a round robin technique to select 1 of 3 PV gateways; as such you don't know which one you are using, nor should you care. Also using this script you do not need to set any EPICS environment variables unless you need to see PVs from an IOC on your local network. If this is the case then use the environment variable EPICS_CA_AUTO_ADDR_LIST as shown below. This will tell your EPICS Channel Access (CA) client to also do PV searches on all network interfaces that the host machine has. There is no need to set the EPICS_CA_ADDR_LIST environment variable for this case.&lt;br /&gt;
 setenv EPICS_CA_AUTO_ADDR_LIST YES (for cshell)&lt;br /&gt;
 export EPICS_CA_AUTO_ADDR_LIST=YES (for bash)&lt;br /&gt;
&lt;br /&gt;
In order to get write access to accelerator PVs you need to be running your CA client on a beamline host. Then you will be able to access both the beamline hosted PVs as well as the accelerator PVs of interest. Setting the environment variable EPICS_CA_ADDR_LIST is not enough because the other end of the connection does not necessarily know how to send the information back to your CA client. To clarify this statement if you were to set the EPICS_CA_ADDR_LIST environment variable to include the beamline network then the CA search request might get through to the beamline network. However, the CA server (i.e. EPICS IOC) may not know how to get the response back across to the LOM network. Doubtful that this would work without more effort.&lt;br /&gt;
&lt;br /&gt;
===Beamline Access to PVs===&lt;br /&gt;
There is a PV gateway that is located in the APS computer room that has a connection to the beamline network; most often this gateway has a name that looks like sxxpvgate where xx is the beamline sector number and in some instances will also include the beamline (id or bm). All computer hosts on this network have at a minimum '''read access''' to all accelerator PVs. Write access may be allowed to some PVs such as insertion device controls and beamline shutters. If not, then this is simply an email request to [mailto:mls@anl.gov Marty Smith].&lt;br /&gt;
&lt;br /&gt;
===PV Gateway Access Security for Beamlines===&lt;br /&gt;
Often times a new beamline computer is added to the beamline network and this does not mean you get the same write permission to PVs that you had on another computer. There are many ways to set up the access security in the PV gateway and currently this decision is left up to the resident beamline personnel. However, in order to make an informed decision about this you will need to know your options; this can be as secure as you would like.&lt;br /&gt;
 Here are the options you have to select from:&lt;br /&gt;
 1. You must be logged in as a certain user name and logged into a certain computer (This is the most secure method)&lt;br /&gt;
      You might have multiple computer names and user names. This would mean that you '''MUST''' be in the user list AND logged into one of the hosts in the &lt;br /&gt;
      computer list.&lt;br /&gt;
 2. You must be logged into a certain computer but any user logged in has access (This is a list of computer host names)&lt;br /&gt;
 3. You must be a certain user logged in &lt;br /&gt;
    This means that as long as you are a user in the user name list you can get control from any computer with in the same subnet as the &lt;br /&gt;
    beamline PV gateway.&lt;br /&gt;
 &lt;br /&gt;
''It's advisable to verify with [mailto:mls@anl.gov Marty Smith] that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not there before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
It has been suggested that each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue &amp;quot;PSS&amp;quot; button, then selecting &amp;quot;Main&amp;quot; from the menu and then finding the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
The SI group has assured us that '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For the second run in 2024, the Gen4 systems are at 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID and 31ID, 33ID and 34ID. &lt;br /&gt;
&lt;br /&gt;
[[:Media:PSS Version List.pdf|Latest beamline PSS version list (PDF)]]&lt;br /&gt;
&lt;br /&gt;
This list was last updated in March 2026 and details the PSS Gen version at each beamline.&lt;br /&gt;
&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device (Undulator) PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = us or ds&lt;br /&gt;
 $(YY) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                       New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):GapSet                S$(xx)ID:$(YY)ID:GapSetC&lt;br /&gt;
 ID$(xx)$(yy):TaperGapSet           S$(xx)ID:$(YY)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx)$(yy):ScanGap               S$(xx)ID:$(YY)ID:ScanGapC&lt;br /&gt;
 ID$(xx)$(yy):ScanEnergy            S$(xx)ID:$(YY)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx)$(yy):EnergySet             S$(xx)ID:$(YY)ID:EnergySetC&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergySet        S$(xx)ID:$(YY)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx)$(yy):DeadbandGap           S$(xx)ID:$(YY)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx)$(yy):HarmonicValue         S$(xx)ID:$(YY)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx)$(yy):Start                 S$(xx)ID:$(YY)ID:StartC&lt;br /&gt;
 ID$(xx)$(yy):Stop                  S$(xx)ID:$(YY)ID:StopC&lt;br /&gt;
 ID$(xx)$(yy):AccessSecurity        S$(xx)ID:$(YY)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx)$(yy):MotorSpeed            S$(xx)ID:$(YY)ID:MotorSpeedC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):Gap                   S$(xx)ID:$(YY)ID:GapM&lt;br /&gt;
 ID$(xx)$(yy):TaperGap              S$(xx)ID:$(YY)ID:TaperGapM&lt;br /&gt;
 ID$(xx)$(yy):Energy                S$(xx)ID:$(YY)ID:EnergyM&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergy           S$(xx)ID:$(YY)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx)$(yy):Busy                  S$(xx)ID:$(YY)ID:BusyM&lt;br /&gt;
 ID$(xx)$(yy):Message1              S$(xx)ID:$(YY)ID:Message1M&lt;br /&gt;
 ID$(xx)$(yy):Message2              S$(xx)ID:$(YY)ID:Message2M&lt;br /&gt;
 ID$(xx)$(yy):Message3              S$(xx)ID:$(YY)ID:Message3M&lt;br /&gt;
 ID$(xx)$(yy):OldGapSet             S$(xx)ID:$(YY)ID:OldGapSetM&lt;br /&gt;
 ID$(xx)$(yy):Taper                 S$(xx)ID:$(YY)ID:TaperM&lt;br /&gt;
 ID$(xx)$(yy):EncoderSelect         S$(xx)ID:$(YY)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx)$(yy):PositionAccuracy      S$(xx)ID:$(YY)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx)$(yy):Location              S$(xx)ID:$(YY)ID:LocationM&lt;br /&gt;
 ID$(xx)$(yy):Device                S$(xx)ID:$(YY)ID:DeviceM&lt;br /&gt;
 ID$(xx)$(yy):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx)$(yy):Version               S$(xx)ID:$(YY)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(YY)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(YY)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(YY)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx):Position1             S$(xx)ID:$(YY)ID:Position1M&lt;br /&gt;
 ID$(xx):Position2             S$(xx)ID:$(YY)ID:Position2M&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=800</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=800"/>
		<updated>2025-01-31T16:12:50Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: Update date for the PV gateway list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2025-01-31).&lt;br /&gt;
&lt;br /&gt;
 '''Important things to note:'''&lt;br /&gt;
 * There are 44 PV gateways at APS and you will get write access to certain PVs through only 1&lt;br /&gt;
 * LOM office and perhaps lab networks are usually not the same as the beamline network&lt;br /&gt;
 * LOM offices and perhaps labs will have read only access (if not part of the beamline network)&lt;br /&gt;
 * PV write access is granted ONLY from the beamline network PV gateway&lt;br /&gt;
&lt;br /&gt;
===LOM Access to PVs===&lt;br /&gt;
To get '''read only access''' to accelerator PVs you can run the command /APSshare/adlsys/xfd-display which uses a round robin technique to select 1 of 3 PV gateways; as such you don't know which one you are using, nor should you care. Also using this script you do not need to set any EPICS environment variables unless you need to see PVs from an IOC on your local network. If this is the case then use the environment variable EPICS_CA_AUTO_ADDR_LIST as shown below. This will tell your EPICS Channel Access (CA) client to also do PV searches on all network interfaces that the host machine has. There is no need to set the EPICS_CA_ADDR_LIST environment variable for this case.&lt;br /&gt;
 setenv EPICS_CA_AUTO_ADDR_LIST YES (for cshell)&lt;br /&gt;
 export EPICS_CA_AUTO_ADDR_LIST=YES (for bash)&lt;br /&gt;
&lt;br /&gt;
In order to get write access to accelerator PVs you need to be running your CA client on a beamline host. Then you will be able to access both the beamline hosted PVs as well as the accelerator PVs of interest. Setting the environment variable EPICS_CA_ADDR_LIST is not enough because the other end of the connection does not necessarily know how to send the information back to your CA client. To clarify this statement if you were to set the EPICS_CA_ADDR_LIST environment variable to include the beamline network then the CA search request might get through to the beamline network. However, the CA server (i.e. EPICS IOC) may not know how to get the response back across to the LOM network. Doubtful that this would work without more effort.&lt;br /&gt;
&lt;br /&gt;
===Beamline Access to PVs===&lt;br /&gt;
There is a PV gateway that is located in the APS computer room that has a connection to the beamline network; most often this gateway has a name that looks like sxxpvgate where xx is the beamline sector number and in some instances will also include the beamline (id or bm). All computer hosts on this network have at a minimum '''read access''' to all accelerator PVs. Write access may be allowed to some PVs such as insertion device controls and beamline shutters. If not, then this is simply an email request to [mailto:mls@anl.gov Marty Smith].&lt;br /&gt;
&lt;br /&gt;
===PV Gateway Access Security for Beamlines===&lt;br /&gt;
Often times a new beamline computer is added to the beamline network and this does not mean you get the same write permission to PVs that you had on another computer. There are many ways to set up the access security in the PV gateway and currently this decision is left up to the resident beamline personnel. However, in order to make an informed decision about this you will need to know your options; this can be as secure as you would like.&lt;br /&gt;
 Here are the options you have to select from:&lt;br /&gt;
 1. You must be logged in as a certain user name and logged into a certain computer (This is the most secure method)&lt;br /&gt;
      You might have multiple computer names and user names. This would mean that you '''MUST''' be in the user list AND logged into one of the hosts in the &lt;br /&gt;
      computer list.&lt;br /&gt;
 2. You must be logged into a certain computer but any user logged in has access (This is a list of computer host names)&lt;br /&gt;
 3. You must be a certain user logged in &lt;br /&gt;
    This means that as long as you are a user in the user name list you can get control from any computer with in the same subnet as the &lt;br /&gt;
    beamline PV gateway.&lt;br /&gt;
 &lt;br /&gt;
''It's advisable to verify with [mailto:mls@anl.gov Marty Smith] that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue &amp;quot;PSS&amp;quot; button, then selecting &amp;quot;Main&amp;quot; from the menu and then find the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device (Undulator) PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = us or ds&lt;br /&gt;
 $(YY) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                       New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):GapSet                S$(xx)ID:$(YY)ID:GapSetC&lt;br /&gt;
 ID$(xx)$(yy):TaperGapSet           S$(xx)ID:$(YY)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx)$(yy):ScanGap               S$(xx)ID:$(YY)ID:ScanGapC&lt;br /&gt;
 ID$(xx)$(yy):ScanEnergy            S$(xx)ID:$(YY)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx)$(yy):EnergySet             S$(xx)ID:$(YY)ID:EnergySetC&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergySet        S$(xx)ID:$(YY)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx)$(yy):DeadbandGap           S$(xx)ID:$(YY)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx)$(yy):HarmonicValue         S$(xx)ID:$(YY)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx)$(yy):Start                 S$(xx)ID:$(YY)ID:StartC&lt;br /&gt;
 ID$(xx)$(yy):Stop                  S$(xx)ID:$(YY)ID:StopC&lt;br /&gt;
 ID$(xx)$(yy):AccessSecurity        S$(xx)ID:$(YY)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx)$(yy):MotorSpeed            S$(xx)ID:$(YY)ID:MotorSpeedC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):Gap                   S$(xx)ID:$(YY)ID:GapM&lt;br /&gt;
 ID$(xx)$(yy):TaperGap              S$(xx)ID:$(YY)ID:TaperGapM&lt;br /&gt;
 ID$(xx)$(yy):Energy                S$(xx)ID:$(YY)ID:EnergyM&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergy           S$(xx)ID:$(YY)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx)$(yy):Busy                  S$(xx)ID:$(YY)ID:BusyM&lt;br /&gt;
 ID$(xx)$(yy):Message1              S$(xx)ID:$(YY)ID:Message1M&lt;br /&gt;
 ID$(xx)$(yy):Message2              S$(xx)ID:$(YY)ID:Message2M&lt;br /&gt;
 ID$(xx)$(yy):Message3              S$(xx)ID:$(YY)ID:Message3M&lt;br /&gt;
 ID$(xx)$(yy):OldGapSet             S$(xx)ID:$(YY)ID:OldGapSetM&lt;br /&gt;
 ID$(xx)$(yy):Taper                 S$(xx)ID:$(YY)ID:TaperM&lt;br /&gt;
 ID$(xx)$(yy):EncoderSelect         S$(xx)ID:$(YY)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx)$(yy):PositionAccuracy      S$(xx)ID:$(YY)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx)$(yy):Location              S$(xx)ID:$(YY)ID:LocationM&lt;br /&gt;
 ID$(xx)$(yy):Device                S$(xx)ID:$(YY)ID:DeviceM&lt;br /&gt;
 ID$(xx)$(yy):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx)$(yy):Version               S$(xx)ID:$(YY)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(YY)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(YY)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(YY)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx):Position1             S$(xx)ID:$(YY)ID:Position1M&lt;br /&gt;
 ID$(xx):Position2             S$(xx)ID:$(YY)ID:Position2M&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=File:Pvgateway_list.png&amp;diff=799</id>
		<title>File:Pvgateway list.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=File:Pvgateway_list.png&amp;diff=799"/>
		<updated>2025-01-31T16:10:49Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: Jkirchman uploaded a new version of File:Pvgateway list.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=File:Pvgateway_list-20250131.png&amp;diff=798</id>
		<title>File:Pvgateway list-20250131.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=File:Pvgateway_list-20250131.png&amp;diff=798"/>
		<updated>2025-01-31T16:09:02Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: List of PV gateways at APS beamlines taken on 2025-Jan-31&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
List of PV gateways at APS beamlines taken on 2025-Jan-31&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=797</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=797"/>
		<updated>2025-01-31T15:46:39Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: Modifications made by Marty Smith: Updated page so that beamlines will know not to specifically set EPICS_CA_ADDR_LIST but are supplied with an alternative&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2024-06-27).&lt;br /&gt;
&lt;br /&gt;
 '''Important things to note:'''&lt;br /&gt;
 * There are 44 PV gateways at APS and you will get write access to certain PVs through only 1&lt;br /&gt;
 * LOM office and perhaps lab networks are usually not the same as the beamline network&lt;br /&gt;
 * LOM offices and perhaps labs will have read only access (if not part of the beamline network)&lt;br /&gt;
 * PV write access is granted ONLY from the beamline network PV gateway&lt;br /&gt;
&lt;br /&gt;
===LOM Access to PVs===&lt;br /&gt;
To get '''read only access''' to accelerator PVs you can run the command /APSshare/adlsys/xfd-display which uses a round robin technique to select 1 of 3 PV gateways; as such you don't know which one you are using, nor should you care. Also using this script you do not need to set any EPICS environment variables unless you need to see PVs from an IOC on your local network. If this is the case then use the environment variable EPICS_CA_AUTO_ADDR_LIST as shown below. This will tell your EPICS Channel Access (CA) client to also do PV searches on all network interfaces that the host machine has. There is no need to set the EPICS_CA_ADDR_LIST environment variable for this case.&lt;br /&gt;
 setenv EPICS_CA_AUTO_ADDR_LIST YES (for cshell)&lt;br /&gt;
 export EPICS_CA_AUTO_ADDR_LIST=YES (for bash)&lt;br /&gt;
&lt;br /&gt;
In order to get write access to accelerator PVs you need to be running your CA client on a beamline host. Then you will be able to access both the beamline hosted PVs as well as the accelerator PVs of interest. Setting the environment variable EPICS_CA_ADDR_LIST is not enough because the other end of the connection does not necessarily know how to send the information back to your CA client. To clarify this statement if you were to set the EPICS_CA_ADDR_LIST environment variable to include the beamline network then the CA search request might get through to the beamline network. However, the CA server (i.e. EPICS IOC) may not know how to get the response back across to the LOM network. Doubtful that this would work without more effort.&lt;br /&gt;
&lt;br /&gt;
===Beamline Access to PVs===&lt;br /&gt;
There is a PV gateway that is located in the APS computer room that has a connection to the beamline network; most often this gateway has a name that looks like sxxpvgate where xx is the beamline sector number and in some instances will also include the beamline (id or bm). All computer hosts on this network have at a minimum '''read access''' to all accelerator PVs. Write access may be allowed to some PVs such as insertion device controls and beamline shutters. If not, then this is simply an email request to [mailto:mls@anl.gov Marty Smith].&lt;br /&gt;
&lt;br /&gt;
===PV Gateway Access Security for Beamlines===&lt;br /&gt;
Often times a new beamline computer is added to the beamline network and this does not mean you get the same write permission to PVs that you had on another computer. There are many ways to set up the access security in the PV gateway and currently this decision is left up to the resident beamline personnel. However, in order to make an informed decision about this you will need to know your options; this can be as secure as you would like.&lt;br /&gt;
 Here are the options you have to select from:&lt;br /&gt;
 1. You must be logged in as a certain user name and logged into a certain computer (This is the most secure method)&lt;br /&gt;
      You might have multiple computer names and user names. This would mean that you '''MUST''' be in the user list AND logged into one of the hosts in the &lt;br /&gt;
      computer list.&lt;br /&gt;
 2. You must be logged into a certain computer but any user logged in has access (This is a list of computer host names)&lt;br /&gt;
 3. You must be a certain user logged in &lt;br /&gt;
    This means that as long as you are a user in the user name list you can get control from any computer with in the same subnet as the &lt;br /&gt;
    beamline PV gateway.&lt;br /&gt;
 &lt;br /&gt;
''It's advisable to verify with [mailto:mls@anl.gov Marty Smith] that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue &amp;quot;PSS&amp;quot; button, then selecting &amp;quot;Main&amp;quot; from the menu and then find the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device (Undulator) PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = us or ds&lt;br /&gt;
 $(YY) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                       New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):GapSet                S$(xx)ID:$(YY)ID:GapSetC&lt;br /&gt;
 ID$(xx)$(yy):TaperGapSet           S$(xx)ID:$(YY)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx)$(yy):ScanGap               S$(xx)ID:$(YY)ID:ScanGapC&lt;br /&gt;
 ID$(xx)$(yy):ScanEnergy            S$(xx)ID:$(YY)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx)$(yy):EnergySet             S$(xx)ID:$(YY)ID:EnergySetC&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergySet        S$(xx)ID:$(YY)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx)$(yy):DeadbandGap           S$(xx)ID:$(YY)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx)$(yy):HarmonicValue         S$(xx)ID:$(YY)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx)$(yy):Start                 S$(xx)ID:$(YY)ID:StartC&lt;br /&gt;
 ID$(xx)$(yy):Stop                  S$(xx)ID:$(YY)ID:StopC&lt;br /&gt;
 ID$(xx)$(yy):AccessSecurity        S$(xx)ID:$(YY)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx)$(yy):MotorSpeed            S$(xx)ID:$(YY)ID:MotorSpeedC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):Gap                   S$(xx)ID:$(YY)ID:GapM&lt;br /&gt;
 ID$(xx)$(yy):TaperGap              S$(xx)ID:$(YY)ID:TaperGapM&lt;br /&gt;
 ID$(xx)$(yy):Energy                S$(xx)ID:$(YY)ID:EnergyM&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergy           S$(xx)ID:$(YY)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx)$(yy):Busy                  S$(xx)ID:$(YY)ID:BusyM&lt;br /&gt;
 ID$(xx)$(yy):Message1              S$(xx)ID:$(YY)ID:Message1M&lt;br /&gt;
 ID$(xx)$(yy):Message2              S$(xx)ID:$(YY)ID:Message2M&lt;br /&gt;
 ID$(xx)$(yy):Message3              S$(xx)ID:$(YY)ID:Message3M&lt;br /&gt;
 ID$(xx)$(yy):OldGapSet             S$(xx)ID:$(YY)ID:OldGapSetM&lt;br /&gt;
 ID$(xx)$(yy):Taper                 S$(xx)ID:$(YY)ID:TaperM&lt;br /&gt;
 ID$(xx)$(yy):EncoderSelect         S$(xx)ID:$(YY)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx)$(yy):PositionAccuracy      S$(xx)ID:$(YY)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx)$(yy):Location              S$(xx)ID:$(YY)ID:LocationM&lt;br /&gt;
 ID$(xx)$(yy):Device                S$(xx)ID:$(YY)ID:DeviceM&lt;br /&gt;
 ID$(xx)$(yy):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx)$(yy):Version               S$(xx)ID:$(YY)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(YY)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(YY)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(YY)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx):Position1             S$(xx)ID:$(YY)ID:Position1M&lt;br /&gt;
 ID$(xx):Position2             S$(xx)ID:$(YY)ID:Position2M&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=796</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=796"/>
		<updated>2024-09-11T16:06:31Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* Changed */ Made EPS into more like a table and easier to read&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2024-06-27).&lt;br /&gt;
&lt;br /&gt;
If the PV gateway has not been configured, it's still possible to direct PV queries to the appropriate host. The environment variable EPICS_HOST_ADDR_LIST can be set to point to a gateway configured for the new APSU PVs. One such gateway is c2gate1-188 (164.54.188.8).&lt;br /&gt;
 setenv EPICS_HOST_ADDR_LIST 164.54.188.8  (for cshell)&lt;br /&gt;
 export EPICS_HOST_ADDR_LIST=164.54.188.8  (for bash)&lt;br /&gt;
This list can include multiple IPs each separated by a space. It may be the case that a computer used in an LOM requires setting this list to access APS-U PVs. However, be aware that if two working gateways are included with the addition of the EPICS_HOST_ADDR_LIST multiple responses to a PV access could be received. If this occurs, redefine the EPICS_HOST_ADDR_LIST to remove the unnecessary gateway.&lt;br /&gt;
  &lt;br /&gt;
Some PVs, e.g. undulator PVs, can only be written by select users and hosts. Marty maintains a list of those users and hosts in a permissions file. One configuration line contains the list of hosts permitted to perform writes and another line the users permitted to write. Below is the configuration for 27ID where 2 users are allowed (rixs and vw5) and several computer hosts: &lt;br /&gt;
 HAG(sector27) {oriana,oriana.xray.aps.anl.gov,grimlok,grimlok.xray.aps.anl.gov,oswin,oswin.xray.aps.anl.gov,ioc27idmot1,ioc27idmot2,oribi,oribi.xray.aps.anl.gov}&lt;br /&gt;
 UAG(sector27) {rixs,vw5}&lt;br /&gt;
''It's advisable to verify with Marty Smith that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:                0:              1:               2:              3:              4:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM         Moving          Closed                           Open            Position Error&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM         Moving          Closed                           Open            Position Error&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM         Moving          Closed                           Open            Position Error&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM         Moving          Closed                           Open            Position Error&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM         Moving          Closed                           Open            Position Error&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM         Moving          Closed                           Open            Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue &amp;quot;PSS&amp;quot; button, then selecting &amp;quot;Main&amp;quot; from the menu and then find the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device (Undulator) PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = us or ds&lt;br /&gt;
 $(YY) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                       New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):GapSet                S$(xx)ID:$(YY)ID:GapSetC&lt;br /&gt;
 ID$(xx)$(yy):TaperGapSet           S$(xx)ID:$(YY)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx)$(yy):ScanGap               S$(xx)ID:$(YY)ID:ScanGapC&lt;br /&gt;
 ID$(xx)$(yy):ScanEnergy            S$(xx)ID:$(YY)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx)$(yy):EnergySet             S$(xx)ID:$(YY)ID:EnergySetC&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergySet        S$(xx)ID:$(YY)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx)$(yy):DeadbandGap           S$(xx)ID:$(YY)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx)$(yy):HarmonicValue         S$(xx)ID:$(YY)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx)$(yy):Start                 S$(xx)ID:$(YY)ID:StartC&lt;br /&gt;
 ID$(xx)$(yy):Stop                  S$(xx)ID:$(YY)ID:StopC&lt;br /&gt;
 ID$(xx)$(yy):AccessSecurity        S$(xx)ID:$(YY)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx)$(yy):MotorSpeed            S$(xx)ID:$(YY)ID:MotorSpeedC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):Gap                   S$(xx)ID:$(YY)ID:GapM&lt;br /&gt;
 ID$(xx)$(yy):TaperGap              S$(xx)ID:$(YY)ID:TaperGapM&lt;br /&gt;
 ID$(xx)$(yy):Energy                S$(xx)ID:$(YY)ID:EnergyM&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergy           S$(xx)ID:$(YY)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx)$(yy):Busy                  S$(xx)ID:$(YY)ID:BusyM&lt;br /&gt;
 ID$(xx)$(yy):Message1              S$(xx)ID:$(YY)ID:Message1M&lt;br /&gt;
 ID$(xx)$(yy):Message2              S$(xx)ID:$(YY)ID:Message2M&lt;br /&gt;
 ID$(xx)$(yy):Message3              S$(xx)ID:$(YY)ID:Message3M&lt;br /&gt;
 ID$(xx)$(yy):OldGapSet             S$(xx)ID:$(YY)ID:OldGapSetM&lt;br /&gt;
 ID$(xx)$(yy):Taper                 S$(xx)ID:$(YY)ID:TaperM&lt;br /&gt;
 ID$(xx)$(yy):EncoderSelect         S$(xx)ID:$(YY)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx)$(yy):PositionAccuracy      S$(xx)ID:$(YY)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx)$(yy):Location              S$(xx)ID:$(YY)ID:LocationM&lt;br /&gt;
 ID$(xx)$(yy):Device                S$(xx)ID:$(YY)ID:DeviceM&lt;br /&gt;
 ID$(xx)$(yy):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx)$(yy):Version               S$(xx)ID:$(YY)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(YY)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(YY)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(YY)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx):Position1             S$(xx)ID:$(YY)ID:Position1M&lt;br /&gt;
 ID$(xx):Position2             S$(xx)ID:$(YY)ID:Position2M&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=795</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=795"/>
		<updated>2024-09-11T15:00:38Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* PSS PVs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2024-06-27).&lt;br /&gt;
&lt;br /&gt;
If the PV gateway has not been configured, it's still possible to direct PV queries to the appropriate host. The environment variable EPICS_HOST_ADDR_LIST can be set to point to a gateway configured for the new APSU PVs. One such gateway is c2gate1-188 (164.54.188.8).&lt;br /&gt;
 setenv EPICS_HOST_ADDR_LIST 164.54.188.8  (for cshell)&lt;br /&gt;
 export EPICS_HOST_ADDR_LIST=164.54.188.8  (for bash)&lt;br /&gt;
This list can include multiple IPs each separated by a space. It may be the case that a computer used in an LOM requires setting this list to access APS-U PVs. However, be aware that if two working gateways are included with the addition of the EPICS_HOST_ADDR_LIST multiple responses to a PV access could be received. If this occurs, redefine the EPICS_HOST_ADDR_LIST to remove the unnecessary gateway.&lt;br /&gt;
  &lt;br /&gt;
Some PVs, e.g. undulator PVs, can only be written by select users and hosts. Marty maintains a list of those users and hosts in a permissions file. One configuration line contains the list of hosts permitted to perform writes and another line the users permitted to write. Below is the configuration for 27ID where 2 users are allowed (rixs and vw5) and several computer hosts: &lt;br /&gt;
 HAG(sector27) {oriana,oriana.xray.aps.anl.gov,grimlok,grimlok.xray.aps.anl.gov,oswin,oswin.xray.aps.anl.gov,ioc27idmot1,ioc27idmot2,oribi,oribi.xray.aps.anl.gov}&lt;br /&gt;
 UAG(sector27) {rixs,vw5}&lt;br /&gt;
''It's advisable to verify with Marty Smith that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue &amp;quot;PSS&amp;quot; button, then selecting &amp;quot;Main&amp;quot; from the menu and then find the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device (Undulator) PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = us or ds&lt;br /&gt;
 $(YY) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                       New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):GapSet                S$(xx)ID:$(YY)ID:GapSetC&lt;br /&gt;
 ID$(xx)$(yy):TaperGapSet           S$(xx)ID:$(YY)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx)$(yy):ScanGap               S$(xx)ID:$(YY)ID:ScanGapC&lt;br /&gt;
 ID$(xx)$(yy):ScanEnergy            S$(xx)ID:$(YY)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx)$(yy):EnergySet             S$(xx)ID:$(YY)ID:EnergySetC&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergySet        S$(xx)ID:$(YY)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx)$(yy):DeadbandGap           S$(xx)ID:$(YY)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx)$(yy):HarmonicValue         S$(xx)ID:$(YY)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx)$(yy):Start                 S$(xx)ID:$(YY)ID:StartC&lt;br /&gt;
 ID$(xx)$(yy):Stop                  S$(xx)ID:$(YY)ID:StopC&lt;br /&gt;
 ID$(xx)$(yy):AccessSecurity        S$(xx)ID:$(YY)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx)$(yy):MotorSpeed            S$(xx)ID:$(YY)ID:MotorSpeedC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):Gap                   S$(xx)ID:$(YY)ID:GapM&lt;br /&gt;
 ID$(xx)$(yy):TaperGap              S$(xx)ID:$(YY)ID:TaperGapM&lt;br /&gt;
 ID$(xx)$(yy):Energy                S$(xx)ID:$(YY)ID:EnergyM&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergy           S$(xx)ID:$(YY)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx)$(yy):Busy                  S$(xx)ID:$(YY)ID:BusyM&lt;br /&gt;
 ID$(xx)$(yy):Message1              S$(xx)ID:$(YY)ID:Message1M&lt;br /&gt;
 ID$(xx)$(yy):Message2              S$(xx)ID:$(YY)ID:Message2M&lt;br /&gt;
 ID$(xx)$(yy):Message3              S$(xx)ID:$(YY)ID:Message3M&lt;br /&gt;
 ID$(xx)$(yy):OldGapSet             S$(xx)ID:$(YY)ID:OldGapSetM&lt;br /&gt;
 ID$(xx)$(yy):Taper                 S$(xx)ID:$(YY)ID:TaperM&lt;br /&gt;
 ID$(xx)$(yy):EncoderSelect         S$(xx)ID:$(YY)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx)$(yy):PositionAccuracy      S$(xx)ID:$(YY)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx)$(yy):Location              S$(xx)ID:$(YY)ID:LocationM&lt;br /&gt;
 ID$(xx)$(yy):Device                S$(xx)ID:$(YY)ID:DeviceM&lt;br /&gt;
 ID$(xx)$(yy):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx)$(yy):Version               S$(xx)ID:$(YY)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(YY)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(YY)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(YY)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx):Position1             S$(xx)ID:$(YY)ID:Position1M&lt;br /&gt;
 ID$(xx):Position2             S$(xx)ID:$(YY)ID:Position2M&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=777</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=777"/>
		<updated>2024-07-31T18:53:15Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* Insertion Device (Undulator) PVs */  Update to some of the ID PVs.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2024-06-27).&lt;br /&gt;
&lt;br /&gt;
If the PV gateway has not been configured, it's still possible to direct PV queries to the appropriate host. The environment variable EPICS_HOST_ADDR_LIST can be set to point to a gateway configured for the new APSU PVs. One such gateway is c2gate1-188 (164.54.188.8).&lt;br /&gt;
 setenv EPICS_HOST_ADDR_LIST 164.54.188.8  (for cshell)&lt;br /&gt;
 export EPICS_HOST_ADDR_LIST=164.54.188.8  (for bash)&lt;br /&gt;
This list can include multiple IPs each separated by a space. It may be the case that a computer used in an LOM requires setting this list to access APS-U PVs. However, be aware that if two working gateways are included with the addition of the EPICS_HOST_ADDR_LIST multiple responses to a PV access could be received. If this occurs, redefine the EPICS_HOST_ADDR_LIST to remove the unnecessary gateway.&lt;br /&gt;
  &lt;br /&gt;
Some PVs, e.g. undulator PVs, can only be written by select users and hosts. Marty maintains a list of those users and hosts in a permissions file. One configuration line contains the list of hosts permitted to perform writes and another line the users permitted to write. Below is the configuration for 27ID where 2 users are allowed (rixs and vw5) and several computer hosts: &lt;br /&gt;
 HAG(sector27) {oriana,oriana.xray.aps.anl.gov,grimlok,grimlok.xray.aps.anl.gov,oswin,oswin.xray.aps.anl.gov,ioc27idmot1,ioc27idmot2,oribi,oribi.xray.aps.anl.gov}&lt;br /&gt;
 UAG(sector27) {rixs,vw5}&lt;br /&gt;
''It's advisable to verify with Marty Smith that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device (Undulator) PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = us or ds&lt;br /&gt;
 $(YY) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                       New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):GapSet                S$(xx)ID:$(YY)ID:GapSetC&lt;br /&gt;
 ID$(xx)$(yy):TaperGapSet           S$(xx)ID:$(YY)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx)$(yy):ScanGap               S$(xx)ID:$(YY)ID:ScanGapC&lt;br /&gt;
 ID$(xx)$(yy):ScanEnergy            S$(xx)ID:$(YY)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx)$(yy):EnergySet             S$(xx)ID:$(YY)ID:EnergySetC&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergySet        S$(xx)ID:$(YY)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx)$(yy):DeadbandGap           S$(xx)ID:$(YY)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx)$(yy):HarmonicValue         S$(xx)ID:$(YY)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx)$(yy):Start                 S$(xx)ID:$(YY)ID:StartC&lt;br /&gt;
 ID$(xx)$(yy):Stop                  S$(xx)ID:$(YY)ID:StopC&lt;br /&gt;
 ID$(xx)$(yy):AccessSecurity        S$(xx)ID:$(YY)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx)$(yy):MotorSpeed            S$(xx)ID:$(YY)ID:MotorSpeedC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx)$(yy):Gap                   S$(xx)ID:$(YY)ID:GapM&lt;br /&gt;
 ID$(xx)$(yy):TaperGap              S$(xx)ID:$(YY)ID:TaperGapM&lt;br /&gt;
 ID$(xx)$(yy):Energy                S$(xx)ID:$(YY)ID:EnergyM&lt;br /&gt;
 ID$(xx)$(yy):TaperEnergy           S$(xx)ID:$(YY)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx)$(yy):Busy                  S$(xx)ID:$(YY)ID:BusyM&lt;br /&gt;
 ID$(xx)$(yy):Message1              S$(xx)ID:$(YY)ID:Message1M&lt;br /&gt;
 ID$(xx)$(yy):Message2              S$(xx)ID:$(YY)ID:Message2M&lt;br /&gt;
 ID$(xx)$(yy):Message3              S$(xx)ID:$(YY)ID:Message3M&lt;br /&gt;
 ID$(xx)$(yy):OldGapSet             S$(xx)ID:$(YY)ID:OldGapSetM&lt;br /&gt;
 ID$(xx)$(yy):Taper                 S$(xx)ID:$(YY)ID:TaperM&lt;br /&gt;
 ID$(xx)$(yy):EncoderSelect         S$(xx)ID:$(YY)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx)$(yy):PositionAccuracy      S$(xx)ID:$(YY)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx)$(yy):Location              S$(xx)ID:$(YY)ID:LocationM&lt;br /&gt;
 ID$(xx)$(yy):Device                S$(xx)ID:$(YY)ID:DeviceM&lt;br /&gt;
 ID$(xx)$(yy):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx)$(yy):Version               S$(xx)ID:$(YY)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(YY)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(YY)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(YY)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(YY)ID:DeviceLimitM&lt;br /&gt;
 ID$(xx):Position1             S$(xx)ID:$(YY)ID:Position1M&lt;br /&gt;
 ID$(xx):Position2             S$(xx)ID:$(YY)ID:Position2M&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=776</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=776"/>
		<updated>2024-07-31T18:23:15Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* Insertion Device PVs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2024-06-27).&lt;br /&gt;
&lt;br /&gt;
If the PV gateway has not been configured, it's still possible to direct PV queries to the appropriate host. The environment variable EPICS_HOST_ADDR_LIST can be set to point to a gateway configured for the new APSU PVs. One such gateway is c2gate1-188 (164.54.188.8).&lt;br /&gt;
 setenv EPICS_HOST_ADDR_LIST 164.54.188.8  (for cshell)&lt;br /&gt;
 export EPICS_HOST_ADDR_LIST=164.54.188.8  (for bash)&lt;br /&gt;
This list can include multiple IPs each separated by a space. It may be the case that a computer used in an LOM requires setting this list to access APS-U PVs. However, be aware that if two working gateways are included with the addition of the EPICS_HOST_ADDR_LIST multiple responses to a PV access could be received. If this occurs, redefine the EPICS_HOST_ADDR_LIST to remove the unnecessary gateway.&lt;br /&gt;
  &lt;br /&gt;
Some PVs, e.g. undulator PVs, can only be written by select users and hosts. Marty maintains a list of those users and hosts in a permissions file. One configuration line contains the list of hosts permitted to perform writes and another line the users permitted to write. Below is the configuration for 27ID where 2 users are allowed (rixs and vw5) and several computer hosts: &lt;br /&gt;
 HAG(sector27) {oriana,oriana.xray.aps.anl.gov,grimlok,grimlok.xray.aps.anl.gov,oswin,oswin.xray.aps.anl.gov,ioc27idmot1,ioc27idmot2,oribi,oribi.xray.aps.anl.gov}&lt;br /&gt;
 UAG(sector27) {rixs,vw5}&lt;br /&gt;
''It's advisable to verify with Marty Smith that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device (Undulator) PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=775</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=775"/>
		<updated>2024-06-27T15:03:36Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* PV Gateways */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2024-06-27).&lt;br /&gt;
&lt;br /&gt;
If the PV gateway has not been configured, it's still possible to direct PV queries to the appropriate host. The environment variable EPICS_HOST_ADDR_LIST can be set to point to a gateway configured for the new APSU PVs. One such gateway is c2gate1-188 (164.54.188.8).&lt;br /&gt;
 setenv EPICS_HOST_ADDR_LIST 164.54.188.8  (for cshell)&lt;br /&gt;
 export EPICS_HOST_ADDR_LIST=164.54.188.8  (for bash)&lt;br /&gt;
This list can include multiple IPs each separated by a space. It may be the case that a computer used in an LOM requires setting this list to access APS-U PVs. However, be aware that if two working gateways are included with the addition of the EPICS_HOST_ADDR_LIST multiple responses to a PV access could be received. If this occurs, redefine the EPICS_HOST_ADDR_LIST to remove the unnecessary gateway.&lt;br /&gt;
  &lt;br /&gt;
Some PVs, e.g. undulator PVs, can only be written by select users and hosts. Marty maintains a list of those users and hosts in a permissions file. One configuration line contains the list of hosts permitted to perform writes and another line the users permitted to write. Below is the configuration for 27ID where 2 users are allowed (rixs and vw5) and several computer hosts: &lt;br /&gt;
 HAG(sector27) {oriana,oriana.xray.aps.anl.gov,grimlok,grimlok.xray.aps.anl.gov,oswin,oswin.xray.aps.anl.gov,ioc27idmot1,ioc27idmot2,oribi,oribi.xray.aps.anl.gov}&lt;br /&gt;
 UAG(sector27) {rixs,vw5}&lt;br /&gt;
''It's advisable to verify with Marty Smith that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=774</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=774"/>
		<updated>2024-06-27T15:01:38Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* PV Gateways */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2024-06-27).&lt;br /&gt;
&lt;br /&gt;
If the PV gateway has not been configured, it's still possible to direct PV queries to the appropriate host. The environment variable EPICS_HOST_ADDR_LIST can be set to point to a gateway configured for the new APSU PVs. One such gateway is c2gate1-188 (164.54.188.8).&lt;br /&gt;
 setenv EPICS_HOST_ADDR_LIST 164.54.188.8  (for cshell)&lt;br /&gt;
 export EPICS_HOST_ADDR_LIST=164.54.188.8  (for bash)&lt;br /&gt;
It may be the case that a computer used in an LOM requires this for APS-U PVs. However, be aware that if two working gateways are included with the addition of the EPICS_HOST_ADDR_LIST multiple responses to a PV access could be received. If this occurs, redefine the EPICS_HOST_ADDR_LIST to remove the unnecessary gateway.&lt;br /&gt;
  &lt;br /&gt;
Some PVs, e.g. undulator PVs, can only be written by select users and hosts. Marty maintains a list of those users and hosts in a permissions file. One configuration line contains the list of hosts permitted to perform writes and another line the users permitted to write. Below is the configuration for 27ID where 2 users are allowed (rixs and vw5) and several computer hosts: &lt;br /&gt;
 HAG(sector27) {oriana,oriana.xray.aps.anl.gov,grimlok,grimlok.xray.aps.anl.gov,oswin,oswin.xray.aps.anl.gov,ioc27idmot1,ioc27idmot2,oribi,oribi.xray.aps.anl.gov}&lt;br /&gt;
 UAG(sector27) {rixs,vw5}&lt;br /&gt;
''It's advisable to verify with Marty Smith that the hosts in his list are still the appropriate ones for a beamline.'' Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=773</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=773"/>
		<updated>2024-06-27T15:00:23Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* PV Gateways */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2024-06-27).&lt;br /&gt;
&lt;br /&gt;
If the PV gateway has not been configured, it's still possible to direct PV queries to the appropriate host. The environment variable EPICS_HOST_ADDR_LIST can be set to point to a gateway configured for the new APSU PVs. One such gateway is c2gate1-188 (164.54.188.8).&lt;br /&gt;
 setenv EPICS_HOST_ADDR_LIST 164.54.188.8  (for cshell)&lt;br /&gt;
 export EPICS_HOST_ADDR_LIST=164.54.188.8  (for bash)&lt;br /&gt;
It may be the case that a computer used in an LOM requires this for APS-U PVs. However, be aware that if two working gateways are included with the addition of the EPICS_HOST_ADDR_LIST multiple responses to a PV access could be received. If this occurs, redefine the EPICS_HOST_ADDR_LIST to remove the unnecessary gateway.&lt;br /&gt;
  &lt;br /&gt;
Some PVs, e.g. undulator PVs, can only be written by select users and hosts. Marty maintains a list of those users and hosts in a permissions file. One configuration line contains the list of hosts permitted to perform writes and another line the users permitted to write. Below is the configuration for 27ID where 2 users are allowed (rixs and vw5) and several computer hosts: &lt;br /&gt;
 HAG(sector27) {oriana,oriana.xray.aps.anl.gov,grimlok,grimlok.xray.aps.anl.gov,oswin,oswin.xray.aps.anl.gov,ioc27idmot1,ioc27idmot2,oribi,oribi.xray.aps.anl.gov}&lt;br /&gt;
 UAG(sector27) {rixs,vw5}&lt;br /&gt;
It's advisable to verify with Marty Smith that the hosts in his list are still the appropriate ones for a beamline. Beamline computers are replaced often and the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=772</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=772"/>
		<updated>2024-06-27T14:57:33Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* PV Gateways */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See the list of [[:File:pvgateway_list.png|PVgateways]]  at the beamlines (as of 2024-06-27).&lt;br /&gt;
&lt;br /&gt;
If the PV gateway has not been configured, it's still possible to direct PV queries to the appropriate host. The environment variable EPICS_HOST_ADDR_LIST can be set to point to a gateway configured for the new APSU PVs. One such gateway is c2gate1-188 (164.54.188.8).&lt;br /&gt;
 setenv EPICS_HOST_ADDR_LIST 164.54.188.8  (for cshell)&lt;br /&gt;
 export EPICS_HOST_ADDR_LIST=164.54.188.8  (for bash)&lt;br /&gt;
It may be the case that a computer used in an LOM requires this for APS-U PVs. However, be aware that if two working gateways are included with the addition of the EPICS_HOST_ADDR_LIST multiple responses to a PV access could be received. If this occurs, redefine the EPICS_HOST_ADDR_LIST to remove the unnecessary gateway.&lt;br /&gt;
  &lt;br /&gt;
Some PVs, e.g. undulator PVs, can only be written by select users and hosts. Marty maintains a list of those users and hosts in a permissions file. One configuration line contains the list of hosts permitted to perform writes and another line the users permitted to write. Below is the configuration for 27ID where 2 users are allowed (rixs and vw5) and several computer hosts: &lt;br /&gt;
 HAG(sector27) {oriana,oriana.xray.aps.anl.gov,grimlok,grimlok.xray.aps.anl.gov,oswin,oswin.xray.aps.anl.gov,ioc27idmot1,ioc27idmot2,oribi,oribi.xray.aps.anl.gov}&lt;br /&gt;
 UAG(sector27) {rixs,vw5}&lt;br /&gt;
It's advisable to verify with Marty that the hosts in his list are still the appropriate ones for a beamline. Beamline computers are replaced oftenand the PV gateway permissions file may have stale data.&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=File:Pvgateway_list.png&amp;diff=771</id>
		<title>File:Pvgateway list.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=File:Pvgateway_list.png&amp;diff=771"/>
		<updated>2024-06-27T14:55:11Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=770</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=770"/>
		<updated>2024-06-27T14:54:22Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: Add PV gateway section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==PV Gateways==&lt;br /&gt;
In order to access the APS-U PVs, each beamline host needs to know where to find these PVs. This is the function of a PV gateway which IT has configured for each beamline. The PV gateway's network interface is updated to include the new private VLAN for the IOCs which host the APS-U PVs.  This PV gateway configuration maintenance is performed by Marty Smith in CTL and Brian Robinson in IT. See below for the list of PV gateways at the beamlines (as of 2024-06-27) [[:File:pvgateway_list.png|PVgateways]]&lt;br /&gt;
&lt;br /&gt;
If the PV gateway has not been configured, it's still possible to direct PV queries to the appropriate host. The environment variable EPICS_HOST_ADDR_LIST can be set to point to a gateway configured for the new APSU PVs. One such gateway is c2gate1-188 (164.54.188.8).&lt;br /&gt;
 setenv EPICS_HOST_ADDR_LIST 164.54.188.8  (for cshell)&lt;br /&gt;
 export EPICS_HOST_ADDR_LIST=164.54.188.8  (for bash)&lt;br /&gt;
It may be the case that a computer used in an LOM requires this for APS-U PVs. However, be aware that if two working gateways are included with the addition of the EPICS_HOST_ADDR_LIST multiple responses to a PV access could be received. If this occurs, redefine the EPICS_HOST_ADDR_LIST to remove the unnecessary gateway.&lt;br /&gt;
  &lt;br /&gt;
Some PVs, e.g. undulator PVs, can only be written by select users and hosts. Marty maintains a list of those users and hosts in a permissions file. One configuration line contains the list of hosts permitted to perform writes and another line the users permitted to write. Below is the configuration for 27ID where 2 users are allowed (rixs and vw5) and several computer hosts: &lt;br /&gt;
 HAG(sector27) {oriana,oriana.xray.aps.anl.gov,grimlok,grimlok.xray.aps.anl.gov,oswin,oswin.xray.aps.anl.gov,ioc27idmot1,ioc27idmot2,oribi,oribi.xray.aps.anl.gov}&lt;br /&gt;
 UAG(sector27) {rixs,vw5}&lt;br /&gt;
It's advisable to verify with Marty that the hosts in his list are still the appropriate ones for a beamline. Beamline computers are replaced oftenand the PV gateway permissions file may have stale data. &lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=769</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=769"/>
		<updated>2024-06-24T20:55:49Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* PSS PVs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed.''' For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=768</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=768"/>
		<updated>2024-06-24T16:49:33Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
As mentioned elsewhere here, Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
    https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change.''' Only the Gen4 systems PVs were changed. For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=767</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=767"/>
		<updated>2024-06-24T15:24:17Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* PSS PVs */ Some formatting. Add link to list of PSS systems&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change.''' Only the Gen4 systems PVs were changed. For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. [[:File:PSS_Version_List.png|This list details the PSS Gen version at each beamline]]&lt;br /&gt;
 See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                     New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=File:PSS_Version_List.png&amp;diff=766</id>
		<title>File:PSS Version List.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=File:PSS_Version_List.png&amp;diff=766"/>
		<updated>2024-06-24T15:04:42Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: List of the PSS systems at each beamline with the generation of the PLC controller. Most beamlines are Gen1, Gen3, or Gen4.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
List of the PSS systems at each beamline with the generation of the PLC controller. Most beamlines are Gen1, Gen3, or Gen4.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=765</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=765"/>
		<updated>2024-06-24T14:31:07Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: More information added about PSS PVs. Examples provided for Gen4.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not present before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, '''for Gen3 PSS system the shutter control PVs did not change.''' Only the Gen4 systems PVs were changed. For this second run in 2024, the Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (to be completed after the Aug 2024 shutdown), 31ID, 33ID and 34ID. &lt;br /&gt;
See the following example PSS Gen4 PVs where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
 Old Gen PSS PV's                 New Gen4 PSS PV's&lt;br /&gt;
 PA:xxyy:STA_A_FES_OPEN_PL            Sxxyy-PSS:FES:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_D_SDS_OPEN_PLS           Sxxyy-PSS:SDS:BeamBlockingM&lt;br /&gt;
 PA:xxyy:STA_A_SEARCHED_PL            Sxxyy-PSS:StaA:SecureM&lt;br /&gt;
 PA:xxyy:STA_C_SEARCHED_PL            Sxxyy-PSS:StaC:SecureM&lt;br /&gt;
 PA:xxyy:STA_D_SEARCHED_PL            Sxxyy-PSS:StaD:SecureM&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=764</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=764"/>
		<updated>2024-06-21T21:00:14Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: /* PSS PVs */ Add information about the Gen3 and Gen4 PSS systems.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not there before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
Each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. If the beamline is a Gen4 system, then select either &amp;quot;Systems&amp;quot; or &amp;quot;Stations&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
According to the SI group, for Gen3 PSS system the shutter control PVs did not change. Only the Gen4 systems PVs were changed. The Gen4 systems will be 8ID, 9ID, 15ID, 16BM, 19ID, 20ID, 22ID, 25ID (after the Aug 2024 shutdown), 31ID, 33ID and 34ID.&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=Beamline_Controls&amp;diff=763</id>
		<title>Beamline Controls</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=Beamline_Controls&amp;diff=763"/>
		<updated>2024-06-21T13:56:50Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: Move APSU section underneath the Beamline Controls Documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WIKI for the APS Beamline Controls Community, maintained by the Beamline Controls Technical Working Group.&amp;lt;br /&amp;gt;&lt;br /&gt;
This wiki exists to collect the output of the working group, including documentation on beamline controls software and hardware useful for APS beamline scientists and resident users.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Getting Started===&lt;br /&gt;
* [[EPICS Cheat Sheet]]: Channel Access command-lines, noteworthy record fields &amp;amp; IOC shell commands.&lt;br /&gt;
* [[EPICS 101]]: definition of basic EPICS components ([[EPICS_101#What_is_an_IOC.3F|IOC]], [[EPICS 101#What_is_a_PV.3F|PV]], [[EPICS_101#What_is_a_record.3F|record]], [[EPICS 101#What_is_a_database.3F|database]]).&lt;br /&gt;
* [[IOC 101]]: learn how to create your own IOC.&lt;br /&gt;
* [[Git_101|Git 101]]: git refresher (basic workflow, commands, and more).&lt;br /&gt;
&lt;br /&gt;
===Beamline Controls Documentation===&lt;br /&gt;
&lt;br /&gt;
* [[EPICS networking]]: basic overview of how to control the network paths used by EPICS IOCs and clients.&lt;br /&gt;
* [[Controls Software Documentation]]&lt;br /&gt;
* [[Hardware and IT Configuration]]&lt;br /&gt;
* [[APSU_PVs]]: Description of what process variables(PVs) have changed for PSS, EPS, and ID control for the APSU beamlines&lt;br /&gt;
** Mark Rivers has documented the process he used to find the relevant medm screens and the useful PVs for his beamline:&lt;br /&gt;
*** https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
*** https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;br /&gt;
&lt;br /&gt;
===Practical Beamline Controls Training (2023)===&lt;br /&gt;
&lt;br /&gt;
[[Practical_Beamline_Controls_Training#IOC_Basics|Session 1: IOC Basics]]&lt;br /&gt;
[[Practical_Beamline_Controls_Training#IOC_Deployment_.26_Troubleshooting|Session 2: IOC Deployment &amp;amp; Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
===Beamline Controls Technical Working Group information===&lt;br /&gt;
&lt;br /&gt;
The BC Technical Working (BCTWG) group meets monthly to review and gather feedback on possible changes in either the way BC delivers support or the technologies that BC supports. The BCTWG comprises the BC group plus interested stakeholders from XSD. In a nutshell, the main goal of the BCTWG is to improve communication between BC and its customers on topics of mutual interest.&lt;br /&gt;
&lt;br /&gt;
* Box folder with slides and meeting notes (ANL only): [https://anl.box.com/s/chcn7xauil93inay8ipinbxtcckc9k9f]&lt;br /&gt;
&lt;br /&gt;
* Current chairs:&lt;br /&gt;
** Kevin Peterson (XSD-BC)&lt;br /&gt;
** Tejas Guruswamy (XSD-DET)&lt;br /&gt;
** Andrew Chuang (XSD-MPE)&lt;br /&gt;
&lt;br /&gt;
===Beamline Data Pipelines===&lt;br /&gt;
&lt;br /&gt;
* https://git.aps.anl.gov/groups/bdp-public/-/wikis/home&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=Beamline_Controls&amp;diff=762</id>
		<title>Beamline Controls</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=Beamline_Controls&amp;diff=762"/>
		<updated>2024-06-20T17:59:11Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: Add the APSU PVs section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WIKI for the APS Beamline Controls Community, maintained by the Beamline Controls Technical Working Group.&amp;lt;br /&amp;gt;&lt;br /&gt;
This wiki exists to collect the output of the working group, including documentation on beamline controls software and hardware useful for APS beamline scientists and resident users.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Getting Started===&lt;br /&gt;
* [[EPICS Cheat Sheet]]: Channel Access command-lines, noteworthy record fields &amp;amp; IOC shell commands.&lt;br /&gt;
* [[EPICS 101]]: definition of basic EPICS components ([[EPICS_101#What_is_an_IOC.3F|IOC]], [[EPICS 101#What_is_a_PV.3F|PV]], [[EPICS_101#What_is_a_record.3F|record]], [[EPICS 101#What_is_a_database.3F|database]]).&lt;br /&gt;
* [[IOC 101]]: learn how to create your own IOC.&lt;br /&gt;
* [[Git_101|Git 101]]: git refresher (basic workflow, commands, and more).&lt;br /&gt;
&lt;br /&gt;
===Beamline Controls Documentation===&lt;br /&gt;
&lt;br /&gt;
* [[EPICS networking]]: basic overview of how to control the network paths used by EPICS IOCs and clients.&lt;br /&gt;
* [[Controls Software Documentation]]&lt;br /&gt;
* [[Hardware and IT Configuration]]&lt;br /&gt;
&lt;br /&gt;
===Practical Beamline Controls Training (2023)===&lt;br /&gt;
&lt;br /&gt;
[[Practical_Beamline_Controls_Training#IOC_Basics|Session 1: IOC Basics]]&lt;br /&gt;
[[Practical_Beamline_Controls_Training#IOC_Deployment_.26_Troubleshooting|Session 2: IOC Deployment &amp;amp; Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
===Beamline Controls Technical Working Group information===&lt;br /&gt;
&lt;br /&gt;
The BC Technical Working (BCTWG) group meets monthly to review and gather feedback on possible changes in either the way BC delivers support or the technologies that BC supports. The BCTWG comprises the BC group plus interested stakeholders from XSD. In a nutshell, the main goal of the BCTWG is to improve communication between BC and its customers on topics of mutual interest.&lt;br /&gt;
&lt;br /&gt;
* Box folder with slides and meeting notes (ANL only): [https://anl.box.com/s/chcn7xauil93inay8ipinbxtcckc9k9f]&lt;br /&gt;
&lt;br /&gt;
* Current chairs:&lt;br /&gt;
** Kevin Peterson (XSD-BC)&lt;br /&gt;
** Tejas Guruswamy (XSD-DET)&lt;br /&gt;
** Andrew Chuang (XSD-MPE)&lt;br /&gt;
&lt;br /&gt;
===Beamline Data Pipelines===&lt;br /&gt;
&lt;br /&gt;
* https://git.aps.anl.gov/groups/bdp-public/-/wikis/home&lt;br /&gt;
&lt;br /&gt;
===Beamline APSU PVs===&lt;br /&gt;
&lt;br /&gt;
* [[APSU_PVs]]: Description of what process variables(PVs) have changed for PSS, EPS, and ID control for the APSU beamlines&lt;br /&gt;
* Mark Rivers has documented the process he used to find the relevant medm screens and the pertinent PVs for his beamlines:&lt;br /&gt;
** https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.docx&lt;br /&gt;
** https://github.com/CARS-UChicago/GSECARS-EPICS/blob/master/docs/EPICS_Beamline_PVs.pdf&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
	<entry>
		<id>https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=761</id>
		<title>APSU PVs</title>
		<link rel="alternate" type="text/html" href="https://wiki-ext.aps.anl.gov/blc/index.php?title=APSU_PVs&amp;diff=761"/>
		<updated>2024-06-20T17:39:02Z</updated>

		<summary type="html">&lt;p&gt;Jkirchman: Ported this page from internal wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The APS-U has changed many of the process variables(PVs) used for the last 25 years. This includes PVs related to EPS (or FEEPS), PSS, status, insertion devices, etc. Sometimes only the PV name has changed but in some instances the old PV does not have a direct replacement. &lt;br /&gt;
&lt;br /&gt;
This wiki will help to describe what is new, what has been removed, and how to convert to using some of the new PVs available. &lt;br /&gt;
&lt;br /&gt;
==All APS-U PVs==&lt;br /&gt;
All of the PVs currently served by the APS-U are listed in the files in the directory /APSshare/C2/iocinfo/pvdata/. This is an rsync of the oxygen-based directory /net/helios/C2/iocinfo/pvdata/. The files located in this directory are named after the IOC which hosts those PVs. By grepping through the files, one can determine if a PV exists or if the name has changed. &lt;br /&gt;
&lt;br /&gt;
 % grep -s XFD:srCurrent /APSshare/C2/iocinfo/pvdata/*&lt;br /&gt;
 /APSshare/C2/iocinfo/pvdata/siocblops:XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
A useful tool located in /APSshare/bin called 'pvExist' will also confirm whether a PV is valid and what IOC is hosting it:&lt;br /&gt;
&lt;br /&gt;
 % /APSshare/bin/pvExist XFD:srCurrent&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 siocblops:XFD:srCurrent&lt;br /&gt;
 % /APShare/bin/pvExist XFD:srCurrent1&lt;br /&gt;
 Using IOC_INFO environment variable /APSshare/C2/iocinfo&lt;br /&gt;
 XFD:srCurrent1 not found&lt;br /&gt;
&lt;br /&gt;
== EPS (or FEEPS) PVs==&lt;br /&gt;
Here are the Equipment Protection System PVs for APS-U. Compare to the old PVs as described at https://epics.anl.gov/bcda/aps/frontendpvs.php&lt;br /&gt;
&lt;br /&gt;
Note that there are not 'xx' or 'yy' display subs - only 'Z' and 'a')&lt;br /&gt;
In other words, display substitution is Z=Sxxyy, a=SxxyyFE&lt;br /&gt;
where:&lt;br /&gt;
      xx = 2 digit sector number&lt;br /&gt;
      yy = BM or ID&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 EPS:xx:yy:PS1:POSITION  Sxxyy-FEEPS:PS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:PS2:POSITION  Sxxyy-FEEPS:PS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS1:POSITION  Sxxyy-FEEPS:SS1:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:SS2:POSITION  Sxxyy-FEEPS:SS2:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:FEV:POSITION  Sxxyy-FEEPS:FEV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
 EPS:xx:yy:BIV:POSITION  Sxxyy-FEEPS:BIV:PositionM&lt;br /&gt;
                                    0     Moving&lt;br /&gt;
                                    1     Closed&lt;br /&gt;
                                    3     Open&lt;br /&gt;
                                    4     Position Error&lt;br /&gt;
&lt;br /&gt;
===New===&lt;br /&gt;
These PVs are new and were not there before:&lt;br /&gt;
 Sxxyy-FEEPS:TripsExistM&lt;br /&gt;
      0 OFF (No Trip)&lt;br /&gt;
      1 ON  (Trip(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:FaultsExistM&lt;br /&gt;
      0 OFF (No Fault)&lt;br /&gt;
      1 ON  (Fault(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:WarningsExistM&lt;br /&gt;
      0 OFF (No Warning)&lt;br /&gt;
      1 ON  (Warning(s) Exist)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:ShutterPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
 Sxxyy-FEEPS:VacuumPermitWarnM&lt;br /&gt;
      0 OFF (No Warning from BLEPS)&lt;br /&gt;
      1 ON  (Warning(s) Exist from BLEPS)&lt;br /&gt;
&lt;br /&gt;
===Removed===&lt;br /&gt;
The following PVs have been removed and there is no replacement:&lt;br /&gt;
 EPS:xx:yy:PS1:STATUS&lt;br /&gt;
 EPS:xx:yy:PS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SS1:STATUS&lt;br /&gt;
 EPS:xx:yy:SS2:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:STATUS&lt;br /&gt;
 EPS:xx:yy:SV:POSITION&lt;br /&gt;
 EPS:xx:yy:FV:STATUS&lt;br /&gt;
 EPS:xx:yy:FV:POSITION&lt;br /&gt;
 EPS:xx:yy:FEV:STATUS&lt;br /&gt;
 EPS:xx:yy:BIV:STATUS&lt;br /&gt;
 EPS:xx:yy:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC1:RDY&lt;br /&gt;
 EPS:xx:yy:VAC:CC2:RDY&lt;br /&gt;
 EPS:xx:yy:MM:F&lt;br /&gt;
&lt;br /&gt;
== PSS PVs==&lt;br /&gt;
There have been a significant amount of PV changes with the PSS PVs. Unfortunately there is no easy translation tool from older PVs to the new APSU PSS PVs.&lt;br /&gt;
&lt;br /&gt;
It has been suggested that each beamline could look at the PSS Input/Output EPICS screens to determine what their new PVs are. This can be done by starting up /APSshare/adlsys/xfd-display then selecting the light blue PSS button, then selecting the drop-down blue button for the beamline (e.g. 27-ID). From there select either &amp;quot;Inputs&amp;quot; or &amp;quot;Outputs&amp;quot;. These 2 EPICS screens will display all of the PSS PVs and you can find the appropriate ones needed.&lt;br /&gt;
&lt;br /&gt;
== APS Status PVs==&lt;br /&gt;
The following describes the status PVs. These can be compared to the previous PVs which are explained at https://epics.anl.gov/bcda/aps/statuspvs.php&lt;br /&gt;
&lt;br /&gt;
===Changed===&lt;br /&gt;
 S:DesiredMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     USER OPERATIONS&lt;br /&gt;
      2     SUPLEMENTAL TIME&lt;br /&gt;
      3     Not Used&lt;br /&gt;
      4     ASD Studies&lt;br /&gt;
      5     NO BEAM&lt;br /&gt;
      6     MAINTENANCE&lt;br /&gt;
 S:ActualMode&lt;br /&gt;
      0     State Unknown&lt;br /&gt;
      1     NO BEAM&lt;br /&gt;
      2     Injecting&lt;br /&gt;
      3     Stored Beam&lt;br /&gt;
      4     Delivered Beam&lt;br /&gt;
      5     MAINTENANCE&lt;br /&gt;
&lt;br /&gt;
 OLD PV                              NEW PV&lt;br /&gt;
 ACIS:ShutterPermit            RF-ACIS:FePermit:Sect1To35IdM ''(1-35 Beamlines)''&lt;br /&gt;
                               RF-ACIS:FePermit:35Bm38AmM    ''(35BM and 38AM Beamlines)''&lt;br /&gt;
 ACIS:ShutterPermit            XFD:ShutterPermit             ''(alias to RF-ACIS:FePermit:Sect1To35IdM)''&lt;br /&gt;
 S:SRcurrentAI                 XFD:srCurrent&lt;br /&gt;
&lt;br /&gt;
===Unchanged===&lt;br /&gt;
 S:OrbitCorrection:CC&lt;br /&gt;
 S:OrbitControlLawXFineBO&lt;br /&gt;
 S:OrbitControlLawYFineBO&lt;br /&gt;
 S:FillNumber&lt;br /&gt;
 XFD:srCurrent&lt;br /&gt;
 S:SRtimeCP &amp;amp; S:SRcurrentCP&lt;br /&gt;
 S:SRdateCP&lt;br /&gt;
 XFD:LifeTimeHrs&lt;br /&gt;
 XFD:message1&lt;br /&gt;
 XFD:message2&lt;br /&gt;
 XFD:message3&lt;br /&gt;
 XFD:message4&lt;br /&gt;
 XFD:message5&lt;br /&gt;
 XFD:message6&lt;br /&gt;
 XFD:message14&lt;br /&gt;
 XFD:message15&lt;br /&gt;
 XFD:message17&lt;br /&gt;
 XFD:message18&lt;br /&gt;
 OPS:TimeOfDaySI&lt;br /&gt;
 Liquid Nitrogen Distribution System Information PVs&lt;br /&gt;
&lt;br /&gt;
====Removed====&lt;br /&gt;
 SRFB:GBL:LoopStatusBI&lt;br /&gt;
 SRFB:GBL:VLoopStatusBI&lt;br /&gt;
 SRFB:GBL:HLoopStatusBI&lt;br /&gt;
 SRFB:dsp2:xRMSmotion30HzPkM&lt;br /&gt;
 SRFB:dsp2:yRMSmotion30HzPkM&lt;br /&gt;
 S:VID1:filteredXemittance&lt;br /&gt;
 S:VID1:filteredYemittance&lt;br /&gt;
 S:VID1:filteredCoupling&lt;br /&gt;
 ALL TopUp related information PVs&lt;br /&gt;
&lt;br /&gt;
== Insertion Device PVs ==&lt;br /&gt;
Here is a list of old and new PV names for insertion devices. The names have changed but there is no change to their meanings. &lt;br /&gt;
&lt;br /&gt;
Note that there is no sector 4 CPU and the messages for the message PVs are still the same as well. &lt;br /&gt;
&lt;br /&gt;
Compare this to the previous page at https://epics.anl.gov/bcda/aps/idpvs.php&lt;br /&gt;
&lt;br /&gt;
 $(xx) = 2 digit sector number&lt;br /&gt;
 $(yy) = US or DS (Position of ID in storage ring straight)&lt;br /&gt;
 (Note: there are not any xx or yy display subs, display substitution is P=SxxID:yyID)&lt;br /&gt;
===Changed===&lt;br /&gt;
====Control Process Variables====&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
 Old PV Name:                  New PV Name:&lt;br /&gt;
 ID$(xx):GapSet                S$(xx)ID:$(yy)ID:GapSetC&lt;br /&gt;
 ID$(xx):TaperGapSet           S$(xx)ID:$(yy)ID:TaperGapSetC&lt;br /&gt;
 ID$(xx):ScanGap               S$(xx)ID:$(yy)ID:ScanGapC&lt;br /&gt;
 ID$(xx):ScanEnergy            S$(xx)ID:$(yy)ID:ScanEnergyC&lt;br /&gt;
 ID$(xx):EnergySet             S$(xx)ID:$(yy)ID:EnergySetC&lt;br /&gt;
 ID$(xx):TaperEnergySet        S$(xx)ID:$(yy)ID:TaperEnergySetC&lt;br /&gt;
 ID$(xx):DeadbandGap           S$(xx)ID:$(yy)ID:DeadbandGapC&lt;br /&gt;
 ID$(xx):HarmonicValue         S$(xx)ID:$(yy)ID:HarmonicValueC&lt;br /&gt;
 ID$(xx):Start                 S$(xx)ID:$(yy)ID:StartC&lt;br /&gt;
 ID$(xx):Stop                  S$(xx)ID:$(yy)ID:StopC&lt;br /&gt;
====Monitor Process Variables====&lt;br /&gt;
-------------------------------------------------------------&lt;br /&gt;
 ID$(xx):Gap                   S$(xx)ID:$(yy)ID:GapM&lt;br /&gt;
 ID$(xx):TaperGap              S$(xx)ID:$(yy)ID:TaperGapM&lt;br /&gt;
 ID$(xx):Energy                S$(xx)ID:$(yy)ID:EnergyM&lt;br /&gt;
 ID$(xx):TaperEnergy           S$(xx)ID:$(yy)ID:TaperEnergyM&lt;br /&gt;
 ID$(xx):Busy                  S$(xx)ID:$(yy)ID:BusyM&lt;br /&gt;
 ID$(xx):Message1              S$(xx)ID:$(yy)ID:Message1M&lt;br /&gt;
 ID$(xx):Message2              S$(xx)ID:$(yy)ID:Message2M&lt;br /&gt;
 ID$(xx):Message3              S$(xx)ID:$(yy)ID:Message3M&lt;br /&gt;
 ID$(xx):OldGapSet             S$(xx)ID:$(yy)ID:OldGapSetM&lt;br /&gt;
 ID$(xx):Taper                 S$(xx)ID:$(yy)ID:TaperM&lt;br /&gt;
 ID$(xx):EncoderSelect         S$(xx)ID:$(yy)ID:LinearEncoderUsedM&lt;br /&gt;
 ID$(xx):PositionAccuracy      S$(xx)ID:$(yy)ID:PositionAccuracyM&lt;br /&gt;
 ID$(xx):Location              S$(xx)ID:$(yy)ID:LocationM&lt;br /&gt;
 ID$(xx):Device                S$(xx)ID:$(yy)ID:DeviceM&lt;br /&gt;
 ID$(xx):Version               S$(xx)ID:$(yy)ID:$(dd)VersionM&lt;br /&gt;
       Where dd = HPMU, Rev (Revolver), STI (2-Motor ID)&lt;br /&gt;
 ID$(xx):ShClosedTime          ID$(xx)(zz):ShClosedTime&lt;br /&gt;
       Where zz = us or ds&lt;br /&gt;
 ID$(xx):MotorSpeed            S$(xx)ID:$(yy)ID:MotorSpeedC&lt;br /&gt;
 ID$(xx):GapReturn             S$(xx)ID:$(yy)ID:GapReturnM&lt;br /&gt;
 ID$(xx):TaperGapReturn        S$(xx)ID:$(yy)ID:TaperGapReturnM&lt;br /&gt;
 ID$(xx):TotalPower            S$(xx)ID:$(yy)ID:TotalPowerM&lt;br /&gt;
 ID$(xx):ExpectedPower         S$(xx)ID:$(yy)ID:ExpectedPowerM&lt;br /&gt;
 ID$(xx):AccessSecurity        S$(xx)ID:$(yy)ID:AccessSecurityC&lt;br /&gt;
 ID$(xx):DeviceLimit           S$(xx)ID:$(yy)ID:DeviceLimitM&lt;br /&gt;
===Removed===&lt;br /&gt;
The synchronous scanning PVs (those beginning with SS) have been removed. It is unlikely that any beamline was using these PVs.&lt;/div&gt;</summary>
		<author><name>Jkirchman</name></author>
	</entry>
</feed>