From 12251f85d42e187bc7b4d326858f905b32ca9dff Mon Sep 17 00:00:00 2001 From: "paolo.cinquegrana@elettra.eu" <paolo.cinquegrana@elettra.eu> Date: Tue, 2 May 2023 16:59:58 +0200 Subject: [PATCH] implementate correzioni richieste da beamline --- src/SluSourceMonitor.py | 215 ++++++++++++++++++++++++++++++++-------- 1 file changed, 176 insertions(+), 39 deletions(-) diff --git a/src/SluSourceMonitor.py b/src/SluSourceMonitor.py index b946c9c..a21c423 100644 --- a/src/SluSourceMonitor.py +++ b/src/SluSourceMonitor.py @@ -125,9 +125,11 @@ class MainWindow(QDialog): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.autodeterminazionedeipupoli = 0 + self.somethingred = 0 # top self.gruppobeamline = QFrame() self.STATOSLU = LineEditRO() + self.globallarm = LineEditRO() self.beamlineattiva = LineEditRO() self.menubeamline = QComboBox() self.menubeamline.addItem("None") @@ -145,13 +147,15 @@ class MainWindow(QDialog): lobeamline = QGridLayout() lobeamline.addWidget(QLabel("SLU state:"), 0, 0) lobeamline.addWidget(self.STATOSLU, 0, 1) - lobeamline.addWidget(QLabel("Active beamline:"), 0, 2) - lobeamline.addWidget(self.beamlineattiva, 0, 3) - lobeamline.addWidget(QLabel("|"), 0, 4) - lobeamline.addWidget(QLabel("switch to:"), 0, 5) - lobeamline.addWidget(self.menubeamline, 0, 6) - lobeamline.addWidget(self.calendar, 0, 7) - lobeamline.addWidget(self.paginawiki, 0, 8) + lobeamline.addWidget(QLabel("Alarms:"), 0, 2) + lobeamline.addWidget(self.globallarm, 0, 3) + lobeamline.addWidget(QLabel("Active beamline:"), 0, 4) + lobeamline.addWidget(self.beamlineattiva, 0, 5) + lobeamline.addWidget(QLabel("|"), 0, 6) + lobeamline.addWidget(QLabel("switch to:"), 0, 7) + lobeamline.addWidget(self.menubeamline, 0, 8) + lobeamline.addWidget(self.calendar, 0, 9) + lobeamline.addWidget(self.paginawiki, 0, 10) self.gruppobeamline.setLayout(lobeamline) #tab self.contienitab = QTabWidget() @@ -538,14 +542,12 @@ class MainWindow(QDialog): self.triggerDGQ1RELm.clicked.connect(self.sdgmeno) self.triggerDGQ1RELp = QPushButton('+1ns') self.triggerDGQ1RELp.clicked.connect(self.sdgmpiu) - self.delaycalc = QPushButton('Delay calculator') - self.delaycalc.clicked.connect(self.apridelaycalc) self.delaycalcL = QLabel('Move by (ns)') self.delaycalcS = QLineEdit() - self.delaycalcA = QPushButton('Apply') - self.delaycalcA.clicked.connect(self.muovidelayslu) - self.delaycalcU = QPushButton('Undo') - self.delaycalcU.clicked.connect(self.ripristinamemoD) + self.delaycalcCALC = QPushButton('Calculate') + self.delaycalcCALC.clicked.connect(self.calcoladelayslu) + self.delaycalcAPPLYUNDO = QPushButton('...') + self.delaycalcAPPLYUNDO.clicked.connect(self.muovidelayslu) self.scope6M1L = QLabel('Seed-Pil') self.scope6M1R1 = LineEditRO() self.scope6M1R2 = LineEditRO() @@ -623,8 +625,8 @@ class MainWindow(QDialog): lot5.addWidget(self.vergogna_canvas, riga, 0, 4, 3) lot5.addWidget(self.delaycalcL, riga, 3) lot5.addWidget(self.delaycalcS, riga, 4) - lot5.addWidget(self.delaycalcA, riga, 5) - lot5.addWidget(self.delaycalcU, riga, 6) + lot5.addWidget(self.delaycalcCALC, riga, 5) + lot5.addWidget(self.delaycalcAPPLYUNDO, riga, 6) lot5.addWidget(self.salvatrigger, riga, 7) riga += 1 lot5.addWidget(QHLine(), riga, 3, 1, 5) @@ -1159,6 +1161,7 @@ class MainWindow(QDialog): def update(self): t0 = time.time() + self.somethingred = 0 #calendario if self.autodeterminazionedeipupoli == 0: try: @@ -1166,7 +1169,7 @@ class MainWindow(QDialog): except: risposta_calendario = '' self.beamlineattiva.setText(risposta_calendario) - self.linea = risposta_calendario + self.linea = risposta_calendario ####8 log try: risposta_archiviatore = sacco['archiviatore'].context @@ -1176,8 +1179,12 @@ class MainWindow(QDialog): self.contesto_r.setText(risposta_archiviatore) if risposta_archiviatore in self.linea: self.monitor_log.setStyleSheet("background-color: rgb(0, 255, 0)") + self.contienitab.setTabText(6, "Log") else: self.monitor_log.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 + self.contienitab.setTabText(6, "!! Log !!") + ####1 stato SLU e interlock try: tmp = sacco['interlock'].read_attributes(['BSH', 'BSH_Abi', 'Cover', 'Door', 'Plc_status', 'Key']) @@ -1237,43 +1244,51 @@ class MainWindow(QDialog): else: self.monitor_abilitatoshutterlaser.setText('DISABLED') self.monitor_abilitatoshutterlaser.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 if self.linea == 'TIMEX' and tmp[1].value[1]: self.monitor_abilitatoshutterbeamline.setText('ENABLED') #timex self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(0, 255, 0)") elif self.linea == 'TIMEX' and tmp[1].value[1] != True: self.monitor_abilitatoshutterbeamline.setText('DISABLED') #timex self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 elif self.linea == 'DIPROI' and tmp[1].value[2]: self.monitor_abilitatoshutterbeamline.setText('ENABLED') #diproi self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(0, 255, 0)") elif self.linea == 'DIPROI' and tmp[1].value[2] != True: self.monitor_abilitatoshutterbeamline.setText('DISABLED') #diproi self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 elif self.linea == 'LDM' and tmp[1].value[3]: self.monitor_abilitatoshutterbeamline.setText('ENABLED') #ldm self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(0, 255, 0)") elif self.linea == 'LDM' and tmp[1].value[3] != True: self.monitor_abilitatoshutterbeamline.setText('DISABLED') #ldm self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 elif self.linea == 'TIMER' and tmp[1].value[4]: self.monitor_abilitatoshutterbeamline.setText('ENABLED') #timer self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(0, 255, 0)") elif self.linea == 'TIMER' and tmp[1].value[4] != True: self.monitor_abilitatoshutterbeamline.setText('DISABLED') #timer self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 elif self.linea == 'MAGNEDYN' and tmp[1].value[12]: self.monitor_abilitatoshutterbeamline.setText('ENABLED') #magnedyn self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(0, 255, 0)") elif self.linea == 'MAGNEDYN' and tmp[1].value[12] != True: self.monitor_abilitatoshutterbeamline.setText('DISABLED') #magnedyn self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 else: self.monitor_abilitatoshutterbeamline.setText('Unknown') #? self.monitor_abilitatoshutterbeamline.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 #monitor_porte, monitor_coperchi e plc if False in tmp[2].value[0:5]: self.monitor_coperchi.setText('Cover open') self.monitor_coperchi.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 else: self.monitor_coperchi.setText('All OK') self.monitor_coperchi.setStyleSheet("background-color: rgb(0, 255, 0)") @@ -1281,6 +1296,7 @@ class MainWindow(QDialog): if tmp[3].value[8] == False or tmp[3].value[9] == False: self.monitor_porte.setText('Doors open') self.monitor_porte.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 else: self.monitor_porte.setText('All OK') self.monitor_porte.setStyleSheet("background-color: rgb(0, 255, 0)") @@ -1288,12 +1304,14 @@ class MainWindow(QDialog): if tmp[3].value[13] == False: self.monitor_porte.setText('Doors open') self.monitor_porte.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 else: self.monitor_porte.setText('All OK') self.monitor_porte.setStyleSheet("background-color: rgb(0, 255, 0)") if tmp[4].value == False: self.monitor_piellecci.setText('PLC state') self.monitor_piellecci.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 else: self.monitor_piellecci.setText('All OK') self.monitor_piellecci.setStyleSheet("background-color: rgb(0, 255, 0)") @@ -1312,9 +1330,9 @@ class MainWindow(QDialog): self.monitor_porte.setStyleSheet("background-color: rgb(150, 150, 150)") self.monitor_coperchi.setText('Unknown') self.monitor_coperchi.setStyleSheet("background-color: rgb(150, 150, 150)") + self.somethingred += 1 ####2+7 SOURCE condizione_source = 0 - testo_source = '' #revolution try: tmp = sacco['revolution'].read_attributes(['State', 'Current']) @@ -1322,17 +1340,20 @@ class MainWindow(QDialog): risposta_correnteampli = tmp[1].value if str(tmp[1].quality) != 'ATTR_VALID': self.source_amplicurrent.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 else: condizione_source += 1 self.source_amplicurrent.setStyleSheet("background-color: rgb(0, 255, 0)") except: risposta_statoampli = '' risposta_correnteampli = -1 + self.somethingred += 1 # self.monitor_ampli.setText(risposta_statoampli + ', ' + str(round(risposta_correnteampli,1)) + ' A') self.source_amplistate.setText(risposta_statoampli) self.source_amplicurrent.setText(str(round(risposta_correnteampli, 1)) + ' A') if risposta_statoampli != 'RUNNING': self.source_amplistate.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 else: condizione_source += 1 self.source_amplistate.setStyleSheet("background-color: rgb(0, 255, 0)") @@ -1341,11 +1362,12 @@ class MainWindow(QDialog): tmp = sacco['attenuator'].Position except: tmp = -1 + self.somethingred += 1 self.source_attenuator.setText(str(round(tmp, 2)) + ' deg') #temperature temperaturefuori = 0 try: - tmp = sacco['SLtemperature'].read_attributes(['Pt100_CHLRREVO_01', 'Pt100_Elite_2', 'Pt100_Table2_SLR', 'Pt100_Table1_SLR', 'Pt100_SLU_BB1', 'Pt100_SLU_BB2', 'Pt100_SLU_UTDR']) + tmp = sacco['SLtemperature'].read_attributes(['Pt100_CHLRREVO_SLU', 'Pt100_Elite_SLU', 'Pt100_Table2_SLR', 'Pt100_Table1_SLR', 'Pt100_SLU_BB1', 'Pt100_SLU_BB2', 'Pt100_SLU_UTDR']) risposta_trevo = round(tmp[0].value, 1) risposta_telite = round(tmp[1].value, 1) risposta_tslrt2 = round(tmp[2].value, 1) @@ -1402,12 +1424,17 @@ class MainWindow(QDialog): risposta_tuh2 = -1 risposta_tslrt2 = -1 risposta_tslrt1 = -1 + self.somethingred += 1 try: - tmp = sacco['SLUtemperature'].read_attributes(['Temp_Pt100_TotemAIR', 'Temp_Pt100_TotemDOWN', 'Temp_Pt100_TotemUP', 'Temp_Pt100_BL']) + tmp = sacco['SLUtemperature'].read_attributes(['Temp_Pt100_TotemAIR', 'Temp_Pt100_TotemDOWN', 'Temp_Pt100_TotemUP', 'Temp_Pt100_LDM', 'Temp_Pt100_DIPROI', 'Temp_Pt100_TIMEX', 'Temp_Pt100_TIMER', 'Temp_Pt100_MAGNEDYN']) risposta_tta = round(tmp[0].value, 1) risposta_ttu = round(tmp[1].value, 1) risposta_ttd = round(tmp[2].value, 1) risposta_tldm = round(tmp[3].value, 1) + risposta_tdpi = round(tmp[4].value, 1) + risposta_ttmx = round(tmp[5].value, 1) + risposta_ttmr = round(tmp[6].value, 1) + risposta_tmag = round(tmp[7].value, 1) if str(tmp[0].quality) != 'ATTR_VALID': self.tem_totemair_r.setStyleSheet("background-color: rgb(255, 0, 0)") temperaturefuori += 1 @@ -1428,11 +1455,37 @@ class MainWindow(QDialog): temperaturefuori += 1 else: self.tem_ldm_r.setStyleSheet("background-color: rgb(0, 255, 0)") + if str(tmp[4].quality) != 'ATTR_VALID': + self.tem_dpi_r.setStyleSheet("background-color: rgb(255, 0, 0)") + temperaturefuori += 1 + else: + self.tem_dpi_r.setStyleSheet("background-color: rgb(0, 255, 0)") + if str(tmp[5].quality) != 'ATTR_VALID': + self.tem_tmx_r.setStyleSheet("background-color: rgb(255, 0, 0)") + temperaturefuori += 1 + else: + self.tem_tmx_r.setStyleSheet("background-color: rgb(0, 255, 0)") + if str(tmp[6].quality) != 'ATTR_VALID': + self.tem_tmr_r.setStyleSheet("background-color: rgb(255, 0, 0)") + temperaturefuori += 1 + else: + self.tem_tmr_r.setStyleSheet("background-color: rgb(0, 255, 0)") + if str(tmp[7].quality) != 'ATTR_VALID': + self.tem_mag_r.setStyleSheet("background-color: rgb(255, 0, 0)") + temperaturefuori += 1 + else: + self.tem_mag_r.setStyleSheet("background-color: rgb(0, 255, 0)") except: risposta_tta = -1 risposta_ttu = -1 risposta_ttd = -1 risposta_tldm = -1 + risposta_ttmr = -1 + risposta_ttmx = -1 + risposta_tdpi = -1 + risposta_tmag = -1 + temperaturefuori += 1 + self.somethingred += 1 self.source_amplipumptemperature.setText(str(risposta_trevo) + ' C') self.source_amplitemperature.setText(str(risposta_telite) + ' C') self.tem_revo_r.setText(str(risposta_trevo) + ' C. attribute sl/cooling/dmm_sl.01/Pt100_CHLRREVO_01') @@ -1445,18 +1498,20 @@ class MainWindow(QDialog): self.tem_totemup_r.setText(str(risposta_ttu) + ' C. attribute slu/cooling/dmm_slu.01/Temp_Pt100_TotemUP') self.tem_totemdown_r.setText(str(risposta_ttd) + ' C. attribute slu/cooling/dmm_slu.01/Temp_Pt100_TotemDOWN') self.tem_totemair_r.setText(str(risposta_tta) + ' C. attribute slu/cooling/dmm_slu.01/Temp_Pt100_TotemAIR') -# self.tem_tmr_r.setText(str() + ' C. attribute slu/cooling/dmm_slu.01/') -# self.tem_tmx_r.setText(str() + ' C. attribute slu/cooling/dmm_slu.01/') -# self.tem_dpi_r.setText(str() + ' C. attribute slu/cooling/dmm_slu.01/') - self.tem_ldm_r.setText(str(risposta_tldm) + ' C. attribute slu/cooling/dmm_slu.01/Temp_Pt100_BL') -# self.tem_mag_r.setText(str() + ' C. attribute slu/cooling/dmm_slu.01/') + self.tem_tmr_r.setText(str(risposta_ttmr) + ' C. attribute slu/cooling/dmm_slu.01/Temp_Pt100_TIMER') + self.tem_tmx_r.setText(str(risposta_ttmx) + ' C. attribute slu/cooling/dmm_slu.01/Temp_Pt100_TIMEX') + self.tem_dpi_r.setText(str(risposta_tdpi) + ' C. attribute slu/cooling/dmm_slu.01/Temp_Pt100_DIPROI') + self.tem_ldm_r.setText(str(risposta_tldm) + ' C. attribute slu/cooling/dmm_slu.01/Temp_Pt100_LDM') + self.tem_mag_r.setText(str(risposta_tmag) + ' C. attribute slu/cooling/dmm_slu.01/Temp_Pt100_MAGNEDYN') if temperaturefuori > 0: self.monitor_tempera.setStyleSheet("background-color: rgb(255, 0, 0)") self.monitor_tempera.setText('check tab Temperature') self.contienitab.setTabText(5, "!! Temperature !!") + self.somethingred += 1 else: self.monitor_tempera.setStyleSheet("background-color: rgb(0, 255, 0)") self.monitor_tempera.setText('all OK') + self.contienitab.setTabText(5, "Temperature") #source feedback risultatofeedback = '' try: @@ -1465,6 +1520,7 @@ class MainWindow(QDialog): if statofbin != 'ON': self.source_ampliFBin.setStyleSheet("background-color: rgb(255, 0, 0)") risultatofeedback = 'NOK' + self.somethingred += 1 else: self.source_ampliFBin.setStyleSheet("background-color: rgb(0, 255, 0)") condizione_source += 1 @@ -1473,12 +1529,14 @@ class MainWindow(QDialog): self.source_ampliFBin.setText('unknown') self.source_ampliFBin.setStyleSheet("background-color: rgb(255, 0, 0)") risultatofeedback = 'NOK' + self.somethingred += 1 try: statofbtime = str(sacco['slelitefbtime'].State()) self.source_ampliFBtime.setText(statofbtime) if statofbtime != 'ON': self.source_ampliFBtime.setStyleSheet("background-color: rgb(255, 0, 0)") risultatofeedback = 'NOK' + self.somethingred += 1 else: self.source_ampliFBtime.setStyleSheet("background-color: rgb(0, 255, 0)") condizione_source += 1 @@ -1487,32 +1545,40 @@ class MainWindow(QDialog): self.source_ampliFBtime.setText('unknown') self.source_ampliFBtime.setStyleSheet("background-color: rgb(255, 0, 0)") risultatofeedback = 'NOK' + self.somethingred += 1 #energy try: tmp = sacco['ems8'].read_attribute('Corrected_energy') risposta_ems8 = tmp.value if str(tmp.quality) != 'ATTR_VALID': self.source_launchenergy.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 else: self.source_launchenergy.setStyleSheet("background-color: rgb(0, 255, 0)") except: risposta_ems8 = -1 + self.somethingred += 1 self.source_launchenergy.setText(str(round(risposta_ems8, 3)) + ' mJ') try: tmp = sacco['ems3'].read_attribute('Corrected_energy') risposta_ems3 = tmp.value if str(tmp.quality) != 'ATTR_VALID': self.source_amplienergy.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 else: self.source_amplienergy.setStyleSheet("background-color: rgb(0, 255, 0)") condizione_source += 1 except: risposta_ems3 = -1 + self.somethingred += 1 self.source_amplienergy.setText(str(round(risposta_ems3, 3)) + ' mJ') if condizione_source < 7: self.monitor_ampli.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 + self.contienitab.setTabText(1, "!! Source !!") else: self.monitor_ampli.setStyleSheet("background-color: rgb(0, 255, 0)") + self.contienitab.setTabText(1, "Source") self.monitor_ampli.setText(risposta_statoampli + ', ' + str(round(risposta_correnteampli,1)) + ' A, fb ' + risultatofeedback + '. Launch energy ' + str(round(risposta_ems8, 2)) + ' mJ') ####3 transport feedback altrifeedback = [] @@ -1568,20 +1634,25 @@ class MainWindow(QDialog): self.monitor_pointing.setText('Feedback ' + READ_statofeedback + ', sensors(ccd) ' + str(READ_pesofeedback) + '/5') if READ_pesofeedback < 4: self.monitor_pointing.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 + self.contienitab.setTabText(2, "!! Pointing FB !!") elif READ_pesofeedback < 5: self.monitor_pointing.setStyleSheet("background-color: rgb(255, 255, 0)") + self.contienitab.setTabText(2, "Pointing FB") elif READ_pesofeedback == 5: self.monitor_pointing.setStyleSheet("background-color: rgb(0, 255, 0)") + self.contienitab.setTabText(2, "Pointing FB") if READ_statofeedback == 'ON': self.feedbackstato.setStyleSheet("background-color: rgb(0, 255, 0)") elif READ_statofeedback == 'STANDBY' or READ_statofeedback == 'WARNING': self.feedbackstato.setStyleSheet("background-color: rgb(255, 255, 0)") - self.monitor_pointing.setStyleSheet("background-color: rgb(0, 255, 0)") + self.monitor_pointing.setStyleSheet("background-color: rgb(255, 255, 0)") elif READ_statofeedback == 'OFF' or READ_statofeedback == 'ALARM': self.feedbackstato.setStyleSheet("background-color: rgb(255, 0, 0)") - self.monitor_pointing.setStyleSheet("background-color: rgb(0, 255, 0)") + self.monitor_pointing.setStyleSheet("background-color: rgb(255, 0, 0)") else: self.feedbackstato.setStyleSheet("background-color: rgb(150, 150, 150)") + self.monitor_pointing.setStyleSheet("background-color: rgb(150, 150, 150)") if 'ON' in altrifeedback: self.feedbackstopothers.setDisabled(0) self.feedbackstopothers.setStyleSheet("background-color: #ff0000") @@ -1868,6 +1939,42 @@ class MainWindow(QDialog): self.scope6M4R2.setText('std ' + str(round(-1, 1))) self.scope6M5R2.setText('std ' + str(round(-1, 1))) self.scope6M6R2.setText('std ' + str(round(-1, 1))) + if self.linea == 'TIMER': + self.memo_tmr_W.setEnabled(1) + self.memo_tmx_W.setDisabled(1) + self.memo_dpi_W.setDisabled(1) + self.memo_ldm_W.setDisabled(1) + self.memo_mag_W.setDisabled(1) + elif self.linea == 'TIMEX': + self.memo_tmr_W.setDisabled(1) + self.memo_tmx_W.setEnabled(1) + self.memo_dpi_W.setDisabled(1) + self.memo_ldm_W.setDisabled(1) + self.memo_mag_W.setDisabled(1) + elif self.linea == 'DIPROI': + self.memo_tmr_W.setDisabled(1) + self.memo_tmx_W.setDisabled(1) + self.memo_dpi_W.setEnabled(1) + self.memo_ldm_W.setDisabled(1) + self.memo_mag_W.setDisabled(1) + elif self.linea == 'LDM': + self.memo_tmr_W.setDisabled(1) + self.memo_tmx_W.setDisabled(1) + self.memo_dpi_W.setDisabled(1) + self.memo_ldm_W.setEnabled(1) + self.memo_mag_W.setDisabled(1) + elif self.linea == 'MAGNEDYN': + self.memo_tmr_W.setDisabled(1) + self.memo_tmx_W.setDisabled(1) + self.memo_dpi_W.setDisabled(1) + self.memo_ldm_W.setDisabled(1) + self.memo_mag_W.setEnabled(1) + else: + self.memo_tmr_W.setEnabled(1) + self.memo_tmx_W.setEnabled(1) + self.memo_dpi_W.setEnabled(1) + self.memo_ldm_W.setEnabled(1) + self.memo_mag_W.setEnabled(1) try: tmp = sacco['totem_delay'].read_attributes(['State', 'Position']) delaytotemps = str(round(tmp[1].value, 3)) + ' ps' @@ -2120,7 +2227,10 @@ class MainWindow(QDialog): pressione__UTDR = str(tmp.value) self.sensoreUTDR_read.setText(pressione__UTDR + ' mbar') if str(tmp.quality) != 'ATTR_VALID': + self.sensoreUTDR_read.setStyleSheet("background-color: rgb(255, 0, 0)") rosso_pressione += 1 + else: + self.sensoreUTDR_read.setStyleSheet("background-color: rgb(0, 255, 0)") except: pressione__UTDR = '-1' self.sensoreUTDR_read.setText(pressione__UTDR + ' mbar') @@ -2143,6 +2253,9 @@ class MainWindow(QDialog): self.sensoreUH3_read.setText(pressione__UH3 + ' mbar') if str(tmp.quality) != 'ATTR_VALID': rosso_pressione += 1 + self.sensoreUH3_read.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.sensoreUH3_read.setStyleSheet("background-color: rgb(0, 255, 0)") except: pressione__UH3 = '-1' self.sensoreUH3_read.setText(pressione__UH3 + ' mbar') @@ -2165,6 +2278,9 @@ class MainWindow(QDialog): self.sensoreEHF1_read.setText(pressione__EHF1 + ' mbar') if str(tmp.quality) != 'ATTR_VALID': rosso_pressione += 1 + self.sensoreEHF1_read.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.sensoreEHF1_read.setStyleSheet("background-color: rgb(0, 255, 0)") except: pressione__EHF1 = '-1' self.sensoreEHF1_read.setText(pressione__EHF1 + ' mbar') @@ -2181,6 +2297,9 @@ class MainWindow(QDialog): self.sensoreEHF3_read.setText(pressione__EHF3 + ' mbar') if str(tmp.quality) != 'ATTR_VALID': rosso_pressione += 1 + self.sensoreEHF3_read.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.sensoreEHF3_read.setStyleSheet("background-color: rgb(0, 255, 0)") except: pressione__EHF3 = '-1' self.sensoreEHF3_read.setText(pressione__EHF3 + ' mbar') @@ -2205,8 +2324,11 @@ class MainWindow(QDialog): self.monitor_vacuum.setText('UH: ' + str(pressione__UH3) + ', EHF1: ' + str(pressione__EHF1) + ', EHF2: ' + str(pressione__EHF3) + ', ' + pmpvlv) if rosso_pressione > 0: self.monitor_vacuum.setStyleSheet("background-color: rgb(255, 0, 0)") + self.somethingred += 1 + self.contienitab.setTabText(4, "!! Vacuum !!") else: self.monitor_vacuum.setStyleSheet("background-color: rgb(0, 255, 0)") + self.contienitab.setTabText(4, "Vacuum") ####12 ldm if self.contienitab.currentIndex() == 8: try: @@ -2246,6 +2368,12 @@ class MainWindow(QDialog): self.LDM_feedback2_state.setText(str(sacco['ldm_fb2'].State())) except: self.LDM_feedback2_state.setText('#####') + if self.somethingred != 0: + self.globallarm.setText('Alarm ON') + self.globallarm.setStyleSheet("background-color: rgb(255, 0, 0)") + else: + self.globallarm.setText('All OK') + self.globallarm.setStyleSheet("background-color: rgb(0, 255, 0)") # print(str(time.time()-t0)) @@ -2426,7 +2554,6 @@ class MainWindow(QDialog): print('error fb ldm') def neresterasoltantounoSEQ(self): - print('ffffffffffffffffffff') if self.linea == 'TIMER': try: sacco['tmxfbsequencer'].command_inout('Init') @@ -2968,9 +3095,6 @@ class MainWindow(QDialog): sacco['triggerSL'].write_attribute(attribrutto, valore) csvfile.close() - def apridelaycalc(self): - os.system("/runtime/bin/slu-delay-calculator-gui &") - def apridalaytotem(self): os.system('/runtime/bin/motion_controller slu/motor/trls_slu.05 -title SLU_TOTEM_DELAY_LINE &') @@ -3036,7 +3160,7 @@ class MainWindow(QDialog): gol = sacco['triggerDGQ1'].Chan2Delay + tmp sacco['triggerDGQ1'].write_attribute('Chan2Delay', gol) - def muovidelayslu(self): + def calcoladelayslu(self): delta_t = float(self.delaycalcS.text()) sacco['trls8_delay'].write_attribute('Speed', 100) #salvo i valori attuali @@ -3070,14 +3194,27 @@ class MainWindow(QDialog): print('trls8 form ' + str(self.memoDtrls8) + ' to ' + str(self.trls8calc)) print('evr ch2 from ' + str(self.memoDevrch2) + ' to ' + str(self.trg_elite2calc)) print('sdg from ' + str(self.memoDdgqch2) + ' to ' + str(self.trg_S2calc)) - sacco['triggerSL'].write_attribute('Chan2Delay', self.trg_elite2calc) - sacco['triggerDGQ1'].write_attribute('Chan2Delay', self.trg_S2calc) - sacco['trls8_delay'].write_attribute('Position', self.trls8calc) - - def ripristinamemoD(self): - sacco['triggerSL'].write_attribute('Chan2Delay', self.memoDevrch2) - sacco['triggerDGQ1'].write_attribute('Chan2Delay', self.memoDdgqch2) - sacco['trls8_delay'].write_attribute('Position', self.memoDtrls8) + self.delaytotemW.setText(str(round(sacco['totem_delay'].Position, 3))) + self.delay8W.setText(str(round(self.trls8calc, 3))) + self.triggermainW.setText(str(round(self.trg_elite2calc, 3))) + self.triggerDGQ1W.setText(str(round(self.trg_S2calc, 3))) + self.delaycalcAPPLYUNDO.setText('Apply') +# sacco['triggerSL'].write_attribute('Chan2Delay', self.trg_elite2calc) +# sacco['triggerDGQ1'].write_attribute('Chan2Delay', self.trg_S2calc) +# sacco['trls8_delay'].write_attribute('Position', self.trls8calc) + + def muovidelayslu(self): + if self.delaycalcAPPLYUNDO.text() == 'UNDO': + sacco['triggerSL'].write_attribute('Chan2Delay', self.memoDevrch2) + sacco['triggerDGQ1'].write_attribute('Chan2Delay', self.memoDdgqch2) + sacco['trls8_delay'].write_attribute('Position', self.memoDtrls8) + elif self.delaycalcAPPLYUNDO.text() == 'Apply': + sacco['triggerSL'].write_attribute('Chan2Delay', self.trg_elite2calc) + sacco['triggerDGQ1'].write_attribute('Chan2Delay', self.trg_S2calc) + sacco['trls8_delay'].write_attribute('Position', self.trls8calc) + self.delaycalcAPPLYUNDO.setText('UNDO') + else: + print('no') def scope6CW(self): sacco['scope6'].command_inout('ClearSweeps') -- GitLab