reorganized channels and shutter

This commit is contained in:
2024-05-27 17:31:44 +02:00
parent bb2eec0da6
commit faffe10be5
3 changed files with 56 additions and 49 deletions

View File

@ -1,3 +1,5 @@
from loguru import logger
from slic.devices.xoptics.aramis_attenuator import Attenuator from slic.devices.xoptics.aramis_attenuator import Attenuator
from slic.devices.xoptics.pulsepicker import PulsePicker from slic.devices.xoptics.pulsepicker import PulsePicker
from slic.devices.xdiagnostics.intensitymonitor import IntensityMonitorPBPS from slic.devices.xdiagnostics.intensitymonitor import IntensityMonitorPBPS
@ -12,8 +14,18 @@ from .pp_shutter import PP_Shutter
upstream_attenuator = Attenuator("SARFE10-OATT053", description="Aramis attenuator OATT053") upstream_attenuator = Attenuator("SARFE10-OATT053", description="Aramis attenuator OATT053")
attenuator = Attenuator("SAROP31-OATA150", description="Cristallina attenuator OATA150") attenuator = Attenuator("SAROP31-OATA150", description="Cristallina attenuator OATA150")
def test_attenuators():
for att in (upstream_attenuator, attenuator):
tfundamental = att.get_transmission()
try:
assert tfundamental > 0
except TypeError:
logger.warning("No transmission value reported from {att.ID}")
test_attenuators()
# Shutter # Shutter
shutter = PP_Shutter( pp_shutter = PP_Shutter(
"SARES30-LTIM01-EVR0:RearUniv0-Ena-SP", name="Cristallina pulse picker shutter" "SARES30-LTIM01-EVR0:RearUniv0-Ena-SP", name="Cristallina pulse picker shutter"
) # Shutter button when using the pulse picker ) # Shutter button when using the pulse picker

View File

@ -457,7 +457,7 @@ pvs_diffractometer_1 = [
"SARES30-CPCL-ECMC02:TD-PosAct", "SARES30-CPCL-ECMC02:TD-PosAct",
] ]
pvs = ( pv_channels = (
pvs_machine pvs_machine
# + pvs_RF # + pvs_RF
# + pvs_undulator # + pvs_undulator

View File

@ -9,7 +9,7 @@ os.chdir("/sf/cristallina/applications/slic/cristallina")
def setup_general_logging(): def setup_general_logging():
""" Setup logging to console and files in both the snapshots and """Setup logging to console and files in both the snapshots and
the respective pgroup. the respective pgroup.
""" """
@ -34,6 +34,7 @@ def setup_general_logging():
logger.warning("Cannot write log file to snapshots.") logger.warning("Cannot write log file to snapshots.")
logger.warning(e) logger.warning(e)
def setup_logging_pgroup(pgroup, level="INFO"): def setup_logging_pgroup(pgroup, level="INFO"):
try: try:
logger.add( logger.add(
@ -68,14 +69,13 @@ from slic.core.acquisition.fakeacquisition import FakeAcquisition
from channels.bs_channels import ( from channels.bs_channels import (
detectors,
detectors, detectors,
detectors_MX, detectors_MX,
bs_channels, bs_channels,
camera_channels, camera_channels,
) )
from channels.pv_channels import pvs from channels.pv_channels import pv_channels
from spreadsheet import overview from spreadsheet import overview
# from channels_minimal import detectors_min, channels_min, pvs_min # from channels_minimal import detectors_min, channels_min, pvs_min
@ -85,12 +85,20 @@ from spreadsheet import overview
dummy = DummyAdjustable(units="au") dummy = DummyAdjustable(units="au")
#from devices.knife_edge import KnifeEdge # from devices.knife_edge import KnifeEdge
#from devices.standa import standa # from devices.standa import standa
#from devices.newport import newport # from devices.newport import newport
from beamline.components import upstream_attenuator, attenuator, shutter, pulsepicker, front_end_attenuator from beamline.components import (
upstream_attenuator,
attenuator,
pp_shutter,
pulsepicker,
alignment_laser,
pbps113,
pbps149,
)
from beamline.components import kbHor, kbVer from beamline.components import kbHor, kbVer
@ -99,24 +107,11 @@ from systems.components import cta
from gp_exp.components import Newport_large, OWIS from gp_exp.components import Newport_large, OWIS
def test_attenuator():
tfundamental = attenuator.get_transmission()
try:
assert tfundamental > 0
except TypeError:
logger.warning("No transmission value reported from {attenuator.ID}")
test_attenuator()
# Undulators # Undulators
from beamline import undulator from beamline import undulator
undulators = undulator.Undulators() undulators = undulator.Undulators()
logger.info( logger.info(f"Using undulator (Aramis) offset to PSSS energy of {undulator.energy_offset} eV.")
f"Using undulator (Aramis) offset to PSSS energy of {undulator.energy_offset} eV."
)
## Slits ## Slits
@ -139,6 +134,7 @@ diffractometer = Diffractometer("diffractometer")
from crq_exp.dilsc import Dilution from crq_exp.dilsc import Dilution
dilution = Dilution() dilution = Dilution()
@ -150,9 +146,9 @@ from slic.core.acquisition.spreadsheet import Spreadsheet
# setup spreadsheet for transmission to stand # setup spreadsheet for transmission to stand
spreadsheet = Spreadsheet( spreadsheet = Spreadsheet(
{ {
"Transmission" : attenuator.trans1st, "Transmission": attenuator.trans1st,
"Upstream Transmission": upstream_attenuator.trans1st, "Upstream Transmission": upstream_attenuator.trans1st,
"Energy_setpoint" : undulators, "Energy_setpoint": undulators,
"Energy_offset": undulator.energy_offset, "Energy_offset": undulator.energy_offset,
"TD": diffractometer.td, "TD": diffractometer.td,
"TRX": diffractometer.tr_x, "TRX": diffractometer.tr_x,
@ -167,7 +163,6 @@ spreadsheet = Spreadsheet(
"DilSc_T_plato": dilution.T_plato, "DilSc_T_plato": dilution.T_plato,
"DilSc_T_pucksensor": dilution.T_pucksensor, "DilSc_T_pucksensor": dilution.T_pucksensor,
}, },
placeholders=("comment", "sample", "run_usable"), placeholders=("comment", "sample", "run_usable"),
host="saresc-vcons-02.psi.ch", host="saresc-vcons-02.psi.ch",
port=9090, port=9090,
@ -200,7 +195,7 @@ daq = SFAcquisition(
instrument, instrument,
pgroup, pgroup,
default_channels=bs_channels, default_channels=bs_channels,
default_pvs=pvs, default_pvs=pv_channels,
default_detectors=detectors, default_detectors=detectors,
rate_multiplicator=1, rate_multiplicator=1,
spreadsheet=spreadsheet, spreadsheet=spreadsheet,
@ -212,7 +207,7 @@ daq.update_config_pvs()
from acquisition import multiple_daqs from acquisition import multiple_daqs
DAQS = multiple_daqs.generate_DAQS(instrument, pgroup,bs_channels, pvs, detectors, spreadsheet) DAQS = multiple_daqs.generate_DAQS(instrument, pgroup, bs_channels, pv_channels, detectors, spreadsheet)
# daq_fake = FakeAcquisition(instrument, pgroup) # daq_fake = FakeAcquisition(instrument, pgroup)
# daq_PV_only = PVAcquisition(instrument, pgroup, default_channels=channels_ks) # workaround for KS not going to DB # daq_PV_only = PVAcquisition(instrument, pgroup, default_channels=channels_ks) # workaround for KS not going to DB