Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content
Snippets Groups Projects
Commit 6b6c8608 authored by chrin's avatar chrin
Browse files

Believe it or not - there's documentation!

parent 8eeadde6
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
<html><head><title>Handsome Power Usage and Saving Hierarchy at Proscan, HUSH!</title></head> <html><head><title>Handsome Power Usage and Saving Hierarchy at PROSCAN, HUSH!</title></head>
<body> <body>
<h5 style="color:gray;">February 2024, Jan Chrin</h5> <h5 style="color:gray;">February 2024, Jan Chrin</h5>
<h4> <span style="color: red;">H</span>andsome <span style="color: gray;">Power</span> <span style="color: red;">U</span>sage <span style="color: gray;">and</span> <span style="color: red;">S</span>aving <span style="color: red;">H</span>ierarchy</span> <span style="color: gray;">at Proscan,</span> <span style="color: red;">HUSH!</span></h4> <h4> <span style="color: red;">H</span>andsome <span style="color: gray;">Power</span> <span style="color: red;">U</span>sage <span style="color: gray;">and</span> <span style="color: red;">S</span>aving <span style="color: red;">H</span>ierarchy</span> <span style="color: gray;">at PROSCAN,</span> <span style="color: red;">HUSH!</span></h4>
<h2 style="color:blue;">About</h2> <h2 style="color:blue;">About</h2>
<p>The HUSH! application initiates energy saving procedures and records the power saved.<br> <p>The HUSH! application initiates energy saving procedures and records the power saved.<br>
<span style="color:black; font-style:italic;">Power Saving Accounting is only activated when PROSCAN is in "Produktion" mode.</span> <span style="color:red; font-style:italic;">Power Saving Accounting is only activated when PROSCAN is in "Produktion" mode.</span>
</p> </p>
<!--a href="page1.html">here</a></p--> <!--a href="page1.html">here</a></p-->
...@@ -16,40 +16,94 @@ ...@@ -16,40 +16,94 @@
<ul> <ul>
<li> <li>
A State Machine (SM) operating at the IOC level that is responsible for the power saving accounting.<br> A State Machine (SM) operating at the IOC level that is responsible for the power saving accounting.<br>
<span style="color: gray;"> https://gitlab.psi.ch/proscan_apps4ops/HUSH</span><br> <span style="color: green;">https://git.psi.ch/epics_iocboot_proscan/PRO_hush</span><br>
<span style="color: gray;"> /proscan/bd/applications/hush/hla/</span><br> <span style="color: gray;">/proscan/bd/applications/hush/ioc/latest/PRO_hush/</span><br>
</li> </li>
<li> <li>
A High Level Application (HLA) that is able to interact with the IOC (for expert use), displays accounting A High Level Application (HLA) that is able to interact with the IOC, displays accounting
figures, and provides a panel to enable quadruples to be set to their standby/restore values.<br> figures, and provides a panel to enable quadruples to be set to their standby/restore values.<br>
<span style="color: gray;">https://git.psi.ch/epics_iocboot_proscan/PRO_hush</span><br> <span style="color: green;"> https://gitlab.psi.ch/proscan_apps4ops/HUSH</span>
<span style="color: gray;">/proscan/bd/applications/hush/ioc/latest/PRO_hush/</span><br> <h4 style="color:lightblue;">Control Room</h4>
<span style="color: gray;"> /proscan/bd/applications/hush/hla/latest/hush.sh</span>
<h4 style="color:lightblue;">Beamlines</h4>
G1: <span style="color: gray;"> /proscan/bd/applications/hush/hla/latest/hush_g1.sh</span><br>
G2: <span style="color: gray;"> /proscan/bd/applications/hush/hla/latest/hush_g2.sh</span><br>
O2: <span style="color: gray;"> /proscan/bd/applications/hush/hla/latest/hush_o2.sh</span><br>
PIF: <span style="color: gray;"> /proscan/bd/applications/hush/hla/latest/hush_pif.sh</span><br>
G3: <span style="color: gray;"> /proscan/bd/applications/hush/hla/latest/hush_g3.sh</span><br>
</li> </li>
</ul> </ul>
<h2 style="color:blue;">The Graphical User Interface</h2> <h2 style="color:blue;">GUI, Control Tab</h2>
<h3 style="color:lightblue;">Operator Panel</h3> Main panel for use by operators to place the quadruples into their standby state and to restore them to their nominal operating values.
<h3 style="color:#7b68ee;">Operator Panel</h3>
Ramp Delay: Can take on values from 0.0s to 0.2s. <br> Ramp Delay: Can take on values from 0.0s to 0.2s. <br>
Defines the delay between setting individual quadruples when initiating standby/restore. Defines the delay between setting individual quadruples when initiating standby/restore.
A value of 0.0s means that the quadruple currents are set simultaneously. A value of 0.0s means that the quadruple currents are set simultaneously.
<h3 style="color:lightblue;">Expert Panel</h3> <h3 style="color:#7b68ee;">Expert Panel</h3>
Selecting the Dry Run option disables setting values to epics process variables. Used for testing. Selecting the Dry Run option disables setting values to epics process variables. Used for testing.
<h3 style="color:lightblue;">Saving Overview</h3> <h3 style="color:#7b68ee;">Saving Overview</h3>
Displays a number of process variables related to the power saving accounting. <br> Displays a number of parameters for a given section related to power saving accounting. <br>
<span style="color:black; font-style:italic;">Power Saving Accounting is only activated when PROSCAN is in "Produktion" mode.</span> <span style="color:red; font-style:italic;">Power Saving Accounting is only activated when PROSCAN is in "Produktion" mode as indicated by the enumerated process variable, PROSCAN:OPERATION:STATUS. </span>
<br> <br>
<table> <table>
<tr><td>Initial Power (kw):</td> <td>The nominal power value when quadruples are in the usual powered-on state.</td></tr> <tr> <td colspan=3> Table description</td> </tr>
<tr><td>Power (kw):</td> <td>The current power value.</td></tr> <tr><td>Initial Power (kw):</td> <td>The nominal summed power when quadruples are in the usual powered-on state.</td></tr>
<tr><td>Saving (MWh):</td> <td>The running power saved in the current saving period.</td></tr> <tr><td>Power (kw):</td> <td>The summed current power,</td></tr>
<tr><td>Time in Saving Mode:</td> <td>Time elapsed in current saving period (days hours:minutes:seconds).</td></tr> <tr><td>Saving (MWh):</td> <td>The running power in the current saving period.</td></tr>
<tr><td>Tot Saved (MWh):</td> <td>The accumulated power saved in the calendar year.</td></tr> <tr><td>Time in Saving Mode: &nbsp;</td> <td>Time elapsed in current saving period (days hours:minutes:seconds).</td></tr>
<tr><td>Tot Saved (MWh):</td> <td>The accumulated power saved so far in the calendar year.</td></tr>
</table> </table>
<h3 style="color:lightblue;">Magnet Panel</h3> <h3 style="color:#7b68ee;">Magnet Tab Panel</h3>
Table of current and power values for quadruples within each section. Table of current and power values for quadruples within each section: G1, SH, G2, O2, PIF, G3.
(Section B1B2 has only readback capabilities).<br>
Quadruples may be set to their standby values or restored to their initial values. Quadruples may be set to their standby values or restored to their initial values.
These action buttons are only enabled if certan conditions are met, i.e, the corresponding <em>These action buttons are only enabled if certan conditions are met, i.e, the corresponding
beam disrupter is closed, "Geschlossen" and the corresponding access writes are granted as beam disrupter is closed, "Geschlossen" and the corresponding access writes are granted as
controlled by either the global Mastership or the relevant section Submastership controlled by either the global Mastership or the relevant section Submastership</em><br>
Best practice dictates that "Update" be pressed before "Standby" is initiated. This updates the magnet current values in the "Init. Value" column, which provides the 'set' values for an eventual "Restore" action.
The "Init Value" of the Power table is likewise updated. The updated sum of initial power values is then propagated to the "initial" column in the "Savings Overview" sub-panel for use in the energy saving accouting. An "Update" in either the Current or Power table will automatically update the other. Note that the
"Update" button is disenabled when the section is in "Standby" mode and energy saving is activated.
<em>If for some haphazard reason the Initial Power Value appearing in the "Savings Overview"
is evidently wrong for a given section during energy saving (and for which the "Update" button is disenabled), e.g., it is less than the current power usage as shown in the "Power" column, it can be ovewritten to its default value from the "Last Power" sub-panel within the "IOC" tab widget.</em><br>
The three light blue background coloured device entries in the magnet table indicate the quadruples that are monitored within the IOC to determine the "Standby/Restore" state of the section.
<h3 style="color:#7b68ee;">Mastership Table</h3>
Displays the current access rights for the various sections.<br>
Possible enumerated values are: UNDEF (0), FREI (1), SUBMASTERSHIP (2), MASTERSHIP (3), FEHLER(10).
SUBMASTERSHIP and MASTERSHIP mode grants control to the beamline magnets and the entire accelerator complex magnets, respectively. The enabling/disabling of the "Restore" and "Standby" buttons in the magnet sub-panel follow suite.
<h2 style="color:blue;">GUI, IOC Tab </h2>
The panel displays the status of the State Machine (SM) operating with the IOC, and further allows certain interactions. The SM is responsible for the Power Saving accounting. It is essentially decoupled from the HLA. Should quadruples be set from outside the HLA, the SM will capture the change and act accordingly.
<h3 style="color:#7b68ee;">State Machine</h3>
Displays the status of the state machine sequencer.
<table>
<tr><td>Reset:</td> <td> SEQ-ONOFF &nbsp;</td><td>Restarts the SM. <em>Press and hold button for at least 2 seconds to ensure the initial "OFF" instruction is captured by the SM.</em> If the section is in Energy Saving mode, this action transfers the currently saved amount from "Saving" to "Tot Saving", and restarts the "Time in Saving Mode" from zero. </td></tr>
<tr><td>SM:</td><td>SEQ-ONOFF </td> <td> Status ("OFF", "ON") of the State Machine. Should always be "ON".</td></tr>
<tr><td>Sequencer State &nbsp;</td> <td>SEQ-STATE </td> <td>See below for the enumerated values. When in energy saving mode, this parameter will oscillate between the "READY_FOR_EVENT" and "ALLOW_ENERGY_SAVING" states. Otherwise it will display one of a number condiutions for which Standby is not enabled. During normal operation where magnets are at their nominal values, i.e., above their standby reference values, this will display "MAGNETS_ABOVE_REF". </td></tr>
<tr><td>ON or Standby</td> <td>STATE</td> <td>Displays "STANDBY" when energy saving accounting is enabled, else ON (energy saving conditions have not been met)</td></tr>
</table>
<br>
Enumerated values for SEQ-STATE (not all states may have necessarily been implemented):<br>
'FEEDBACK_OFF', 'FEEDBACK_ON', 'READY_FOR_EVENT', 'SHIFT_TYPE_OK', 'SHIFT_TYPE_NOT_APPLICABLE',<br>
'I_BELOW_THRESHOLD', 'I_ABOVE_THRESHOLD', 'MAGNETS_BELOW_REF', 'MAGNETS_ABOVE_REF', <br>
'SOURCEI_BELOW_THRESHOLD', 'SOURCEI_ABOVE_THRESHOLD', 'BEAM_PATH_OPEN', 'BEAM_PATH_CLOSED', <br>
'CHANNELS_DISCONNECTED', 'CHANNELS_CONNECTED', 'ALLOW_ENERGY_SAVING'
<h3 style="color:#7b68ee;">Hush Accouting</h3>
The accounting of the energy saved for a given is year is to be recorded.
At the end of the calendar year, the process variables holding the power
saved values are to be reset to zero. This is accomplished through the "Reset Account" button.
This action also records the energy saved value in elogbook.
<h3 style="color:#7b68ee;">HUSH! Image</h3>
Inspired by Dada Ante Portas. Arguably Switzerland's greatest Pop/Rock band! Do give them a listen. They are brill!
<h3 style="color:#7b68ee;">Last Power</h3>
This sub-panel allows the expert user to reset the Initial Power in "Savings Overview" for a given section to its default value, should such a need ever haphazardly arise while the section is in Energy Saving mode, and for which the "Update" button in the Magnet panel is disenabled.
<p> <p>
</p> </p>
......
...@@ -23,7 +23,7 @@ fi ...@@ -23,7 +23,7 @@ fi
# Select Python Version here. Currently one of 3.5, 3.7, 3.8, 3.10 # Select Python Version here. Currently one of 3.5, 3.7, 3.8, 3.10
PYTHON_VERSION=3.10 PYTHON_VERSION=3.10
# Only neede for verison-specific packages, e.g., bigtree- # Only needed for verison-specific packages, e.g., bigtree-
# Not required for elog. # Not required for elog.
PYTHON_VERSION_DIR=310 PYTHON_VERSION_DIR=310
EXTRA_PYTHON_PATH_FLAG=0 EXTRA_PYTHON_PATH_FLAG=0
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment