Reports 1-1 of 1 Clear search Modify search
AdV-COM (automation)
bersanetti, lumaca, rocchi, ballardin - 19:11 Saturday 08 October 2022 (57352) Print this report
Integration of the TCS_MAIN node and automation of absorption measurements

The automation was updated today with the automatic procedure for the TCS absorption measurements using the HWSs; the work is not completely finalized yet, but most features are working. I remind that for the measurement one has to act ONLY on ITF_LOCK. The software changes are here described:

  • PyHWS automation server: this very basic pyserver has been updated in order to use the new version of the Python code needed to launch the HWS acquisition: hwsAna.py v3 located in /virgoDev/TCS_HWS/Python/HWS_ANA/v3/;
  • TCS_MAIN Metatron node: this is the place where most of things happen: it has been updated with many new states, on a single path which starts from DOWN and finishes in the same place. All the parameters needed for the measurement live in the [YAG_ABS_MEAS] section of TCS_MAIN.ini, the most important (and meaningful to change) ones being: which HWS to use (target_hws), which HWS configuration file we should use, how long we acquire with the HWS while the ITF is still locked (unlock_wait), how long we acquire with the ITF unlocked (PRM & SRM kept aligned) with the Central Heating turned off (cooldown_time), how long we do the very same after we turn the CH back on (warmup_time); the new/updated states are:
    • DOWN (index = 1): starting and ending state of the absoprtion measurement path; in here, a bunch of DQ channels are generated and set to 0: DQ_META_TCS_FAULT, DQ_META_TCS_DAS_CALI_ON, DQ_META_TCS_HWS_DET_ON, DQ_META_TCS_HWS_INJ_ON;
    • ABSORPTION_MEAS_INIT (index = 25): here we setup the measurement, with the ITF still locked in CARM_NULL_1F: the SLED of the selected HWS is turned on (and the other one is turned off), we start the acquisition of the "ref" images, then the acquisition of the "live" ones; then we wait forĀ unlock_wait seconds; while doing all this, the channel DQ_META_TCS_HWS_[INJ,DET]_ON is set to 1; the GUI will notify the remaining time to be waited (Figure 1);
    • ABSORPTION_MEAS_LOCK (index = 26): steady state, nothing is done here (we need this for state requests by ITF_LOCK);
    • ABSORPTION_MEAS_COOLING (index = 27): this state will be asked after the ITF will unlock, keeping PRM and SRM aligned; a long cooldown_time is waited here, then the Central Heating will be turned on again; the GUI will notify the remaining time to be waited (Figure 2);
    • ABSORPTION_MEAS_COOLDOWN (index = 28): steady state, nothing is done here (we need this for state requests by ITF_LOCK);
    • ABSORPTION_MEAS_WARMING (index = 29): here we continue the acquisition, which will last for another warmup_time seconds, but now the CH is back on (same powers as for the lock acquisition); the GUI will notify the remaining time to be waited (Figure 3); at the end, the SLED will be turned off and the channel DQ_META_TCS_HWS_[INJ,DET]_ON is set to 0;
    • ABSORPTION_MEAS_WARMUP (index = 30): steady state, nothing is done here (we need this for state requests by ITF_LOCK).
  • ITF_LOCK Metatron node: here several additions have been made, and a few changes as well:
    • now ITF_LOCK MANAGES TCS_MAIN: the latter is supposed to be DOWN for anything different from the absorption measurement path described above; it is currently NOT used for the lock acquisition and it should not be driven by hand (unless its has to be put DOWN because something went wrong); for this reason, TCS_MAIN is no longer "optional" on VPM;
    • ITF_LOCK now also reads the TCS_MAIN.ini configuration file, as it has to know which HWS is in use; also, the logic for keeping PRM and SRM aligned has been improved, and this "KEEP_ALIGNED" thing will, in any case, work ONLY if DET_MAIN is in SHUTTER_CLOSED; the commands for the Central Heating have been embedded in this logic which should, in principle, also work only when a DQ_META_TCS_HWS_[INJ,DET]_ON channel is set to 1; however, for some reason ITF_LOCK is not able to read it from the DAQ, even after the addition of the whole V1:DQ_META* ensemble to the FDIN_TAG: to be investigated, for the time being the KEEP_ALIGNED feature is only constrained by the usual boolean flag and the DET_MAIN state;
    • new states have been added, which form the absorption measurement path and, ultimately, heavily rely on the aforementioned new states of TCS_MAIN: they are:
      • ABSORPTION_MEAS_INIT (index = 106, as it happens after CARM_NULL_1F): this state HAS to be selected as first thing while doing the measurement (after setting keep_aligned = True): it will be entered immediately after CARM_NULL_1F, but a long time (full_lock_timer parameter in the [ITF_LOCK] section) will be waited before doing anything; this corresponds to the "2h of CARM Null"; after the timer, the corresponding state of TCS_MAIN will be executed; in any case, as soon as ITF_LOCK (not TCS_MAIN) enter this state, one can select already the final state (spoiler: ABSORPTION_MEAS_DONE), as at this point only a single path will be possible; more on this at the very end of this writing;
      • after this, given the way edges between the states have been defined, the ITF will go to DOWN in the "KEEP_ALIGNED" configuration (if the flag has been set...), then it will move to the next states;
      • ABSORPTION_MEAS_COOLDOWN (index = 3, as it happens after DOWN): here we wait for the long cooldown phase of the measurement, nothing is really done in here;
      • ABSORPTION_MEAS_WARMUP (index = 4): again, just a big wait here, while TCS_MAIN does its thing;
      • ABSORPTION_MEAS_DOWN (index = 5): here the measurement has finished, so we bring TCS_MAIN to DOWN and DRMI_LOCK to MISALIGNED_PR_SR; at this point one could restart the lock acquisition, but remember to put keep_aligned back to False first; the GUI will kindly remind you of this;
    • the ITF_LOCK node will display the countdown for the "2h of CARM Null" (Figure 4), while the other ones are displayed by TCS_MAIN.
  • DRMI_LOCK Metatron node: up to now, due to several reasons (layerization being the main one) the PR could be parked immediately when entering DOWN; this is not happening anymore, and the parking/not-parking will be dealt with only in the dedicated states MISALIGNING_PR_SR and KEEPING_ALIGNED_PR_SR, which are in any case the only possible states after DOWN.

The new states layouts of TCS_MAIN and ITF_LOCK are attached (DRMI_LOCK does not need one).

All of this has been tested several times, once in CARM_NULL_1F and the other just in DRMI_3F (as it really doesn't matter, automation-wise); almost all of the previous works, with a few either major or minor points:

  • making a loop through the DOWN state is really an unpleasant thing to do and it could easily lead to corner cases (the first one being selecting immediately ABSORPTION_MEAS_DOWN instead of ABSORPTION_MEAS_INIT first, and ABSORPTION_MEAS_DOWN later, as stated above); making a dedicated DOWN clone is an idea, but code duplication never ends well; a possible solution could be to functionalize as much as possible the DOWN state, so that the function itself would be the only point where to modify the code, and then the function just gets called in several places; to be studied offline;
  • even the new, Python-based hwsAna software interrupts the images acquisition and/or the wavefronts generation after one or two iterations, for reasons that are not clear (especially now that Matlab is out of the picture); this has to be studied offline as well.

After the activity, we relocked the ITF in CARM_NULL_1F with the Failsafe on; unattended locking started at 15:10:09 UTC.

Images attached to this report
Non-image files attached to this report
Comments to this report:
bersanetti - 18:24 Friday 03 March 2023 (59123) Print this report

I recall here the procedure in order to have a YAg Absorption Measurement done automatically with Metatron; the full description of the procedure is in the original entry of this comment.

  • The first thing is to lock up to CARM Null (either 3f or 1f);
  • check that the parameters of the [YAG_ABS_MEAS] section of TCS_MAIN.ini are consistent with the HWS configuration file;
  • then one must setĀ  keep_aligned = True in the ITF_LOCK.ini configuration file; only ITF_LOCK is needed to be steered in order to perform the measurement;
  • at this point one HAS to select the ABSORPTION_MEAS_INIT state as first thing while doing the measurement: it will be entered immediately after CARM_NULL_*F, but a long time (full_lock_timer parameter in the [ITF_LOCK] section) will be waited before doing anything; this corresponds to the "1h of CARM Null" (now it is 1200 s); after the timer, the corresponding state of TCS_MAIN will be executed; in any case, a few seconds later once ITF_LOCK (not TCS_MAIN) enters this state, one can select already the final state (ABSORPTION_MEAS_DONE), as at this point only a single path will be possible; nothing else is needed;
  • then the following will happen:
    • after this, given the way edges between the states have been defined, the ITF will go to DOWN in the "KEEP_ALIGNED" configuration, then it will move to the next states;
    • ABSORPTION_MEAS_COOLDOWN (index = 3, as it happens after DOWN): here we wait for the long cooldown phase of the measurement, nothing is really done in here;
    • ABSORPTION_MEAS_WARMUP (index = 4): again, just a big wait here, measurement in progress with the CH back on;
    • ABSORPTION_MEAS_DOWN (index = 5): here the measurement has finished, so we bring TCS_MAIN to DOWN and DRMI_LOCK to MISALIGNED_PR_SR; at this point one could restart the lock acquisition, but remember to put keep_aligned back to False first; the GUI will kindly remind you of this, and the automation will anyway misalign them in case they are not when a new lock acquisition is attempted;
  • during the measurement, the ITF_LOCK node will display the countdown for the "1h of CARM Null", while the other ones are displayed by TCS_MAIN.
Search Help
×

Warning

Error

The present report has been modified outside this window. Please check for its integrity in the main page.

Refreshing this page will move this report into drafts.

×