``DPS``: The Differential Pumping System ======================================== Differential pumping units (DPS) are pumping schemes developed to maintain different composites elements along the x-ray beam path at different vacuum levels. They consist of a series of a number of pumping stages separated by small size apertures or tubes that will allow keeping different vacuum levels in the two chambers. Two three-stages differential pumping units are realized in the overall vacuum scheme, one at each of the two sides of the intensity and position monitor (XGM). They assure a vacuum level in the pressure range of 10\ :sup:`-9` mbar at the entrance and exit of the XGM, while the latter is operated in the range of 10\ :sup:`-4` mbar. These two composite elements are named DPS-1 and DPS-2. The vacuum design can be seen in :numref:`dps_vacuum`. .. _dps_vacuum: .. figure:: vacuum.svg The design of the DPS vacuum system. Interlocks ---------- If the vacuum goes bad, we want to isolate the DPSs. This is the case if one of the pressures is bad, or if one of the gate valves closes, the latter being an indicator of bad roughing vaccum, which is defined later. The pressures are all twice the one used for the XGM gas inlet, to give it a chance to close and make the pressure be good again. The cold cathode gauges ~~~~~~~~~~~~~~~~~~~~~~~ We need to protect the cold cathode gauges from too high pressure. We take the neighboring full-range gauges as a proxy for that. This way, we can later take the state of the cold cathode gauge to decide whether the vacuum is fine in the neighboring part. We put 100 ms timeout on all gauges to prevent electrical noise from triggering the interlocks. Conditions for the DPS-1, CC3: .. conditions loop1 SCS_BLU_DPS-1/DCTRL/CC3 ====== =================================== ======== ===== ==== ======= Number Device Parameter Operator Limit Hyst Timeout ====== =================================== ======== ===== ==== ======= c1 SCS_BLU_DPS-1/GAUGE/PCC4.Value GT 1e-4 100 ====== =================================== ======== ===== ==== ======= Conditions for the DPS-2, CC9: .. conditions loop1 SCS_BLU_DPS-2/DCTRL/CC9 ====== =================================== ======== ===== ==== ======= Number Device Parameter Operator Limit Hyst Timeout ====== =================================== ======== ===== ==== ======= c1 SCS_BLU_DPS-2/GAUGE/PCC8.Value GT 1e-4 100 ====== =================================== ======== ===== ==== ======= And the action for both: .. actions loop1 SCS_BLU_DPS-1/DCTRL/CC3 SCS_BLU_DPS-2/DCTRL/CC9 ====== ======== ====== Number Logic Action ====== ======== ====== a1 c1 COff ====== ======== ====== DPS1: GV2_2 and GV3 ~~~~~~~~~~~~~~~~~~~ GV3 and GV2_2 are the valves around the DPS-1. The name GV2_2 is weird, our naming systematics unfortunately ended up in two valves being called GV2. .. conditions loop1 SCS_BLU_DPS-1/VALVE/GV2_2 SCS_BLU_XGM/VALVE/GV3 ====== =================================== ======== ===== ==== ======= Number Device Parameter Operator Limit Hyst Timeout ====== =================================== ======== ===== ==== ======= c1 SCS_BLU_DPS-1/GAUGE/CC3.Value GT 1e-6 100 c2 SCS_BLU_DPS-1/DCTRL/CC3.state.Value EQ FALSE c3 SCS_BLU_DPS-1/GAUGE/PCC5.Value GT 2e-4 100 c4 SCS_BLU_DPS-1/VALVE/GV1.state.Value EQ FALSE c5 SCS_BLU_DPS-1/VALVE/GV2.state.Value EQ FALSE c6 SCS_BLU_DPS-1/VALVE/GV3.state.Value EQ FALSE ====== =================================== ======== ===== ==== ======= GV2_2 needs to be closed if the pressure is bad in the ALAS... .. conditions loop1 SCS_BLU_DPS-1/VALVE/GV2_2 ====== ================================== ======== ===== ==== ======= Number Device Parameter Operator Limit Hyst Timeout ====== ================================== ======== ===== ==== ======= c7 SCS_BLU_ALAS/GAUGE/PCC2.Value GT 1e-6 100 ====== ================================== ======== ===== ==== ======= .. actions loop1 SCS_BLU_DPS-1/VALVE/GV2_2 ====== ====================================== ====== Number Logic Action ====== ====================================== ====== a1 c1 or c2 or c3 or c4 or c5 or c6 or c7 CClose ====== ====================================== ====== ...while GV3 needs to be closed if the pressure is bad in the XGM. The same conditions are used for GV4 in DPS2. .. conditions loop1 SCS_BLU_XGM/VALVE/GV3 SCS_BLU_DPS-2/VALVE/GV4 ====== ================================== ======== ===== ==== ======= Number Device Parameter Operator Limit Hyst Timeout ====== ================================== ======== ===== ==== ======= c7 SCS_BLU_XGM/GAUGE/PCC6.Value GT 2e-4 100 c8 SCS_BLU_XGM/VALVE/GV1.state.Value EQ FALSE c9 SCS_BLU_XGM/VALVE/GV2.state.Value EQ FALSE ====== ================================== ======== ===== ==== ======= .. actions loop1 SCS_BLU_XGM/VALVE/GV3 ====== ================================================== ====== Number Logic Action ====== ================================================== ====== a1 c1 or c2 or c3 or c4 or c5 or c6 or c7 or c8 or c9 CClose ====== ================================================== ====== The gate valves should close if the roughing vacuum goes bad, or the turbo pumps fail. One may, however, operate them if the DPS is isolated. This is needed to pump down the DPS initially. We assure that the pressure is really bad in this case, by checking the full range gauge. .. conditions loop1 SCS_BLU_DPS-1/VALVE/GV1 SCS_BLU_DPS-1/VALVE/GV2 SCS_BLU_DPS-1/VALVE/GV3 ====== ========================================= ======== ===== Number Device Parameter Operator Limit ====== ========================================= ======== ===== c1 SCS_BLU_DPS-1/GAUGE/P1.Value GT 2e-2 c2 SCS_BLU_DPS-1/VALVE/SP1_RV.state.IsOpen EQ FALSE c4 SCS_BLU_DPS-1/VALVE/GV2_2.state.IsClosed EQ FALSE c5 SCS_BLU_XGM/VALVE/GV3.state.IsClosed EQ FALSE ====== ========================================= ======== ===== to that we add the conditions for each gate valve in front of a turbo pump. The hystersis and timeout are explained later. .. conditions loop1 SCS_BLU_DPS-1/VALVE/GV1 == ==================================== == ===== ==== ======= No Device Parameter Op Limit Hyst Timeout == ==================================== == ===== ==== ======= c3 SCS_BLU_DPS-1/GAUGE/PCC4.Value LT 1e-4 1 100000 c6 SCS_BLU_DPS-1/TPUMP/TP1.state.RPM80 EQ FALSE c7 SCS_BLU_DPS-1/VALVE/RV1.state.IsOpen EQ FALSE == ==================================== == ===== ==== ======= .. conditions loop1 SCS_BLU_DPS-1/VALVE/GV2 == ==================================== == ===== ==== ======= Nu Device Parameter Op Limit Hyst Timeout == ==================================== == ===== ==== ======= c3 SCS_BLU_DPS-1/GAUGE/PCC4.Value LT 1e-4 1 100000 c6 SCS_BLU_DPS-1/TPUMP/TP2.state.RPM80 EQ FALSE c7 SCS_BLU_DPS-1/VALVE/RV2.state.IsOpen EQ FALSE == ==================================== == ===== ==== ======= .. conditions loop1 SCS_BLU_DPS-1/VALVE/GV3 == ==================================== == ===== ==== ======= No Device Parameter Op Limit Hyst Timeout == ==================================== == ===== ==== ======= c3 SCS_BLU_DPS-1/GAUGE/PCC5.Value LT 1e-4 1 100000 c6 SCS_BLU_DPS-1/TPUMP/TP3.state.RPM80 EQ FALSE c7 SCS_BLU_DPS-1/VALVE/RV3.state.IsOpen EQ FALSE == ==================================== == ===== ==== ======= The actions for the gate valves are a bit complicated. There are two parts, covering three scenarios: - We are in operation, all the roughing vacuum is fine an the turbo pump is running. That is the left side of the actions. If anything fails, we close the gate valve. - We want to pump down a vented chamber. The pressure is bad, but gets better while we are pumping. This is why we have a timeout on the pressure in the conditions. Once a good pressure is reached for some time, we consider the DPS in operation, the right side of the condition becomes true. - The turbo is running, the valve is closed but the chamber is vented. The it is just illegal to open the valve. .. actions loop1 SCS_BLU_DPS-1/VALVE/GV1 SCS_BLU_DPS-1/VALVE/GV2 SCS_BLU_DPS-1/VALVE/GV3 SCS_BLU_DPS-2/VALVE/GV1 SCS_BLU_DPS-2/VALVE/GV2 SCS_BLU_DPS-2/VALVE/GV3 ====== ===================================================== ====== Number Logic Action ====== ===================================================== ====== a1 (c1 or c2 or c6 or c7) and (c3 or c4 or c5 or not c6) CClose ====== ===================================================== ====== DPS2: GV4 and GV5 ~~~~~~~~~~~~~~~~~ .. conditions loop1 SCS_BLU_DPS-2/VALVE/GV4 SCS_BLU_XOX/VALVE/GV5 ====== =================================== ======== ===== ==== ======= Number Device Parameter Operator Limit Hyst Timeout ====== =================================== ======== ===== ==== ======= c1 SCS_BLU_DPS-2/GAUGE/PCC7.Value GT 2e-4 100 c2 SCS_BLU_DPS-2/DCTRL/CC9.state.Value EQ FALSE c3 SCS_BLU_DPS-2/GAUGE/CC9.Value GT 1e-6 100 c4 SCS_BLU_DPS-2/VALVE/GV1.state.Value EQ FALSE c5 SCS_BLU_DPS-2/VALVE/GV2.state.Value EQ FALSE c6 SCS_BLU_DPS-2/VALVE/GV3.state.Value EQ FALSE ====== =================================== ======== ===== ==== ======= GV5 needs to be closed if the pressure is bad in XOX. .. conditions loop1 SCS_BLU_XOX/VALVE/GV5 ====== ================================== ======== ===== ==== ======= Number Device Parameter Operator Limit Hyst Timeout ====== ================================== ======== ===== ==== ======= c7 SCS_BLU_XOX/GAUGE/PCC10.Value GT 1e-7 100 ====== ================================== ======== ===== ==== ======= .. actions loop1 SCS_BLU_XOX/VALVE/GV5 ====== ====================================== ====== Number Logic Action ====== ====================================== ====== a1 c1 or c2 or c3 or c4 or c5 or c6 or c7 CClose ====== ====================================== ====== GV4 also re-uses the XGM conditions loop1 from above. .. actions loop1 SCS_BLU_DPS-2/VALVE/GV4 ====== ================================================== ====== Number Logic Action ====== ================================================== ====== a1 c1 or c2 or c3 or c4 or c5 or c6 or c7 or c8 or c9 CClose ====== ================================================== ====== As for DPS1, the gate valves should close if the roughing vacuum goes bad. .. conditions loop1 SCS_BLU_DPS-2/VALVE/GV1 SCS_BLU_DPS-2/VALVE/GV2 SCS_BLU_DPS-2/VALVE/GV3 ====== ========================================= ======== ===== Number Device Parameter Operator Limit ====== ========================================= ======== ===== c1 SCS_BLU_DPS-2/GAUGE/P3.Value GT 1e-2 c2 SCS_BLU_DPS-2/VALVE/SP3_RV.state.IsOpen EQ FALSE c4 SCS_BLU_DPS-2/VALVE/GV4.state.IsClosed EQ FALSE c5 SCS_BLU_XOX/VALVE/GV5.state.IsClosed EQ FALSE ====== ========================================= ======== ===== to that we add the conditions loop1 for each turbo pump: .. conditions loop1 SCS_BLU_DPS-2/VALVE/GV1 ====== ==================================== ======== ===== Number Device Parameter Operator Limit ====== ==================================== ======== ===== c3 SCS_BLU_DPS-2/GAUGE/PCC7.Value LT 1 c6 SCS_BLU_DPS-2/TPUMP/TP1.state.RPM80 EQ FALSE c7 SCS_BLU_DPS-2/VALVE/RV1.state.IsOpen EQ FALSE ====== ==================================== ======== ===== .. conditions loop1 SCS_BLU_DPS-2/VALVE/GV2 ====== ==================================== ======== ===== Number Device Parameter Operator Limit ====== ==================================== ======== ===== c3 SCS_BLU_DPS-2/GAUGE/PCC8.Value LT 1 c6 SCS_BLU_DPS-2/TPUMP/TP2.state.RPM80 EQ FALSE c7 SCS_BLU_DPS-2/VALVE/RV2.state.IsOpen EQ FALSE ====== ==================================== ======== ===== .. conditions loop1 SCS_BLU_DPS-2/VALVE/GV3 ====== ==================================== ======== ===== Number Device Parameter Operator Limit ====== ==================================== ======== ===== c3 SCS_BLU_DPS-2/GAUGE/PCC8.Value LT 1 c6 SCS_BLU_DPS-2/TPUMP/TP3.state.RPM80 EQ FALSE c7 SCS_BLU_DPS-2/VALVE/RV3.state.IsOpen EQ FALSE ====== ==================================== ======== ===== We recycle the actions definition from DPS1.