https://confluence.slac.stanford.edu/pages/viewpage.action?pageId=396375975
Overview
The goal of integrating ATEF into our checkout procedure is to check that no static PVs get modified under the radar. However, it is unrealistic to manually configure PV comparisons on a large scale in ATEF. To mass process and configure the PV comparisons in ATEF, we have developed this tool to: 1) Recognize and extract the static PVs across different IOCs and establish a baseline table for default values. 2) Automatically construct the configuration file for tens of thousands of PVs in ATEF checkout. Language: Python
Data Flowchart
Summary
This readme will show you the steps to generate a config file for a hutch and then how to run that config file to see which PVs have changed from the config file. To begin, make sure that you have access to the SLAC Linux network and the required permissions.
The main function and output is the generation of a .json configuration file. The .json files contain PVs relevant to the hutch or the devices/IOCs and their static values that are to be checked by ATEF. The script that generates the .json essentially samples the PVs for a specified number of iterations for a specified amount of time. At the end of the sampling, the PVs that have not changed are saved to the .json file thus capturing the "static PVs" during the script sampling iterations.
The .json files that are generated can then be natively run through atef to give an indication of which of the PVs have changed from when the config file was generated.
Steps
source /reg/g/pcds/engineering_tools/latest-released/scripts/pcds_conda
Before running the script, run this command to see the help information about usage:
python intra_hutch_main.py -h
To generate the configuration JSON file, run the following command:
ssh las-console
cd ATEF_timing_config
python intra_hutch_main.py [-h] hutch_code [total_iterations] [interval]
Following the prompts, a time estimation on the generation of the config file will be displayed along with a progress bar. An example run on MFX4.5:
python -m atef --log DEBUG check "LOCATION OF THE JSON FILE"
The output tells you the discrepancy of the specific PVs within an IOC of a hutch between a previous ATEF run (when the config file was generated) and now. How to interpret the results:
The output will show a subset of PVs which have a current value that is different from that which was captured in the config file.