From 02b93541f52bea0d365a7a3ad53dfbee716bd278 Mon Sep 17 00:00:00 2001 From: Paolo Cinquegrana <paolo.cinquegrana@elettra.eu> Date: Tue, 27 Oct 2020 10:10:05 +0100 Subject: [PATCH] rinominato file py --- src/SluDelayCalculator.py | 1773 +++++++++++++++++++++++++++++++++++++ 1 file changed, 1773 insertions(+) create mode 100644 src/SluDelayCalculator.py diff --git a/src/SluDelayCalculator.py b/src/SluDelayCalculator.py new file mode 100644 index 0000000..b1be9bf --- /dev/null +++ b/src/SluDelayCalculator.py @@ -0,0 +1,1773 @@ +#!/usr/bin/python3 + + +# self.thread1 = spostatore() +# self.connect(self.thread1, SIGNAL("passala"), self.gestiscioutput) +# self.connect(self.thread1, SIGNAL("segnalazione_errore"), self.lista_errori) +# +# self.thread1.muoviimpulsi(in1, in2, in3, in4, in5, in6, in7, in8, in9) #avvia +# +###################### +#class spostatore(QThread): +# +# passala = pyqtSignal(str) +# segnalazione_errore = pyqtSignal(str) +# +# def __init__(self, parent = None): +# QThread.__init__(self, parent) +# if paroliere: +# print('spostatore.__init__') + +############################################################################## + +import PyTango +import os +import numpy as np +from PyQt4.QtCore import * +from PyQt4.QtGui import * +import time +import sys + +selettore = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/laser/calendar_sl.01").activityNum + +devprodic = {} +devprodic["trls4"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/motor/trls_sl.04") +devprodic["trls8"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/motor/trls_sl.08") +devprodic["triggerEVR"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/ec-sl-slpsr-01/evr/ff100000") +devprodic["triggerS1"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/delay/dgq_slpsr.02") +devprodic["triggerS2"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/delay/dgq_slpsr.01") +devprodic["tmu"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/timing/tmu_sl.01") +devprodic["minimizzatore_correlazione"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/f/optimization/optimizer_sldelay_f.01") +devprodic["feedbackelite1"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/feedback/rtltf_osc.02") +devprodic["totemdelay"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/slu/motor/trls_slu.05") +devprodic["scope6"] = PyTango.DeviceProxy("srv-tango-srf-01:20000/sl/diagnostics/scope_sl.01") +# imposto subito velocita` 100 per salvare tempo procedura +devprodic["trls8"].write_attribute("Speed", [-100]) +devprodic["trls4"].write_attribute("Speed", [100]) + +zero_Slu = 0 +zero_Fel1 = 0 +zero_Fel2 = 0 +zero_Eos1 = 0 +zero_Eos2 = 0 +trlsEOS2pos = 0 +trlsEOS1pos = 0 +trlsSLUpos = 0 +zeroS1_fel1 = 203806.0 #????????????con tmufundalignment -1, trls 0, trls8 0 +zeroS2_fel1 = 202949.0 #????????????con tmufundalignment -1, trls 0, trls8 0 +zeroS1_fel2 = 203814.0 #con tmufundalignment -1, trls 0, trls8 0 +zeroS2_fel2 = 202939.0 #con tmufundalignment -1, trls 0, trls8 0 + +####ns12 = 12.675074466 +####ns6 = 6.337537233 + +#### Fel1 Elite1, Slu Elite 2 +###Fel1 = TRLS4_78MHz + TRLS8 + Trg_E1 +###Slu = TRLS4_78MHz + Trg_E2 + TRLS_Slu +###TRLS4_78MHz = Fel1 - Slu + Fel1 - Trg_E2 + TRLS_Slu +###TRLS8 = Slu - Fel1 - Trg_E1 - Trg_E2 - TRLS_Slu +###Trg_SDG1 +###Trg_SDG2 + +#### Fel2 Elite2, Slu + Eos2 + Eehg Elite1 +###Fel2 = TRLS4_78MHz + Trg_E2 +###Slu = TRLS4_78MHz + TRLS8 + Trg_E1 + TRLS_Slu +###TRLS4_78MHz = Fel2 - Trg_E2 +###TRLS8 = Slu - Fel2 - Trls_Slu + Trg_E2 - Trg_E1 +###Trg_SDG1 +###Trg_SDG2 + + +class MainWindow(QDialog): + def __init__(self, parent=None): + super(MainWindow, self).__init__(parent) + self.contaloop = 0 + self.abilitazioscope6 = 1 + #meglio scrivere per chi faccio i conti + self.funzionamento = QLineEdit("No errors") + self.funzionamento.setReadOnly(1) + self.funzionamento.setStyleSheet("background-color: rgb(0, 255, 0)") + self.selezione = QLineEdit("") + self.selezione.setReadOnly(1) + if selettore >= 1 and selettore <= 6: + self.selezione.setText('elite1 x fel, elite2 x slu') + elif selettore >= 7 and selettore <= 11: + self.selezione.setText('elite1 x slu, elite2 x fel') + else: + self.selezione.setText('not possible to decide what to move according sl calendar') + self.lanciasalvatrigger = QPushButton("Save Trigger") + self.lanciasalvatrigger.clicked.connect(self.pannellosalvatrigger) + self.gruppodeltat = QGroupBox("") + self.SLUdelta_t = QLineEdit("ns") + self.SLUcalcola = QPushButton("Calculate") + self.SLUcalcola.clicked.connect(self.calcola) + self.figura = QLabel() + pixmap = QPixmap('/home/lfo/tmp/verso_delay_slu.png') + self.figura.setPixmap(pixmap) + lo_delta = QGridLayout() + lo_delta.addWidget(self.figura, 0, 0, 1, 3) + lo_delta.addWidget(QLabel("SLU delta t"), 1, 0, 1, 1) + lo_delta.addWidget(self.SLUdelta_t, 1, 1, 1, 1) + lo_delta.addWidget(self.SLUcalcola, 1, 2, 1, 1) + self.gruppodeltat.setLayout(lo_delta) + # + self.gruppobottoni = QGroupBox("") + self.apriscope = QPushButton('Open scope-laser-06') + self.apriscope.clicked.connect(self.fapriscope) + self.apritrigger = QPushButton('Open Seed trigger panel') + self.apritrigger.clicked.connect(self.fapritrigger) + self.aprihdb = QPushButton('Open HDB') + self.aprihdb.clicked.connect(self.faprihdb) + self.minimcorr = QPushButton("Corr.min.Delay") + self.minimcorr.clicked.connect(self.switchdelayminimizer) + self.feedbackelite1 = QPushButton("fb Elite1 in") + lo_bottoni = QGridLayout() + lo_bottoni.addWidget(self.apriscope, 0, 0, 1, 3) + lo_bottoni.addWidget(self.apritrigger, 2, 0, 1, 3) + lo_bottoni.addWidget(self.aprihdb, 3, 0, 1, 3) + lo_bottoni.addWidget(self.minimcorr, 4, 0, 1, 3) + lo_bottoni.addWidget(self.feedbackelite1, 5, 0, 1, 3) + self.gruppobottoni.setLayout(lo_bottoni) + # + self.gruppocentrale = QGroupBox() + self.scritta1 = QLabel('0 state') + self.scritta2 = QLabel('present state') + self.scritta3 = QLabel('calculated') + self.scritta4 = QLabel('delta') + self.trls4_state = QPushButton("TRLS4") + self.trls4_state.clicked.connect(self.apritrls4) + self.trls8_state = QPushButton("TRLS8") + self.trls8_state.clicked.connect(self.apritrls8) + self.trgE1_state = QPushButton("TRG Elite1") + self.trgE1_state.clicked.connect(self.fapritrigger) + self.trgS1_state = QPushButton("TRG S1") + self.trgS1_state.clicked.connect(self.fapritrigger) + self.trgE2_state = QPushButton("TRG Elite2") + self.trgE2_state.clicked.connect(self.fapritrigger) + self.trgS2_state = QPushButton("TRG S2") + self.trgS2_state.clicked.connect(self.fapritrigger) + self.FundAlignment_state = QPushButton("TMU") + self.FundAlignment_state.clicked.connect(self.fapritmu) + self.trls4_iniziale = QLineEdit("") + self.trls4_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trls4_iniziale.setReadOnly(1) + self.trls8_iniziale = QLineEdit("") + self.trls8_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trls8_iniziale.setReadOnly(1) + self.trgE1_iniziale = QLineEdit("") + self.trgE1_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trgE1_iniziale.setReadOnly(1) + self.trgS1_iniziale = QLineEdit("") + self.trgS1_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trgS1_iniziale.setReadOnly(1) + self.trgE2_iniziale = QLineEdit("") + self.trgE2_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trgE2_iniziale.setReadOnly(1) + self.trgS2_iniziale = QLineEdit("") + self.trgS2_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trgS2_iniziale.setReadOnly(1) + self.FundAlignment_iniziale = QLineEdit("") + self.FundAlignment_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.FundAlignment_iniziale.setReadOnly(1) + self.trls4_read = QLineEdit("") + self.trls4_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trls4_read.setReadOnly(1) + self.trls8_read = QLineEdit("") + self.trls8_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trls8_read.setReadOnly(1) + self.trgE1_read = QLineEdit("") + self.trgE1_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trgE1_read.setReadOnly(1) + self.trgS1_read = QLineEdit("") + self.trgS1_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trgS1_read.setReadOnly(1) + self.trgE2_read = QLineEdit("") + self.trgE2_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trgE2_read.setReadOnly(1) + self.trgS2_read = QLineEdit("") + self.trgS2_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trgS2_read.setReadOnly(1) + self.FundAlignment_read = QLineEdit("") + self.FundAlignment_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.FundAlignment_read.setReadOnly(1) + self.ddmeasure_seedpil_calcolato = QLineEdit("") + self.ddmeasure_slupil_calcolato = QLineEdit("") + self.ddmeasure_sluseed_calcolato = QLineEdit("") + self.trls4_calcolato = QLineEdit("") + self.trls8_calcolato = QLineEdit("") + self.trgE1_calcolato = QLineEdit("") + self.trgS1_calcolato = QLineEdit("") + self.trgE2_calcolato = QLineEdit("") + self.trgS2_calcolato = QLineEdit("") + self.FundAlignment_calcolato = QLineEdit("") + self.trls4_delta = QLineEdit("") + self.trls8_delta = QLineEdit("") + self.trgE1_delta = QLineEdit("") + self.trgS1_delta = QLineEdit("") + self.trgE2_delta = QLineEdit("") + self.trgS2_delta = QLineEdit("") + self.FundAlignment_delta = QLineEdit("") + self.trls4_applica = QPushButton('Apply') + self.trls4_applica.clicked.connect(self.disastro_solotrls4) + self.trls8_applica = QPushButton('Apply') + self.trls8_applica.clicked.connect(self.disastro_solotrls8) + self.trgE1_applica = QPushButton('Apply') + self.trgE1_applica.clicked.connect(self.disastro_soloE1trg) + self.trgS1_applica = QPushButton('Apply') + self.trgS1_applica.clicked.connect(self.disastro_soloS1trg) + self.trgE2_applica = QPushButton('Apply') + self.trgE2_applica.clicked.connect(self.disastro_soloE2trg) + self.trgS2_applica = QPushButton('Apply') + self.trgS2_applica.clicked.connect(self.disastro_soloS2trg) + self.FundAlignment_applica = QPushButton('Apply') + self.FundAlignment_applica.clicked.connect(self.disastro_solotmu) + self.trls4_storna = QPushButton('UNDO') + self.trls4_storna.clicked.connect(self.doppiodisastro_solotrls4) + self.trls8_storna = QPushButton('UNDO') + self.trls8_storna.clicked.connect(self.doppiodisastro_solotrls8) + self.trgE1_storna = QPushButton('UNDO') + self.trgE1_storna.clicked.connect(self.doppiodisastro_soloE1trg) + self.trgS1_storna = QPushButton('UNDO') + self.trgS1_storna.clicked.connect(self.doppiodisastro_soloS1trg) + self.trgE2_storna = QPushButton('UNDO') + self.trgE2_storna.clicked.connect(self.doppiodisastro_soloE2trg) + self.trgS2_storna = QPushButton('UNDO') + self.trgS2_storna.clicked.connect(self.doppiodisastro_soloS2trg) + self.FundAlignment_storna = QPushButton('UNDO') + self.FundAlignment_storna.clicked.connect(self.doppiodisastro_solotmu) + self.ripristina = QPushButton("Restore 0state") + self.ripristina.clicked.connect(self.ripristino) + self.applica = QPushButton("APPLY ALL") + self.applica.clicked.connect(self.disastro) + self.comenondetto = QPushButton("UNDO") + self.comenondetto.clicked.connect(self.doppiodisastro) + lo_centrale = QGridLayout() + lo_centrale.addWidget(self.scritta1, 0, 1) + lo_centrale.addWidget(self.scritta2, 0, 2) + lo_centrale.addWidget(self.scritta3, 0, 3) + lo_centrale.addWidget(self.scritta4, 0, 4) + lo_centrale.addWidget(self.trls4_state, 10, 0) + lo_centrale.addWidget(self.trls4_iniziale, 10, 1) + lo_centrale.addWidget(self.trls4_read, 10, 2) + lo_centrale.addWidget(self.trls4_calcolato, 10, 3) + lo_centrale.addWidget(self.trls4_delta, 10, 4) + lo_centrale.addWidget(self.trls4_applica, 10, 5) + lo_centrale.addWidget(self.trls4_storna, 10, 5) + lo_centrale.addWidget(self.trls8_state, 11, 0) + lo_centrale.addWidget(self.trls8_iniziale, 11, 1) + lo_centrale.addWidget(self.trls8_read, 11, 2) + lo_centrale.addWidget(self.trls8_calcolato, 11, 3) + lo_centrale.addWidget(self.trls8_delta, 11, 4) + lo_centrale.addWidget(self.trls8_applica, 11, 5) + lo_centrale.addWidget(self.trls8_storna, 11, 5) + lo_centrale.addWidget(self.trgE1_state, 12, 0) + lo_centrale.addWidget(self.trgE1_iniziale, 12, 1) + lo_centrale.addWidget(self.trgE1_read, 12, 2) + lo_centrale.addWidget(self.trgE1_calcolato, 12, 3) + lo_centrale.addWidget(self.trgE1_delta, 12, 4) + lo_centrale.addWidget(self.trgE1_applica, 12, 5) + lo_centrale.addWidget(self.trgE1_storna, 12, 5) + lo_centrale.addWidget(self.trgS1_state, 13, 0) + lo_centrale.addWidget(self.trgS1_iniziale, 13, 1) + lo_centrale.addWidget(self.trgS1_read, 13, 2) + lo_centrale.addWidget(self.trgS1_calcolato, 13, 3) + lo_centrale.addWidget(self.trgS1_delta, 13, 4) + lo_centrale.addWidget(self.trgS1_applica, 13, 5) + lo_centrale.addWidget(self.trgS1_storna, 13, 5) + lo_centrale.addWidget(self.trgE2_state, 14, 0) + lo_centrale.addWidget(self.trgE2_iniziale, 14, 1) + lo_centrale.addWidget(self.trgE2_read, 14, 2) + lo_centrale.addWidget(self.trgE2_calcolato, 14, 3) + lo_centrale.addWidget(self.trgE2_delta, 14, 4) + lo_centrale.addWidget(self.trgE2_applica, 14, 5) + lo_centrale.addWidget(self.trgE2_storna, 14, 5) + lo_centrale.addWidget(self.trgS2_state, 15, 0) + lo_centrale.addWidget(self.trgS2_iniziale, 15, 1) + lo_centrale.addWidget(self.trgS2_read, 15, 2) + lo_centrale.addWidget(self.trgS2_calcolato, 15, 3) + lo_centrale.addWidget(self.trgS2_delta, 15, 4) + lo_centrale.addWidget(self.trgS2_applica, 15, 5) + lo_centrale.addWidget(self.trgS2_storna, 15, 5) + lo_centrale.addWidget(self.FundAlignment_state, 16, 0) + lo_centrale.addWidget(self.FundAlignment_iniziale, 16, 1) + lo_centrale.addWidget(self.FundAlignment_read, 16, 2) + lo_centrale.addWidget(self.FundAlignment_calcolato, 16, 3) + lo_centrale.addWidget(self.FundAlignment_delta, 16, 4) + lo_centrale.addWidget(self.FundAlignment_applica, 16, 5) + lo_centrale.addWidget(self.FundAlignment_storna, 16, 5) + lo_centrale.addWidget(self.ripristina, 20, 1) + lo_centrale.addWidget(self.applica, 20, 3) + lo_centrale.addWidget(self.comenondetto, 20, 3) + self.comenondetto.hide() + self.gruppocentrale.setLayout(lo_centrale) + # + self.grupposcope6 = QGroupBox("scope-laser-06") + self.enable_scope_measurament = QPushButton('Disable scope operation') + self.enable_scope_measurament.clicked.connect(self.abilitascope6) + self.ddmeasure_seedpil_text = QLabel('Seed-Pil') + self.ddmeasure_slupil_text = QLabel('Slu-Pil') + self.ddmeasure_sluseed_text = QLabel('Slu-Seed') + self.ddmeasure_seedpil_iniziale = QLineEdit("") + self.ddmeasure_seedpil_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.ddmeasure_slupil_iniziale = QLineEdit("") + self.ddmeasure_slupil_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.ddmeasure_sluseed_iniziale = QLineEdit("") + self.ddmeasure_sluseed_iniziale.setStyleSheet("background-color: rgb(220, 220, 220)") + self.ddmeasure_seedpil_read = QLineEdit("") + self.ddmeasure_seedpil_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.ddmeasure_slupil_read = QLineEdit("") + self.ddmeasure_slupil_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.ddmeasure_sluseed_read = QLineEdit("") + self.ddmeasure_sluseed_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.scope6clearswaps = QPushButton('ClearSweeps') + self.scope6clearswaps.clicked.connect(self.pulisci_oscilloscopio) + lo_scope6 = QGridLayout() + lo_scope6.addWidget(self.enable_scope_measurament, 1, 0) + lo_scope6.addWidget(self.ddmeasure_seedpil_text, 2, 0) + lo_scope6.addWidget(self.ddmeasure_seedpil_iniziale, 2, 1) + lo_scope6.addWidget(self.ddmeasure_seedpil_read, 2, 2) + lo_scope6.addWidget(self.ddmeasure_seedpil_calcolato, 2, 3) + lo_scope6.addWidget(self.ddmeasure_slupil_text, 3, 0) + lo_scope6.addWidget(self.ddmeasure_slupil_iniziale, 3, 1) + lo_scope6.addWidget(self.ddmeasure_slupil_read, 3, 2) + lo_scope6.addWidget(self.ddmeasure_slupil_calcolato, 3, 3) + lo_scope6.addWidget(self.ddmeasure_sluseed_text, 4, 0) + lo_scope6.addWidget(self.ddmeasure_sluseed_iniziale, 4, 1) + lo_scope6.addWidget(self.ddmeasure_sluseed_read, 4, 2) + lo_scope6.addWidget(self.ddmeasure_sluseed_calcolato, 4, 3) + lo_scope6.addWidget(self.scope6clearswaps, 2, 4, 3, 1) + self.grupposcope6.setLayout(lo_scope6) + # + self.gruppotrls5 = QGroupBox("Totem delay line") + self.trls5_tasto = QPushButton('panel') + self.trls5_tasto.clicked.connect(self.delaytotemapri) + self.trls5_read = QLineEdit('') + self.trls5_read.setReadOnly(1) + self.trls5_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.trls5_goto = QPushButton('GoTo:') + self.trls5_goto.clicked.connect(self.delaytotemgoto) + self.trls5_set = QLineEdit('') + self.trls5_b = QPushButton('<') + self.trls5_b.clicked.connect(self.dalaytotemmeno) + self.trls5_rel = QLineEdit('') + self.trls5_f = QPushButton('>') + self.trls5_f.clicked.connect(self.dalaytotempiu) + lo_trls5 = QGridLayout() + lo_trls5.addWidget(self.trls5_tasto, 0, 0) + lo_trls5.addWidget(self.trls5_read, 0, 1) + lo_trls5.addWidget(self.trls5_goto, 0, 2) + lo_trls5.addWidget(self.trls5_set, 0, 3) + lo_trls5.addWidget(self.trls5_b, 0, 4) + lo_trls5.addWidget(self.trls5_rel, 0, 5) + lo_trls5.addWidget(self.trls5_f, 0, 6) + self.gruppotrls5.setLayout(lo_trls5) + # + self.logbox = QListWidget() + self.logbox.setMaximumHeight(80) + lo_pannello = QGridLayout() + lo_pannello.addWidget(self.funzionamento, 0, 0) + lo_pannello.addWidget(self.selezione, 0, 1) + lo_pannello.addWidget(self.lanciasalvatrigger, 0, 3) + lo_pannello.addWidget(self.gruppodeltat, 1, 0, 1, 3) + lo_pannello.addWidget(self.gruppobottoni, 1, 3) + lo_pannello.addWidget(self.gruppocentrale, 2, 0, 1, 4) + lo_pannello.addWidget(self.grupposcope6, 3, 0, 1, 4) + lo_pannello.addWidget(self.gruppotrls5, 4, 0, 1, 4) + lo_pannello.addWidget(self.logbox, 5, 0, 1, 4) + self.setLayout(lo_pannello) + self.show() + self.setWindowTitle("SLU LAZY DELAY V5") + self.trls4_storna.hide() + self.trls8_storna.hide() + self.trgE1_storna.hide() + self.trgS1_storna.hide() + self.trgE2_storna.hide() + self.trgS2_storna.hide() + self.FundAlignment_storna.hide() + #inizializzazione - lettura parametri + try: + self.zero_trls4 = devprodic["trls4"].Position[0] + self.trls4_iniziale.setText(str(round(self.zero_trls4, 3))) + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls4"]) + ' Position. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + try: + self.zero_trls8 = devprodic["trls8"].Position[0] + self.trls8_iniziale.setText(str(round(self.zero_trls8, 3))) + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls8"]) + ' Position. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + try: + self.zero_trgS2 = devprodic["triggerS2"].command_inout('GetDelay', 2)*1000000000 + self.trgS2_iniziale.setText(str(round(self.zero_trgS2, 1))) + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS2"]) + ' S2Delay. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + try: + self.zero_trgS1 = devprodic["triggerS1"].command_inout('GetDelay', 2)*1000000000 + self.trgS1_iniziale.setText(str(round(self.zero_trgS1, 1))) + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS1"]) + ' S1Delay. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + try: + self.zero_trgE2 = devprodic["triggerEVR"].Chan2Delay + self.trgE2_iniziale.setText(str(round(self.zero_trgE2, 1))) + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' Chan2Delay. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + try: + self.zero_trgE1 = devprodic["triggerEVR"].Chan1Delay + self.trgE1_iniziale.setText(str(round(self.zero_trgE1, 1))) + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' Chan2Delay. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + try: + self.zero_FundAlignment = devprodic["tmu"].PllFundAlignment + self.FundAlignment_iniziale.setText(str(self.zero_FundAlignment)) + if self.zero_FundAlignment == 1: + self.zero_FundAlignment_corretto = 1 + elif self.zero_FundAlignment == -1: + self.zero_FundAlignment_corretto = 0 + else: + tmp = devprodic["tmu"].PllFundPhaseVolt + if tmp > 1: + self.zero_FundAlignment_corretto = 1 + else: + self.zero_FundAlignment_corretto = 0 + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["tmu"]) + ' PllFundAlignment. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + try: + tmp = self.lettura_oscilloscopio("P1") + if tmp[1] > 12 or tmp[1] == 0: + self.ddmeasure_seedpil_iniziale.setStyleSheet("background-color: rgb(255, 0, 0)") + self.ddmeasure_seedpil_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif 0.2 < tmp[1] < 12: + self.ddmeasure_seedpil_iniziale.setStyleSheet("background-color: rgb(255, 255, 0)") + self.ddmeasure_seedpil_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif tmp[1] < 0.2: + self.ddmeasure_seedpil_iniziale.setStyleSheet("background-color: rgb(0, 255, 0)") + self.ddmeasure_seedpil_iniziale.setText(str(tmp[0]) + ' ns') + tmp = self.lettura_oscilloscopio("P2") + if tmp[1] > 12 or tmp[1] == 0: + self.ddmeasure_slupil_iniziale.setStyleSheet("background-color: rgb(255, 0, 0)") + self.ddmeasure_slupil_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif 0.2 < tmp[1] < 12: + self.ddmeasure_slupil_iniziale.setStyleSheet("background-color: rgb(255, 255, 0)") + self.ddmeasure_slupil_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif tmp[1] < 0.2: + self.ddmeasure_slupil_iniziale.setStyleSheet("background-color: rgb(0, 255, 0)") + self.ddmeasure_slupil_iniziale.setText(str(tmp[0]) + ' ns') + tmp = self.lettura_oscilloscopio("P3") + if tmp[1] > 12 or tmp[1] == 0: + self.ddmeasure_sluseed_iniziale.setStyleSheet("background-color: rgb(255, 0, 0)") + self.ddmeasure_sluseed_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif 0.2 < tmp[1] < 12: + self.ddmeasure_sluseed_iniziale.setStyleSheet("background-color: rgb(255, 255, 0)") + self.ddmeasure_sluseed_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif tmp[1] < 0.2: + self.ddmeasure_sluseed_iniziale.setStyleSheet("background-color: rgb(0, 255, 0)") + self.ddmeasure_sluseed_iniziale.setText(str(tmp[0]) + ' ns') + except: + self.ddmeasure_seedpil_read.setStyleSheet("background-color: rgb(200, 200, 200)") + self.ddmeasure_seedpil_read.setText('') + self.ddmeasure_slupil_read.setStyleSheet("background-color: rgb(200, 200, 200)") + self.ddmeasure_slupil_read.setText('') + self.ddmeasure_sluseed_read.setStyleSheet("background-color: rgb(200, 200, 200)") + self.ddmeasure_sluseed_read.setText('') + self.ddmeasure_seedpil_iniziale.setStyleSheet("background-color: rgb(200, 200, 200)") + self.ddmeasure_seedpil_iniziale.setText('') + self.ddmeasure_slupil_iniziale.setStyleSheet("background-color: rgb(200, 200, 200)") + self.ddmeasure_slupil_iniziale.setText('') + self.ddmeasure_sluseed_iniziale.setStyleSheet("background-color: rgb(200, 200, 200)") + self.ddmeasure_sluseed_iniziale.setText('') + self.scope6clearswaps.setStyleSheet("background-color: rgb(200, 200, 200)") + ret = QMessageBox.warning(None, 'Speak with them, please', 'You are going to move the laser delay, please notify to control room.') + #timer + self.timer = QBasicTimer() + self.timer.start(1000, self) + + def timerEvent(self, event): + tinizio = time.time() + try: + tmp = devprodic["trls4"].read_attributes(['State', 'Position']) + self.read_values_trls4_state = str(tmp[0].value) + self.read_values_trls4_position = tmp[1].value[0] + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls4"]) + ' State and Position. fix the problem and procede' + self.logbox.insertItem(0, voce) + try: + tmp = devprodic["trls8"].read_attributes(['State', 'Position']) + self.read_values_trls8_state = str(tmp[0].value) + self.read_values_trls8_position = tmp[1].value[0] + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls8"]) + ' State and Position. fix the problem and procede' + self.logbox.insertItem(0, voce) + try: + self.read_values_trg_S2_state = str(devprodic["triggerS2"].State()) + self.read_values_trg_S2_delay = devprodic["triggerS2"].command_inout('GetDelay', 2)*1000000000 + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS2"]) + ' S2Delay. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + try: + self.read_values_trg_S1_state = str(devprodic["triggerS1"].State()) + self.read_values_trg_S1_delay = devprodic["triggerS1"].command_inout('GetDelay', 2)*1000000000 + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS1"]) + ' S1Delay. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + try: + tmp = devprodic["triggerEVR"].read_attributes(['State', 'Chan1Delay', 'Chan2Delay']) + self.read_values_trg_state = str(tmp[0].value) + self.read_values_trg_E1_delay = tmp[1].value + self.read_values_trg_E2_delay = tmp[2].value + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' State, Chan1Delay, Chan2Delay. fix the problem and procede' + self.logbox.insertItem(0, voce) + try: + tmp = devprodic["tmu"].read_attributes(['LockStatus', 'PllFundAlignment']) + self.read_values_locksta = tmp[0].value + self.read_values_FundAlignment = tmp[1].value + if self.read_values_FundAlignment == 1: + self.read_values_FundAlignment_corretto = 1 + elif self.read_values_FundAlignment == -1: + self.read_values_FundAlignment_corretto = 0 + else: + tmp = devprodic["tmu"].PllFundPhaseVolt + if tmp > 1: + self.read_values_FundAlignment_corretto = 1 + else: + self.read_values_FundAlignment_corretto = 0 + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["tmu"]) + ' LockStatus, PllFundAlignment. fix the problem and procede' + self.logbox.insertItem(0, voce) + try: + self.read_values_fbelite1 = str(devprodic["feedbackelite1"].command_inout('State')) + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["feedbackelite1"]) + ' State. fix the problem and procede' + self.logbox.insertItem(0, voce) + try: + self.read_values_corrmin = str(devprodic["minimizzatore_correlazione"].command_inout('State')) + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["minimizzatore_correlazione"]) + ' State. fix the problem and procede' + self.logbox.insertItem(0, voce) + ##calcolo delay cumulativi### + self.trls4pos = self.read_values_trls4_position/1000 + int(self.read_values_FundAlignment_corretto)*6.33753723 + self.trls8pos = self.read_values_trls8_position/1000 + try: + tmp = devprodic["totemdelay"].read_attributes(['State', 'Position']) + if str(tmp[0].value) == 'ON' or str(tmp[0].value) == 'RUNNING': + self.trls5_tasto.setStyleSheet("background-color: rgb(0, 255, 0)") + elif str(tmp[0].value) == 'MOVING': + self.trls5_tasto.setStyleSheet("background-color: rgb(0, 0, 255)") + elif str(tmp[0].value) == 'FAULT' or str(tmp[0].value) == 'ALARM': + self.trls5_tasto.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.trls5_tasto.setStyleSheet("background-color: rgb(150, 150, 150)") + self.trls5_read.setText(str(round(tmp[1].value, 3))) + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + self.trls5_read.setText('#####') + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["totemdelay"]) + ' State and Position. fix the problem and procede' + self.logbox.insertItem(0, voce) + ###aggiornamento pannello### + if self.read_values_trls4_state == "ON" or self.read_values_trls4_state == "RUNNING": + self.trls4_state.setStyleSheet("background-color: rgb(0, 255, 0)") + elif self.read_values_trls4_state == "MOVING": + self.trls4_state.setStyleSheet("background-color: rgb(0, 0, 255)") + elif self.read_values_trls4_state == "FAULT" or self.read_values_trls4_state == "ALARM": + self.trls4_state.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.trls4_state.setStyleSheet("background-color: rgb(150, 150, 150)") + if self.read_values_trls8_state == "ON" or self.read_values_trls8_state == "RUNNING": + self.trls8_state.setStyleSheet("background-color: rgb(0, 255, 0)") + elif self.read_values_trls8_state == "MOVING": + self.trls8_state.setStyleSheet("background-color: rgb(0, 0, 255)") + elif self.read_values_trls8_state == "FAULT" or self.read_values_trls8_state == "ALARM": + self.trls8_state.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.trls8_state.setStyleSheet("background-color: rgb(150, 150, 150)") + if self.read_values_trg_S1_state == "ON" or self.read_values_trg_S1_state == "RUNNING": + self.trgS1_state.setStyleSheet("background-color: rgb(0, 255, 0)") + self.trgS1_state.setStyleSheet("background-color: rgb(0, 255, 0)") + elif self.read_values_trg_S1_state == "MOVING": + self.trgS1_state.setStyleSheet("background-color: rgb(0, 0, 255)") + self.trgS1_state.setStyleSheet("background-color: rgb(0, 0, 255)") + elif self.read_values_trg_S1_state == "FAULT" or self.read_values_trg_S1_state == "ALARM": + self.trgS1_state.setStyleSheet("background-color: rgb(255, 0, 0)") + self.trgS1_state.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.trgS2_state.setStyleSheet("background-color: rgb(150, 150, 150)") + self.trgS2_state.setStyleSheet("background-color: rgb(150, 150, 150)") + if self.read_values_trg_S2_state == "ON" or self.read_values_trg_S2_state == "RUNNING": + self.trgS2_state.setStyleSheet("background-color: rgb(0, 255, 0)") + self.trgS2_state.setStyleSheet("background-color: rgb(0, 255, 0)") + elif self.read_values_trg_S2_state == "MOVING": + self.trgS2_state.setStyleSheet("background-color: rgb(0, 0, 255)") + self.trgS2_state.setStyleSheet("background-color: rgb(0, 0, 255)") + elif self.read_values_trg_S2_state == "FAULT" or self.read_values_trg_S2_state == "ALARM": + self.trgS2_state.setStyleSheet("background-color: rgb(255, 0, 0)") + self.trgS2_state.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.trgS2_state.setStyleSheet("background-color: rgb(150, 150, 150)") + self.trgS2_state.setStyleSheet("background-color: rgb(150, 150, 150)") + if self.read_values_trg_state == "ON" or self.read_values_trg_state == "RUNNING": + self.trgE1_state.setStyleSheet("background-color: rgb(0, 255, 0)") + self.trgE2_state.setStyleSheet("background-color: rgb(0, 255, 0)") + elif self.read_values_trg_state == "MOVING": + self.trgE1_state.setStyleSheet("background-color: rgb(0, 0, 255)") + self.trgE2_state.setStyleSheet("background-color: rgb(0, 0, 255)") + elif self.read_values_trg_state == "FAULT" or self.read_values_trg_state == "ALARM": + self.trgE1_state.setStyleSheet("background-color: rgb(255, 0, 0)") + self.trgE2_state.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.trgE1_state.setStyleSheet("background-color: rgb(150, 150, 150)") + self.trgE2_state.setStyleSheet("background-color: rgb(150, 150, 150)") + if self.read_values_corrmin == "ON": + self.minimcorr.setStyleSheet("background-color: rgb(0, 255, 0)") + self.minimcorr.setText('Delay:ON') + elif self.read_values_corrmin == "RUNNING": + self.minimcorr.setStyleSheet("background-color: rgb(0, 0, 255)") + self.minimcorr.setText('Delay:RUNNING') + elif self.read_values_corrmin == "MOVING": + self.minimcorr.setStyleSheet("background-color: rgb(0, 0, 255)") + self.minimcorr.setText('Delay:MOVING') + elif self.read_values_corrmin == "FAULT": + self.minimcorr.setStyleSheet("background-color: rgb(255, 0, 0)") + self.minimcorr.setText('Delay:FAULT') + elif self.read_values_corrmin == "ALARM": + self.minimcorr.setStyleSheet("background-color: rgb(255, 255, 0)") + self.minimcorr.setText('Delay:ALARM') + elif self.read_values_corrmin == "OFF": + self.minimcorr.setStyleSheet("background-color: rgb(255, 255, 255)") + self.minimcorr.setText('Delay:OFF') + else: + self.minimcorr.setStyleSheet("background-color: rgb(150, 150, 150)") + self.minimcorr.setText('Delay:???') + if self.read_values_fbelite1 == "ON" or self.read_values_fbelite1 == "RUNNING": + self.feedbackelite1.setStyleSheet("background-color: rgb(0, 255, 0)") + elif self.read_values_fbelite1 == "MOVING": + self.feedbackelite1.setStyleSheet("background-color: rgb(0, 0, 255)") + elif self.read_values_fbelite1 == "FAULT" or self.read_values_fbelite1 == "ALARM": + self.feedbackelite1.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.feedbackelite1.setStyleSheet("background-color: rgb(150, 150, 150)") + if self.read_values_locksta == "Locked on Cross Correlator Signal": + self.FundAlignment_state.setStyleSheet("background-color: rgb(0, 255, 0)") + else: + self.FundAlignment_state.setStyleSheet("background-color: rgb(255, 0, 0)") + self.trls4_read.setText(str(round(self.read_values_trls4_position, 3)) + " ps") + self.trls8_read.setText(str(round(self.read_values_trls8_position, 3)) + " ps") + self.trgE1_read.setText(str(round(self.read_values_trg_E1_delay, 3)) + " ns") + self.trgE2_read.setText(str(round(self.read_values_trg_E2_delay, 3)) + " ns") + self.trgS1_read.setText(str(round(self.read_values_trg_S1_delay, 3)) + " ns") + self.trgS2_read.setText(str(round(self.read_values_trg_S2_delay, 3)) + " ns") + self.FundAlignment_read.setText(str(self.read_values_FundAlignment)) +# print('parziale ' + str(time.time() - tinizio)) +# print('finale ' + str(time.time() - tinizio)) + if self.contaloop > 4 and self.abilitazioscope6: + [self.read_values_P1_avg, self.read_values_P1_sigma, self.read_values_P1_sweep] = self.lettura_oscilloscopio("P1") + if self.read_values_P1_sigma > 12 or self.read_values_P1_sigma == 0.0: + self.ddmeasure_seedpil_read.setStyleSheet("background-color: rgb(255, 0, 0)") + self.ddmeasure_seedpil_read.setText(str(self.read_values_P1_avg) + ' ns, sigma ' + str(self.read_values_P1_sigma) + ' ns') + elif 0.2 < self.read_values_P1_sigma < 12: + self.ddmeasure_seedpil_read.setStyleSheet("background-color: rgb(255, 255, 0)") + self.ddmeasure_seedpil_read.setText(str(self.read_values_P1_avg) + ' ns, sigma ' + str(self.read_values_P1_sigma) + ' ns') + elif self.read_values_P1_sigma < 0.2: + self.ddmeasure_seedpil_read.setStyleSheet("background-color: rgb(0, 255, 0)") + self.ddmeasure_seedpil_read.setText(str(self.read_values_P1_avg) + ' ns') + [self.read_values_P2_avg, self.read_values_P2_sigma, self.read_values_P2_sweep] = self.lettura_oscilloscopio("P2") + if self.read_values_P2_sigma > 12 or self.read_values_P2_sigma == 0.0: + self.ddmeasure_slupil_read.setStyleSheet("background-color: rgb(255, 0, 0)") + self.ddmeasure_slupil_read.setText(str(self.read_values_P2_avg) + ' ns, sigma ' + str(self.read_values_P2_sigma) + ' ns') + elif 0.2 < self.read_values_P2_sigma < 12: + self.ddmeasure_slupil_read.setStyleSheet("background-color: rgb(255, 255, 0)") + self.ddmeasure_slupil_read.setText(str(self.read_values_P2_avg) + ' ns, sigma ' + str(self.read_values_P2_sigma) + ' ns') + elif self.read_values_P2_sigma < 0.2: + self.ddmeasure_slupil_read.setStyleSheet("background-color: rgb(0, 255, 0)") + self.ddmeasure_slupil_read.setText(str(self.read_values_P2_avg) + ' ns') + [self.read_values_P3_avg, self.read_values_P3_sigma, self.read_values_P3_sweep] = self.lettura_oscilloscopio("P3") + if self.read_values_P3_sigma > 12 or self.read_values_P3_sigma == 0.0: + self.ddmeasure_sluseed_read.setStyleSheet("background-color: rgb(255, 0, 0)") + self.ddmeasure_sluseed_read.setText(str(self.read_values_P3_avg) + ' ns, sigma ' + str(self.read_values_P3_sigma) + ' ns') + elif 0.2 < self.read_values_P3_sigma < 12: + self.ddmeasure_sluseed_read.setStyleSheet("background-color: rgb(255, 255, 0)") + self.ddmeasure_sluseed_read.setText(str(self.read_values_P3_avg) + ' ns, sigma ' + str(self.read_values_P3_sigma) + ' ns') + elif self.read_values_P3_sigma < 0.2: + self.ddmeasure_sluseed_read.setStyleSheet("background-color: rgb(0, 255, 0)") + self.ddmeasure_sluseed_read.setText(str(self.read_values_P3_avg) + ' ns') + if self.read_values_P1_sigma > 1 or self.read_values_P2_sigma > 1 or self.read_values_P3_sigma > 1: + epilessia1 = (150 + np.random.random_integers(100), 150 + np.random.random_integers(100), 150 + np.random.random_integers(100)) + self.scope6clearswaps.setStyleSheet("background-color: rgb" + str(epilessia1) + "") + else: + self.scope6clearswaps.setStyleSheet("background-color: rgb(200, 200, 200)") + print('read scope6, t: ' + str(time.time() - tinizio)) + self.contaloop = 0 + else: + self.contaloop +=1 + print(str(self.contaloop) + ', t: ' + str(time.time() - tinizio)) + if self.trls4_calcolato.text() != '': + self.trls4_delta.setText(str(round(float(self.trls4_read.text().replace(' ps', '')) - float(self.trls4_calcolato.text().replace(' ps', '')), 3)) + ' ps') + if self.trls8_calcolato.text() != '': + self.trls8_delta.setText(str(round(float(self.trls8_read.text().replace(' ps', '')) - float(self.trls8_calcolato.text().replace(' ps', '')), 3)) + ' ps') + if self.trgE1_calcolato.text() != '': + self.trgE1_delta.setText(str(round(float(self.trgE1_read.text().replace(' ns', '')) - float(self.trgE1_calcolato.text().replace(' ns', '')), 3)) + ' ns') + if self.trgE2_calcolato.text() != '': + self.trgE2_delta.setText(str(round(float(self.trgE2_read.text().replace(' ns', '')) - float(self.trgE2_calcolato.text().replace(' ns', '')), 3)) + ' ns') + if self.trgS1_calcolato.text() != '': + self.trgS1_delta.setText(str(round(float(self.trgS1_read.text().replace(' ns', '')) - float(self.trgS1_calcolato.text().replace(' ns', '')), 3)) + ' ns') + if self.trgS2_calcolato.text() != '': + self.trgS2_delta.setText(str(round(float(self.trgS2_read.text().replace(' ns', '')) - float(self.trgS2_calcolato.text().replace(' ns', '')), 3)) + ' ns') + if self.FundAlignment_calcolato.text() != '': + self.FundAlignment_delta.setText(str(round(float(self.FundAlignment_read.text().replace(' ps', '')) - float(self.FundAlignment_calcolato.text().replace(' ps', '')), 3)) + ' au') + + + def closeEvent(self, event): + devprodic["trls8"].write_attribute("Speed", [-1]) + devprodic["trls4"].write_attribute("Speed", [1]) + self.timer.stop() + ret = QMessageBox.warning(None, 'Trigger reference file', 'Do not forget to save the new trigger reference file!') + + def calcola(self): # muovi SLU + print('>>>> SLU >>>>') + ###verifica validita input### + test = str(self.SLUdelta_t.text().replace(',','.').replace('.','').replace(' ','').replace('ns','').replace('-','')) + if test.isdigit(): #verifico se input corretto + delta_t = float(self.SLUdelta_t.text().replace(',','.').replace(' ','').replace('ns','')) + print('richiesta ' + str(delta_t)) + else: + print('SLU delay not a number') + return + ###calcolo### +# if self.oscilloscopioattivo: +# self.ddmeasure_seedpil_calcolato.setText(str(self.read_values_P1_avg)) +# self.ddmeasure_slupil_calcolato.setText(str(self.read_values_P2_avg - delta_t)) +# self.ddmeasure_sluseed_calcolato.setText(str(self.read_values_P3_avg - delta_t)) + if (selettore >= 1 and selettore <= 4) or (selettore >= 5 and selettore <= 6): # elite1 x fel, elite2 x slu + print('elite1 x fel, elite2 x slu') + resto = (delta_t/12.675074466 - int(delta_t/12.675074466))*12.675074466 #ns, avanzo da dare in pasto ai traslatori + trg_e2_tmp = self.read_values_trg_E2_delay + int(delta_t/12.675074466)*12.675074466 #valore tmp, perche potrebbe cambiare di 1 cilclo per via dei traslatori + # valuto corsa disponibile sulla slitta, se delta_t oltre i limiti agisco ancora sul trigger + if self.trls4pos + resto >= -3.168768615 and self.trls4pos + resto <= 9.6: + print("caso 1: trls4 entro i limiti") + self.trls4calc = self.trls4pos + resto + self.trls8calc = self.trls8pos + (self.trls4pos - self.trls4calc) + self.trg_elite2calc = trg_e2_tmp + self.trg_elite1calc = self.read_values_trg_E1_delay + elif self.trls4pos + resto < -3.168768615: + print("caso 2: trls4 sotto i limiti") + self.trls4calc = self.trls4pos + resto + 12.675074466 + self.trls8calc = self.trls8pos + (self.trls4pos - self.trls4calc) + self.trg_elite2calc = trg_e2_tmp - 12.675074466 + self.trg_elite1calc = self.read_values_trg_E1_delay + elif self.trls4pos + resto > 9.6: + print("caso 3: trls4 sopra i limiti") + self.trls4calc = self.trls4pos + resto - 12.675074466 + self.trls8calc = self.trls8pos + (self.trls4pos - self.trls4calc) + self.trg_elite2calc = trg_e2_tmp + 12.675074466 + self.trg_elite1calc = self.read_values_trg_E1_delay + if self.trls8calc >= -6.6 and self.trls8calc <= 6.6: + print("caso 1: trls8 entro i limiti") + self.trls8calc = self.trls8calc + elif self.trls8calc < -6.6: + print("caso 2: trls8 sotto i limiti") + self.trls8calc = self.trls8calc + 12.675074466 + self.trg_elite1calc = self.trg_elite1calc - 12.675074466 + elif self.trls8calc > 6.6: + print("caso 3: trls8 sopra i limiti") + self.trls8calc = self.trls8calc - 12.675074466 + self.trg_elite1calc = self.trg_elite1calc + 12.675074466 + # ricalcolo i delay per controllo + self.slfelcal = self.trls4calc + self.trls8calc + self.trg_elite1calc - zero_Fel1 + self.slucal = self.trls4calc + self.trg_elite2calc + trlsSLUpos - zero_Slu + # valuto spostamento SDG + discriminante_ampli1 = int(self.trls4calc + self.trls8calc) + print('discriminante_ampli1 = int(' + str(self.trls4calc) + ' + ' + str(self.trls8calc) + ') = ' + str(discriminante_ampli1)) + discriminante_ampli2 = int(self.trls4calc) + print('discriminante_ampli1 = int(' + str(self.trls4calc) + ') = ' + str(discriminante_ampli2)) + self.trg_S1calc = zeroS1_fel1 + discriminante_ampli1 + self.trg_S2calc = zeroS2_fel1 + discriminante_ampli2 + elif selettore >= 7 and selettore <= 11: # elite1 x slu, elite2 x fel + print('elite1 x slu, elite2 x fel') + resto = (delta_t/12.675074466 - int(delta_t/12.675074466))*12.675074466 #ns, avanzo da dare in pasto ai traslatori + trg_e1_tmp = self.read_values_trg_E1_delay + int(delta_t/12.675074466)*12.675074466 #valore tmp, perche potrebbe cambiare di 1 cilclo per via dei traslatori + # valuto corsa disponibile sulla slitta, se delta_t oltre i limiti agisco ancora sul trigger + if self.trls8pos + resto >= -6.6 and self.trls8pos + resto <= 6.6: + self.trls8calc = self.trls8pos + resto + print("caso 1: trls8 entro i limiti") + self.trg_elite1calc = trg_e1_tmp + elif self.trls8pos + resto < -6.6: + print("caso 2: trls8 sotto i limiti") + self.trls8calc = self.trls8pos + resto + 12.675074466 + self.trg_elite1calc = trg_e1_tmp - 12.675074466 + elif self.trls8pos + resto > 6.6: + print("caso 3: trls8 sopra i limiti") + self.trls8calc = self.trls8pos + resto - 12.675074466 + self.trg_elite1calc = trg_e1_tmp + 12.675074466 + self.trg_elite2calc = self.read_values_trg_E2_delay + self.trls4calc = self.trls4pos + # ricalcolo i delay per controllo + self.slfelcal = self.trls4calc + self.trg_elite2calc - zero_Fel2 + self.slucal = self.trls4calc + self.trls8calc + self.trg_elite1calc + trlsSLUpos - zero_Slu + # valuto spostamento SDG + discriminante_ampli1 = int(self.trls4calc + self.trls8calc) + print('discriminante_ampli1 = int(' + str(self.trls4calc) + ' + ' + str(self.trls8calc) + ') = ' + str(discriminante_ampli1)) + discriminante_ampli2 = int(self.trls4calc) + print('discriminante_ampli1 = int(' + str(self.trls4calc) + ') = ' + str(discriminante_ampli2)) + self.trg_S1calc = zeroS1_fel2 + discriminante_ampli1 + self.trg_S2calc = zeroS2_fel2 + discriminante_ampli2 + else: # altro + print('no') + self.slfelcal = 'ERROR' + self.slucal = 'ERROR' + self.trls4calc = 'ERROR' + self.trls8calc = 'ERROR' + self.trg_E1calc = 'ERROR' + self.trg_E2calc = 'ERROR' + self.trg_S1calc = 'ERROR' + self.trg_S2calc = 'ERROR' + # popolo il pannello di numeri + self.trls4_calcolato.setText(str(round(self.trls4calc*1000, 3)) + ' ps') + self.trls8_calcolato.setText(str(round(self.trls8calc*1000, 3)) + ' ps') + self.trgE1_calcolato.setText(str(round(self.trg_elite1calc, 3)) + ' ns') + self.trgE2_calcolato.setText(str(round(self.trg_elite2calc, 3)) + ' ns') + self.trgS1_calcolato.setText(str(round(self.trg_S1calc, 3)) + ' ns') + self.trgS2_calcolato.setText(str(round(self.trg_S2calc, 3)) + ' ns') + if self.trls4calc > 3.168768615 and self.read_values_FundAlignment_corretto == 1: + self.trls4calc = self.trls4calc - 6.33753723 + self.FundAlignment_calc = 1 + self.trls4_calcolato.setText(str(round(self.trls4calc*1000, 3)) + ' ps') +# self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(0, 255, 0)") + self.FundAlignment_calcolato.setText(str(self.FundAlignment_calc)) + self.FundAlignment_shift = False + elif self.trls4calc > 3.168768615 and self.read_values_FundAlignment_corretto == 0: + self.trls4calc = self.trls4calc - 6.33753723 + self.FundAlignment_calc = 1 + self.trls4_calcolato.setText(str(round(self.trls4calc*1000, 3)) + ' ps') + self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(230, 230, 0)") + self.FundAlignment_calcolato.setText(str(self.FundAlignment_calc)) + self.FundAlignment_shift = True + elif self.trls4calc < 3.168768615 and self.read_values_FundAlignment_corretto == 1: + self.FundAlignment_calc = -1 + self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(230, 230, 0)") + self.FundAlignment_calcolato.setText(str(self.FundAlignment_calc)) + self.FundAlignment_shift = True + elif self.trls4calc < 3.168768615 and self.read_values_FundAlignment_corretto == 0: + self.FundAlignment_calc = -1 +# self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(0, 255, 0)") + self.FundAlignment_calcolato.setText(str(self.FundAlignment_calc)) + self.FundAlignment_shift = False + else: + self.FundAlignment_calcolato.setStyleSheet("background-color: rgb(180, 180, 180)") + self.FundAlignment_calcolato.setText('####') + self.FundAlignment_shift = False + if self.trls4calc*1000 < -3300 or self.trls4calc*1000 > 3300: + self.trls4_calcolato.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.trls4_calcolato.setStyleSheet("background-color: rgb(255, 255, 255)") + if self.trls8calc*1000 < -6600 or self.trls8calc*1000 > 6600: + self.trls8_calcolato.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.trls8_calcolato.setStyleSheet("background-color: rgb(255, 255, 255)") + self.applica.show() + self.trls4_applica.show() + self.trls8_applica.show() + self.trgE1_applica.show() + self.trgS1_applica.show() + self.trgE2_applica.show() + self.trgS2_applica.show() + self.FundAlignment_applica.show() + self.comenondetto.hide() + self.trls4_storna.hide() + self.trls8_storna.hide() + self.trgE1_storna.hide() + self.trgS1_storna.hide() + self.trgE2_storna.hide() + self.trgS2_storna.hide() + self.FundAlignment_storna.hide() + + def pannellosalvatrigger(self): + os.chdir('/home/lfo/data/salvatutto/SEED_trigger/') + sonoin = os.path.abspath('') + indice = 0 + for file in os.listdir(sonoin): + if file.endswith(".csv"): + indice = indice +1 + os.system('python /home/lfo/runtime/panels/bin/slsavetrigger.py &') + time.sleep(5) + indice1 = 0 + for file in os.listdir(sonoin): + if file.endswith(".csv"): + indice1 = indice1 +1 + if indice1 > indice: + self.lanciasalvatrigger.setStyleSheet("background-color: rgb(0, 255, 0)") + else: + self.lanciasalvatrigger.setStyleSheet("background-color: rgb(255, 0, 0)") + + def switchdelayminimizer(self): + stato = str(devprodic["minimizzatore_correlazione"].command_inout('State')) + print(stato) + if stato == "OFF": + devprodic["minimizzatore_correlazione"].command_inout("On",[0]) + else: + devprodic["minimizzatore_correlazione"].command_inout('Off') + + def faprihdb(self): + os.system('firefox http://fcsproxy.elettra.trieste.it/docs/egiga2m/egiga2m.html?conf=fermi_hdbpp &') + + def apritrls4(self): + os.system('/runtime/bin/xps sl/motor/trls_sl.04 -title SL_XPS_delay_line_"trls_sl.04" &') + + def apritrls8(self): + os.system('/runtime/bin/xps sl/motor/trls_sl.08 -title SL_XPS_Elite1_line_"trls_sl.08" &') + + def fapriscope(self): + os.system('/usr/bin/vncviewer scope-laser-06 &') + + def fapritrigger(self): + os.system('/runtime/bin/sl-trigger-gui &') + + def fapritmu(self): + os.system('atkpanel sl/timing/tmu_sl.01 &') + + def delaytotemapri(self): + os.system('/runtime/bin/motion_controller slu/motor/trls_slu.05 -title SLU_TOTEM_DELAY_LINE &') + + def delaytotemgoto(self): + gol = float(self.trls5_set.text()) + devprodic["totemdelay"].write_attribute('Position', gol) + + def dalaytotempiu(self): + gol = devprodic["totemdelay"].Position + float(self.trls5_rel.text()) + devprodic["totemdelay"].write_attribute('Position', gol) + + def dalaytotemmeno(self): + gol = devprodic["totemdelay"].Position - float(self.trls5_rel.text()) + devprodic["totemdelay"].write_attribute('Position', gol) + + def lettura_oscilloscopio(self, canale): + try: + testo = devprodic["scope6"].command_inout("GetParameter", canale) + testo1 = testo.split(',') + for sicurezza in range(len(testo1)): + if testo1[sicurezza] == 'AVG': + tmp_AVG = round(float(testo1[sicurezza + 1].replace('S','')) * 10E+8, 1) + if testo1[sicurezza] == 'SIGMA': + tmp_SIGMA = round(float(testo1[sicurezza + 1].replace('S','')) * 10E+8, 3) + if testo1[sicurezza] == 'SWEEPS': + tmp_SWEEPS = round(float(testo1[sicurezza + 1].replace('S','')), 1) + except: + tmp_AVG = 0 + tmp_SIGMA = 0 + tmp_SWEEPS = 0 + return tmp_AVG, tmp_SIGMA, tmp_SWEEPS + + def pulisci_oscilloscopio(self): + devprodic["scope6"].command_inout("ClearSweeps") + + def dajediscope_inizio(self): + tmp = self.lettura_oscilloscopio("P1") + if tmp[1] > 12 or tmp[1] == 0: + self.ddmeasure_seedpil_iniziale.setStyleSheet("background-color: rgb(255, 0, 0)") + self.ddmeasure_seedpil_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif 0.2 < tmp[1] < 12: + self.ddmeasure_seedpil_iniziale.setStyleSheet("background-color: rgb(255, 255, 0)") + self.ddmeasure_seedpil_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif tmp[1] < 0.2: + self.ddmeasure_seedpil_iniziale.setStyleSheet("background-color: rgb(0, 255, 0)") + self.ddmeasure_seedpil_iniziale.setText(str(tmp[0]) + ' ns') + tmp = self.lettura_oscilloscopio("P2") + if tmp[1] > 12 or tmp[1] == 0: + self.ddmeasure_slupil_iniziale.setStyleSheet("background-color: rgb(255, 0, 0)") + self.ddmeasure_slupil_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif 0.2 < tmp[1] < 12: + self.ddmeasure_slupil_iniziale.setStyleSheet("background-color: rgb(255, 255, 0)") + self.ddmeasure_slupil_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif tmp[1] < 0.2: + self.ddmeasure_slupil_iniziale.setStyleSheet("background-color: rgb(0, 255, 0)") + self.ddmeasure_slupil_iniziale.setText(str(tmp[0]) + ' ns') + tmp = self.lettura_oscilloscopio("P3") + if tmp[1] > 12 or tmp[1] == 0: + self.ddmeasure_sluseed_iniziale.setStyleSheet("background-color: rgb(255, 0, 0)") + self.ddmeasure_sluseed_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif 0.2 < tmp[1] < 12: + self.ddmeasure_sluseed_iniziale.setStyleSheet("background-color: rgb(255, 255, 0)") + self.ddmeasure_sluseed_iniziale.setText(str(tmp[0]) + ' ns, sigma ' + str(tmp[1]) + ' ns') + elif tmp[1] < 0.2: + self.ddmeasure_sluseed_iniziale.setStyleSheet("background-color: rgb(0, 255, 0)") + self.ddmeasure_sluseed_iniziale.setText(str(tmp[0]) + ' ns') + + def abilitascope6(self): + if self.abilitazioscope6 == 1: + self.abilitazioscope6 = 0 + self.enable_scope_measurament.setText('Enable scope operation') + self.ddmeasure_seedpil_read.setText("") + self.ddmeasure_seedpil_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.ddmeasure_slupil_read.setText("") + self.ddmeasure_slupil_read.setStyleSheet("background-color: rgb(220, 220, 220)") + self.ddmeasure_sluseed_read.setText("") + self.ddmeasure_sluseed_read.setStyleSheet("background-color: rgb(220, 220, 220)") + elif self.abilitazioscope6 == 0: + self.abilitazioscope6 = 1 + self.enable_scope_measurament.setText('Disable scope operation') + + + def disastro_solotrls4(self): + try: + self.trls4_old = devprodic["trls4"].Position[0] + procedi = True + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls4"]) + ' Position.' + self.logbox.insertItem(0, voce) + procedi = False + if procedi: + self.comandifalliti = 0 + try: + devprodic["trls4"].write_attribute("Position", [float(self.trls4calc*1000)]) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Position", [' + str(self.trls4calc*1000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + if self.comandifalliti < 1: + self.trls4_applica.hide() + self.trls4_storna.show() + + def doppiodisastro_solotrls4(self): + devprodic["trls4"].write_attribute("Position", [self.trls4_old]) + self.trls4_applica.show() + self.trls4_storna.hide() + + def disastro_solotrls8(self): + try: + self.trls8_old = devprodic["trls8"].Position[0] + procedi = True + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls8"]) + ' Position.' + self.logbox.insertItem(0, voce) + procedi = False + if procedi: + self.comandifalliti = 0 + try: + devprodic["trls8"].write_attribute("Position", [float(self.trls8calc*1000)]) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Position", [' + str(self.trls8calc*1000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + if self.comandifalliti < 1: + self.trls8_applica.hide() + self.trls8_storna.show() + + def doppiodisastro_solotrls8(self): + devprodic["trls8"].write_attribute("Position", [self.trls8_old]) + self.trls8_applica.show() + self.trls8_storna.hide() + + def disastro_solotmu(self): + try: + self.FundAlignment_old = devprodic["tmu"].PllFundAlignment + procedi = True + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["tmu"]) + ' PllFundAlignment.' + self.logbox.insertItem(0, voce) + procedi = False + if procedi: + self.comandifalliti = 0 + if self.FundAlignment_shift and self.FundAlignment_calc >= 1: + try: + devprodic["tmu"].write_attribute("PllFundAlignment", 1) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while write_attribute("PllFundAlignment", 1)' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + self.faseperallarmi = 1.5 + try: + tmp = devprodic["tmu"].get_attribute_config_ex("PllFundPhaseVolt") + tmp[0].alarms.min_alarm = str(self.faseperallarmi - 0.5) + tmp[0].alarms.max_alarm = str(self.faseperallarmi + 0.5) + devprodic["tmu"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [1.0, 2.0] for attribute PllFundPhaseVolt' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + elif self.FundAlignment_shift and self.FundAlignment_calc < 1: + try: + devprodic["tmu"].write_attribute("PllFundAlignment", -1) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while write_attribute("PllFundAlignment", -1)' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + self.faseperallarmi = 0.5 + try: + tmp = devprodic["tmu"].get_attribute_config_ex('PllFundPhaseVolt') + tmp[0].alarms.min_alarm = str(self.faseperallarmi - 0.5) + tmp[0].alarms.max_alarm = str(self.faseperallarmi + 0.5) + devprodic["tmu"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [0.0, 1.0] for attribute PllFundPhaseVolt' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + else: + print('FundAlignment no shift') + if self.comandifalliti < 1: + self.FundAlignment_applica.hide() + self.FundAlignment_storna.show() + + def doppiodisastro_solotmu(self): + devprodic["tmu"].write_attribute("PllFundAlignment", self.FundAlignment_old) + tmp = devprodic["tmu"].get_attribute_config_ex('PllFundPhaseVolt') + if self.FundAlignment_old > 0: + tmp[0].alarms.min_alarm = str(1.0) + tmp[0].alarms.max_alarm = str(2.0) + else: + tmp[0].alarms.min_alarm = str(0.0) + tmp[0].alarms.max_alarm = str(1.0) + devprodic["tmu"].set_attribute_config(tmp) + self.FundAlignment_applica.show() + self.FundAlignment_storna.hide() + + def disastro_soloE1trg(self): + try: + self.trgE1_old = devprodic["triggerEVR"].Chan1Delay + procedi = True + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' Chan1Delay.' + self.logbox.insertItem(0, voce) + procedi = False + if procedi: + self.comandifalliti = 0 + try: + devprodic["triggerEVR"].write_attribute("Chan1Delay", float(self.trg_elite1calc)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan1Delay", ' + str(self.trg_elite1calc) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.2) + try: + tmp = devprodic["triggerEVR"].get_attribute_config_ex("Chan1Delay") + tmp[0].alarms.min_alarm = str(self.trg_elite1calc - 1) + tmp[0].alarms.max_alarm = str(self.trg_elite1calc + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trg_elite1calc - 1) + ', ' + str(self.trg_elite1calc +1) + '] for attribute Chan1Delay' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + if self.comandifalliti < 1: + self.trgE1_applica.hide() + self.trgE1_storna.show() + + def doppiodisastro_soloE1trg(self): + devprodic["triggerEVR"].write_attribute('Chan1Delay', self.trgE1_old) + tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan1Delay') + tmp[0].alarms.min_alarm = str(self.trgE1_old - 1) + tmp[0].alarms.max_alarm = str(self.trgE1_old + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + self.trgE1_applica.show() + self.trgE1_storna.hide() + + def disastro_soloS1trg(self): + try: + self.trgS1_old = devprodic["triggerS1"].command_inout('GetDelay', 2)*1000000000 + procedi = True + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS1"]) + ' S1Delay. The script will not chage any value. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + procedi = False + if procedi: + self.comandifalliti = 0 + try: + devprodic["triggerS1"].command_inout('SetDelay', [2, float(self.trg_S1calc)/1000000000]) + print('S1Delay ' + str(self.trg_S1calc)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_S1calc)/1000000000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + if self.comandifalliti < 1: + self.trgS1_applica.hide() + self.trgS1_storna.show() + + def doppiodisastro_soloS1trg(self): + devprodic["triggerS1"].command_inout('SetDelay', [2, float(self.trgS1_old)/1000000000]) + self.trgS1_applica.show() + self.trgS1_storna.hide() + + def disastro_soloE2trg(self): + try: + self.trgE2_old = devprodic["triggerEVR"].Chan2Delay + procedi = True + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' Chan2Delay.' + self.logbox.insertItem(0, voce) + procedi = False + if procedi: + self.comandifalliti = 0 + try: + devprodic["triggerEVR"].write_attribute("Chan2Delay", float(self.trg_elite2calc)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan2Delay", ' + str(self.trg_elite2calc) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.2) + try: + tmp = devprodic["triggerEVR"].get_attribute_config_ex("Chan2Delay") + tmp[0].alarms.min_alarm = str(self.trg_elite2calc - 1) + tmp[0].alarms.max_alarm = str(self.trg_elite2calc + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trg_elite2calc - 1) + ', ' + str(self.trg_elite2calc +1) + '] for attribute Chan2Delay' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + if self.comandifalliti < 1: + self.trgE2_applica.hide() + self.trgE2_storna.show() + + def doppiodisastro_soloE2trg(self): + devprodic["triggerEVR"].write_attribute('Chan2Delay', self.trgE2_old) + tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan2Delay') + tmp[0].alarms.min_alarm = str(self.trgE2_old - 1) + tmp[0].alarms.max_alarm = str(self.trgE2_old + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + self.trgE2_applica.show() + self.trgE2_storna.hide() + + def disastro_soloS2trg(self): + try: + self.trgS2_old = devprodic["triggerS2"].command_inout('GetDelay', 2)*1000000000 + procedi = True + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS2"]) + ' S2Delay.' + self.logbox.insertItem(0, voce) + procedi = False + if procedi: + self.comandifalliti = 0 + try: + devprodic["triggerS2"].command_inout('SetDelay', [2, float(self.trg_S2calc)/1000000000]) + print('S2Delay ' + str(self.trg_S2calc)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_S2calc)/1000000000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + if self.comandifalliti < 1: + self.trgS2_applica.hide() + self.trgS2_storna.show() + + def doppiodisastro_soloS2trg(self): + devprodic["triggerS2"].command_inout('SetDelay', [2, float(self.trgS2_old)/1000000000]) + self.trgS2_applica.show() + self.trgS2_storna.hide() + + def disastro(self): + ######## finesta avviso sala controllo + print('salvo stato') + procedi = True + self.comandifalliti = 0 + ###salvo vecchi valori### + try: + self.trls4_old = devprodic["trls4"].Position[0] + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls4"]) + ' Position. The script will not chage any value. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + procedi = False + try: + self.trls8_old = devprodic["trls8"].Position[0] + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["trls8"]) + ' Position. The script will not chage any value. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + procedi = False + try: + self.trgE1_old = devprodic["triggerEVR"].Chan1Delay + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' Chan1Delay. The script will not chage any value. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + procedi = False + try: + self.trgE2_old = devprodic["triggerEVR"].Chan2Delay + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerEVR"]) + ' Chan2Delay. The script will not chage any value. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + procedi = False + try: + self.trgS1_old = devprodic["triggerS1"].command_inout('GetDelay', 2)*1000000000 + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS1"]) + ' S1Delay. The script will not chage any value. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + procedi = False + try: + self.trgS2_old = devprodic["triggerS2"].command_inout('GetDelay', 2)*1000000000 + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["triggerS2"]) + ' S2Delay. The script will not chage any value. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + procedi = False + try: + self.FundAlignment_old = devprodic["tmu"].PllFundAlignment + except: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + voce = time.ctime()[11:19] + ' Error reading ' + str(devprodic["tmu"]) + ' PllFundAlignment. The script will not chage any value. check with atomic panel and launch this program again' + self.logbox.insertItem(0, voce) + procedi = False + if procedi == True: + print('applico valori') + if self.FundAlignment_shift and self.FundAlignment_calc >= 1: + print('FundAlignment ' + str(self.FundAlignment_calc)) + print("tmu" + ' ' + "PllFundAlignment" + ' ' + str(1)) + try: + devprodic["tmu"].write_attribute("PllFundAlignment", 1) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while write_attribute("PllFundAlignment", 1)' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + self.faseperallarmi = 1.5 + try: + tmp = devprodic["tmu"].get_attribute_config_ex("PllFundPhaseVolt") + tmp[0].alarms.min_alarm = str(self.faseperallarmi - 0.5) + tmp[0].alarms.max_alarm = str(self.faseperallarmi + 0.5) + devprodic["tmu"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [1.0, 2.0] for attribute PllFundPhaseVolt' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + elif self.FundAlignment_shift and self.FundAlignment_calc < 1: + print('FundAlignment ' + str(self.FundAlignment_calc)) + print("tmu" + ' ' + "PllFundAlignment" + ' ' + str(-1)) + try: + devprodic["tmu"].write_attribute("PllFundAlignment", -1) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while write_attribute("PllFundAlignment", -1)' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + self.faseperallarmi = 0.5 + try: + tmp = devprodic["tmu"].get_attribute_config_ex('PllFundPhaseVolt') + tmp[0].alarms.min_alarm = str(self.faseperallarmi - 0.5) + tmp[0].alarms.max_alarm = str(self.faseperallarmi + 0.5) + devprodic["tmu"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [0.0, 1.0] for attribute PllFundPhaseVolt' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + else: + print('FundAlignment no shift') + time.sleep(3) + print("triggerEVR" + ' ' + "Chan1Delay" + ' ' + str(self.trg_elite1calc)) + try: + devprodic["triggerEVR"].write_attribute("Chan1Delay", float(self.trg_elite1calc)) + print('Chan1Delay ' + str(self.trg_elite1calc)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan1Delay", ' + str(self.trg_elite1calc) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.2) + try: + tmp = devprodic["triggerEVR"].get_attribute_config_ex("Chan1Delay") + tmp[0].alarms.min_alarm = str(self.trg_elite1calc - 1) + tmp[0].alarms.max_alarm = str(self.trg_elite1calc + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trg_elite1calc - 1) + ', ' + str(self.trg_elite1calc +1) + '] for attribute Chan1Delay' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + print("triggerEVR" + ' ' + "Chan2Delay" + ' ' + str(self.trg_elite2calc)) + try: + devprodic["triggerEVR"].write_attribute("Chan2Delay", float(self.trg_elite2calc)) + print('Chan2Delay ' + str(self.trg_elite2calc)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan2Delay", ' + str(self.trg_elite2calc) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.2) + try: + tmp = devprodic["triggerEVR"].get_attribute_config_ex("Chan2Delay") + tmp[0].alarms.min_alarm = str(self.trg_elite2calc - 1) + tmp[0].alarms.max_alarm = str(self.trg_elite2calc + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trg_elite2calc - 1) + ', ' + str(self.trg_elite2calc +1) + '] for attribute Chan2Delay' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + print("triggerS1" + ' ' + "SetDelay 2" + ' ' + str(self.trg_S1calc)) + try: + devprodic["triggerS1"].command_inout('SetDelay', [2, float(self.trg_S1calc)/1000000000]) + print('S1Delay ' + str(self.trg_S1calc)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_S1calc)/1000000000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.2) + print("triggerS2" + ' ' + "SetDelay 2" + ' ' + str(self.trg_S2calc)) + try: + devprodic["triggerS2"].command_inout('SetDelay', [2, float(self.trg_S2calc)/1000000000]) + print('S2Delay ' + str(self.trg_S2calc)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trg_S2calc)/1000000000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.2) + print("trls4" + ' ' + "Position" + ' ' + str(self.trls4calc*1000)) + esciciclo = 0 + while devprodic["trls4"].Speed[0] < 99 or esciciclo < 10: + esciciclo += 1 + time.sleep(2) + voce = time.ctime()[11:19] + ' waiting trls4... ' + self.logbox.insertItem(0, voce) + try: + devprodic["trls4"].write_attribute("Position", [float(self.trls4calc*1000)]) + print("trls4 " + str(float(self.trls4calc*1000))) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Position", [' + str(self.trls4calc*1000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + print("trls8" + ' ' + "Position" + ' ' + str(self.trls8calc*1000)) + esciciclo = 0 + while devprodic["trls8"].Speed[0] > -99 or esciciclo < 10: + esciciclo += 1 + time.sleep(2) + voce = time.ctime()[11:19] + ' waiting trls8... ' + self.logbox.insertItem(0, voce) + try: + devprodic["trls8"].write_attribute("Position", [float(self.trls8calc*1000)]) + print("trls8 " + str(self.trls8calc*1000)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Position", [' + str(self.trls8calc*1000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + print("done") + time.sleep(2) + self.applica.hide() + self.comenondetto.show() + self.lanciasalvatrigger.setStyleSheet("background-color: rgb(200, 200, 200)") + if self.comandifalliti == 1: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.funzionamento.setText('No errors') + self.funzionamento.setStyleSheet("background-color: rgb(0, 255, 0)") + + def doppiodisastro(self): + self.comandifalliti = 0 + try: + devprodic["tmu"].write_attribute("PllFundAlignment", self.FundAlignment_old) + print("tmu " + str(self.FundAlignment_old)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while write_attribute("PllFundAlignment", ' + str(self.FundAlignment_old) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + try: + tmp = devprodic["tmu"].get_attribute_config_ex('PllFundPhaseVolt') + if self.FundAlignment_old > 0: + tmp[0].alarms.min_alarm = str(1.0) + tmp[0].alarms.max_alarm = str(2.0) + else: + tmp[0].alarms.min_alarm = str(0.0) + tmp[0].alarms.max_alarm = str(1.0) + devprodic["tmu"].set_attribute_config(tmp) + except: + if self.FundAlignment_old > 0: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [1.0, 2.0] for attribute PllFundPhaseVolt' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + else: + self.comandifalliti = 1 + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [0.0, 1.0] for attribute PllFundPhaseVolt' + self.logbox.insertItem(0, voce) + time.sleep(3) + try: + devprodic["triggerEVR"].write_attribute('Chan1Delay', self.trgE1_old) + print('Chan1Delay ' + str(self.trgE1_old)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan1Delay", ' + str(self.trgE1_old) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.1) + try: + tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan1Delay') + tmp[0].alarms.min_alarm = str(self.trgE1_old - 1) + tmp[0].alarms.max_alarm = str(self.trgE1_old + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trgE1_old - 1) + ', ' + str(self.trgE1_old +1) + '] for attribute Chan1Delay' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + try: + devprodic["triggerEVR"].write_attribute('Chan2Delay', self.trgE2_old) + print('Chan2Delay ' + str(self.trgE2_old)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan2Delay", ' + str(self.trgE2_old) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.1) + try: + tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan2Delay') + tmp[0].alarms.min_alarm = str(self.trgE2_old - 1) + tmp[0].alarms.max_alarm = str(self.trgE2_old + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.trgE2_old - 1) + ', ' + str(self.trgE2_old +1) + '] for attribute Chan2Delay' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + try: + devprodic["triggerS1"].command_inout('SetDelay', [2, float(self.trgS1_old)/1000000000]) + print('S1Delay ' + str(self.trgS1_old)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trgS1_old)/1000000000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.1) + try: + devprodic["triggerS2"].command_inout('SetDelay', [2, float(self.trgS2_old)/1000000000]) + print('S2Delay ' + str(self.trgS2_old)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.trgS2_old)/1000000000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.1) + try: + devprodic["trls4"].write_attribute("Position", [self.trls4_old]) + print("trls4 " + str(self.trls4_old)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Position", ' + str([self.trls4_old]) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + try: + devprodic["trls8"].write_attribute("Position", [self.trls8_old]) + print("trls8 " + str(self.trls8_old)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Position", ' + str([self.trls8_old]) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + print("done") + time.sleep(1) + self.applica.show() + self.comenondetto.hide() + self.lanciasalvatrigger.setStyleSheet("background-color: rgb(200, 200, 200)") + if self.comandifalliti == 1: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.funzionamento.setText('No errors') + self.funzionamento.setStyleSheet("background-color: rgb(0, 255, 0)") + + def ripristino(self): + self.comandifalliti = 0 + try: + devprodic["tmu"].write_attribute("PllFundAlignment", self.zero_FundAlignment) + print("tmu " + str(self.zero_FundAlignment)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while write_attribute("PllFundAlignment", ' + str(self.zero_FundAlignment) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + try: + tmp = devprodic["tmu"].get_attribute_config_ex('PllFundPhaseVolt') + if self.zero_FundAlignment > 0: + tmp[0].alarms.min_alarm = str(1.0) + tmp[0].alarms.max_alarm = str(2.0) + else: + tmp[0].alarms.min_alarm = str(0.0) + tmp[0].alarms.max_alarm = str(1.0) + devprodic["tmu"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script load and set new threshold on attribute PllFundPhaseVolt' + self.logbox.insertItem(0, voce) + if self.zero_FundAlignment > 0: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [1.0, 2.0] for attribute PllFundPhaseVolt' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + else: + self.comandifalliti = 1 + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["tmu"]) + ' while the script set alarm threshold [0.0, 1.0] for attribute PllFundPhaseVolt' + self.logbox.insertItem(0, voce) + time.sleep(3) + try: + devprodic["triggerEVR"].write_attribute('Chan1Delay', self.zero_trgE1) + print('Chan1Delay ' + str(self.zero_trgE1)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan1Delay", ' + str(self.zero_trgE1) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.1) + try: + tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan1Delay') + tmp[0].alarms.min_alarm = str(self.zero_trgE1 - 1) + tmp[0].alarms.max_alarm = str(self.zero_trgE1 + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.zero_trgE1 - 1) + ', ' + str(self.zero_trgE1 +1) + '] for attribute Chan1Delay' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + try: + devprodic["triggerEVR"].write_attribute('Chan2Delay', self.zero_trgE2) + print('Chan2Delay ' + str(self.zero_trgE2)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while write_attribute("Chan2Delay", ' + str(self.zero_trgE2) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.1) + try: + tmp = devprodic["triggerEVR"].get_attribute_config_ex('Chan2Delay') + tmp[0].alarms.min_alarm = str(self.zero_trgE2 - 1) + tmp[0].alarms.max_alarm = str(self.zero_trgE2 + 1) + devprodic["triggerEVR"].set_attribute_config(tmp) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerEVR"]) + ' while the script set alarm threshold [' + str(self.zero_trgE2 - 1) + ', ' + str(self.zero_trgE2 +1) + '] for attribute Chan2Delay' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + try: + devprodic["triggerS1"].command_inout('SetDelay', [2, float(self.zero_trgS1)/1000000000]) + print('S1Delay ' + str(self.zero_trgS1)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS1"]) + ' while command_inout("SetDelay", [2,' + str(float(self.zero_trgS1)/1000000000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.1) + try: + devprodic["triggerS2"].command_inout('SetDelay', [2, float(self.zero_trgS2)/1000000000]) + print('S2Delay ' + str(self.zero_trgS2)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["triggerS2"]) + ' while command_inout("SetDelay", [2,' + str(float(self.zero_trgS2)/1000000000) + '])' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + time.sleep(0.1) + try: + devprodic["trls4"].write_attribute("Position", [self.zero_trls4]) + print("trls4 " + str(self.zero_trls4)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls4"]) + ' while write_attribute("Position", ' + str([self.zero_trls4]) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + try: + devprodic["trls8"].write_attribute("Position", [self.zero_trls8]) + print("trls8 " + str(self.zero_trls8)) + except: + voce = time.ctime()[11:19] + ' Error with ' + str(devprodic["trls8"]) + ' while write_attribute("Position", ' + str([self.zero_trls8]) + ')' + self.logbox.insertItem(0, voce) + self.comandifalliti = 1 + print("done") + time.sleep(1) + self.applica.show() + self.comenondetto.hide() + self.lanciasalvatrigger.setStyleSheet("background-color: rgb(200, 200, 200)") + if self.comandifalliti == 1: + self.funzionamento.setText('!! FAULT !!') + self.funzionamento.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.funzionamento.setText('No errors') + self.funzionamento.setStyleSheet("background-color: rgb(0, 255, 0)") + + +if __name__ == '__main__': + app = QApplication([]) + try: + tmpdim = sys.argv[1] + tmpdim = tmpdim.split('x') + dimensione = [float(tmpdim[0]), float(tmpdim[1])] + except: + screen = QDesktopWidget().screenGeometry() + dimensione = [screen.width()*0.7, screen.height()*0.7] + font_pannello = QFont("Arial", round(dimensione[0]/160.0), -1, False) + app.setFont(font_pannello) + window = MainWindow() + window.show() + app.exec_() + + + +#FEL2 +#trls4, trls8, tmu, sdg1, sdg2 +#0, 0, 1, 203820, 202945 +#0, 0, -1, 203814, 202939 +# +#0, 5675, 203826, 202945 +#0, -6000, 203814, 202945 +#0, -5000, 203815, 202945 +#0, -4000, 203816, 202945 +#0, -3000, 203817, 202945 +#0, -2000, 203818, 202945 +#0, -1000, 203819, 202945 +#0, 0, 203820, 202945 +#0, 1000, 203821, 202945 +#0, 2000, 203822, 202945 +#0, 3000, 203823, 202945 +#0, 4000, 203824, 202945 +#0, 5000, 203825, 202945 +#0, 6000, 203826, 202945 +#0, -5675, 203814, 202945 +#0, -4675, 203815, 202945 +#0, -3675, 203816, 202945 +#0, -2675, 203817, 202945 +#0, -1675, 203818, 202945 +#0, -0675, 203819, 202945 +#0, 325, 203820, 202945 +#0, 1325, 203821, 202945 +#0, 2325, 203822, 202945 +#0, 3325, 203823, 202945 +#0, 4325, 203824, 202945 +#0, 5325, 203825, 202945 +#0, 6325, 203826, 202945 +#0, 5350, 203814, 202945 +#1000, 0, 203821, 202946 +#2000, 0, 203822, 202947 +#2000, 1000, 203823, 202947 +#2000, -4675, 203817, 202947 +#-2000, 0, 203818, 202943 +#-2000, 2000, 203820, 202943 +#-2000, -4675, 203814, 202943 +#-2000, -1325, 203817, 202943 +# +# +#FEL1 +#trls4, trls8, tmu, sdg1, sdg2 -- GitLab