Abstract
I modified the guardian code for easy enabling/disabling VAC alert by guardian.
For this purpose, I added new EPICS boolean channels on vac_ioc and vac_ioc process was restarted.
These channels are used only guardian code and are not DAQ-ed.
When vac_ioc was restarted, DAQ-ed pressure values were chopped a few times around today's noon.
Finally, enabling/disabling VAC alert can be done from switches on MEDM.
Details
Enabling/disabling VAC alert had been managed in the python code as hard cording. Because it's troublesome to modify and load a guardian code for changing a status of the alert system, new EPICS boolean channels were prepared (And also, though only a few folks could change the status due to the previous implementation, a way to change status becomes more easier that before. All people originally should understand guardian code...). It's better that VAC related channels isn't affected by restarting a real-time models, so I created these new channels not on k1grdconfig but VAC IOC on k1script1. After adding new channels, VAC IOC was restarted. For this reason, DAQ-ed pressure values were chopped a few times around today's noon. Boolean channels themselves are not DAQ-ed. They are used only on the guardian code.
In the new implementation, we can enable/disable VAC alert by EPICS switches on the MEDM screen accessed from VAC_OVERVIEW.adl as shown in Fig.1. In addition to the case that a readout value of pressure becomes larger than the threshold, slack notification is made when the alert is enabled and disabled. In order to avoid forgetting to re-enable alert system after disabling it once, alert system is automatically enabled when readout pressure value becomes 2 steps of CC-10 smaller than the alert threshold (Alert system is enabled by the smaller value than 8.0e-6 in the case threshold is set as 1.0e-5.).