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,8 +9,8 @@ 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.
""" """
logger.remove() logger.remove()
@ -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()
@ -149,28 +145,27 @@ 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,
"TRY": diffractometer.tr_y, "TRY": diffractometer.tr_y,
"TRXBASE": diffractometer.trx_base, "TRXBASE": diffractometer.trx_base,
"TRYBASE": diffractometer.try_base, "TRYBASE": diffractometer.try_base,
"THETA": diffractometer.theta, "THETA": diffractometer.theta,
"TWOTHETA": diffractometer.twotheta, "TWOTHETA": diffractometer.twotheta,
"Magnet_X": dilution.x, "Magnet_X": dilution.x,
"Magnet_Y": dilution.y, "Magnet_Y": dilution.y,
"Magnet_Z": dilution.z, "Magnet_Z": dilution.z,
"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,
) )
try: try:
@ -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