Download presentation
Presentation is loading. Please wait.
1
Detector Monitoring Centralised Displaying
D.Verkindt & G.Hemming
2
A “Virgo quality flags monitor” web page is currently produced by QcMoni
A more general “Quality monitor” web page is going to be produced taking as input xml files produced by QcMoni, the xxxMoni and BigBrother (thanks to G. Hemming, V. Dattilo, R.Spagnoli, F. Carbognani, O.Roques, D. Verkindt) 05/02/2019
3
Detector Monitoring Outputs
quality flags sent to raw data stream wwwcascina.virgo.infn.it/sDoc/runStatus/QcMoni.html (html web page) wwwcascina.virgo.infn.it/sDoc/runStatus/QcMoni.php (xml file) Raw data + h + quality flags raw.ffl raw data raw data FbmSt RawStol FbmMain FbtMain trend.ffl raw data trend data builder FbmDM FbmQc QcMoni (v1r0) xxxMoni quality flags Html Pages Xml files Html Page Xml file 05/02/2019
4
QcMoni xml file <?php $xmlstr = <<<XML <?xml version='1.0' standalone='yes'?> <qcmoni> <qcheader> <qctitle>Virgo Quality Flags Monitor</qctitle> <qcscience_id>2</qcscience_id> <qcscience_color>#FF2222</qcscience_color> <qcscience_modelink>QcMoni_Mode.html</qcscience_modelink> <qcscience_title>Adjusting (not locked)</qcscience_title> <qcscience_adjustreason>Switch_on_B1_not_done ... ITF_state_not_final ...</qcscience_adjustreason> <qcitfstate_color>#CCFFCC</qcitfstate_color> <qcitfstate_modelink>QcMoni_Mode.html</qcitfstate_modelink> <qcitfstate_value>0</qcitfstate_value> <qcframe_number>2844</qcframe_number> <qcframe_time>Fri Mar 3 08:39: </qcframe_time> <qcframe_gps> </qcframe_gps> <qcframe_latency>3.07</qcframe_latency> <qcframe_overallflag>0xbb00000</qcframe_overallflag> <qcframe_dataquality>0xe000000c</qcframe_dataquality> </qcheader> <qcsubflag> <flag_name>Ali_PR</flag_name> <flag_section>Qc_Alignment</flag_section> <flag_value>0</flag_value> <flag_status>0</flag_status> </qcsubflag> … 05/02/2019
5
Qc_Suspensions xml file
<?php $xmlstr = <<<XML <?xml version='1.0' standalone='yes'?> <Qc_Suspensions> <qcheader> <qctitle>Qc_Suspensions quality flags</qctitle> <qcflag_value> </qcflag_value> <qcflag_color>#FF2222</qcflag_color> <qc_oplink>/opt/w3/sDoc/runStatus/Qc_Suspensions_OP.html</qc_oplink> <qcitfstate_color>#CCFFCC</qcitfstate_color> <qcitfstate_value>0</qcitfstate_value> <qcframe_number>6673</qcframe_number> <qcframe_time>Thu Mar 2 16:20: </qcframe_time> <qcframe_gps> </qcframe_gps> <qcframe_latency>3.14</qcframe_latency> <qcframe_overallflag>0x250806</qcframe_overallflag> </qcheader> <qcsubflag> <flag_name>PR_ID</flag_name> <flag_level>0</flag_level> <flag_section>Qc_Suspensions</flag_section> <flag_value>0</flag_value> <flag_status>0</flag_status> </qcsubflag> … 05/02/2019
6
QcMoni Configuration … QCHTML /opt/w3/sDoc/runStatus/QcMoni.html 5
QCXML /opt/w3/sDoc/runStatus/QcMoni.php 5 /*** Assigment of Qc flag to bits of Qc_Moni_Overall_flag ***/ ASSIGN_BIT Qc_Ti ASSIGN_BIT Qc_Detection ASSIGN_BIT Qc_Vacuum ASSIGN_BIT Qc_Injection ASSIGN_BIT Qc_Suspensions 25 ASSIGN_BIT Qc_Environment 24 ASSIGN_BIT Qc_Alignment ASSIGN_BIT Qc_Servers ASSIGN_BIT Qc_Locking /*** Each of those channels must be within the two thresholds, otherwise we go out of science mode ***/ AUTO_ADJUST Alp_Locking..LOCK_STEP_STATUS "ITF_state_not_final" AUTO_ADJUST Pr_SW_B "Switch_on_B1_not_done" AUTO_ADJUST Oo_PI_PrgState "Output_Bench_Picomotors_used" /*** If each of those channels is within its two thresholds, we say that ITF is locked ***/ QC_ITFLOCK Alp_Locking..LOCK_STEP_STATUS "ITF_not_locked" QC_ITFLOCK Pr_B5_DC "ITF_not_locked" /*** Name of the channel that provide the ITF state ***/ QC_ITFSTATE Alp_Locking..LOCK_STEP_STATUS 05/02/2019
7
Provide possibility to amend page display at user-level
Web page objectives Incorporate data from QcMoni, Big Brother, Error Logger and IMMS into central display Provide possibility to amend page display at user-level Introduce fail-safes in case of problems Manage alarm flags 05/02/2019
8
Scripting Language - PHP 5.1.2 Data - XML
Hardware and software Machine - SLVTF Web Server - Apache Scripting Language - PHP 5.1.2 Data - XML 05/02/2019
9
Work to date – Centralised data - 1
The DM System creates a data array from three XML files and outputs them using PHP. 05/02/2019
10
Work to date – Centralised data - 2
Two Xml files are provided: One by QcMoni One by Big Brother 471 sub-flags in total – 127 from QcMoni and 344 from Big Brother. Example flag structure: <qcsubflag> <flag_name></flag_name> <flag_section></flag_section> <flag_value></flag_value> <flag_status></flag_status> </qcsubflag> 05/02/2019
11
Work to date – Centralised data - 3
All flags in a section array are checked for their status. The overall section flag is then set to the colour of the most critical flag (sub-flags also use the same criteria). Order of significance: Red (Error) Dark Grey (Channel corrupted) Grey (Channel not present) Yellow (warning) Green (No problem) 05/02/2019
12
Work to date – Amending page display
The third file is a configuration file, updated by administrators (V.Dattilo & R.Spagnoli). It provides the possibility to update how the page is displayed in the following ways: Table row height Number of columns used in each section table The recovery procedure URL used in case of non-green sub-flag The order in which a subflag appears on screen Decide in which section to display the sub-flag 05/02/2019
13
Work to date – Fail-safes - 1
Default - Javascript page refresh every 5s File missing? Display message and re-attempt refresh every 5s: 05/02/2019
14
Work to date – Fail-safes - 2
Data in arrays? Set refresh to 400ms. Unforeseen error? Refresh after 6s QcMoni data file not updating? Check GPS and Frame Number from last refresh. If they are the same, increment refresh_check variable by 1. When refresh_check variable reaches 3, display red flag across the entire width of the page, stating that the file is not updating and the amount of seconds that it has not been updating. 05/02/2019
15
Position coordinates instead of flag order
Work planned - 1 Position coordinates instead of flag order Monitor fail-safes & improve where required Incorporate other flags (IMMS etc.) Link to channels displaying error signals Supply individual sections from xxxMoni processes. (Detailed in next slide) 05/02/2019
16
Work planned - 2 Supplying data from xxxMoni processes 05/02/2019
17
Work planned - 3 Receiving data from QcMoni enables the overall section flag colour to be determined by the state of the flags in the related array: By receiving data directly from the xxxMoni processes a new sub-layer is added, enabling the large number of Big Brother-provided flags to be better utilised. 05/02/2019
18
Potential longer-term developments
Graphical output Topological system Warning notification system Other ideas? 05/02/2019
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.