Skip to content
Snippets Groups Projects
Commit b8dc884f authored by Rafael Montano's avatar Rafael Montano
Browse files

Moved from Bitbucket

parent 5e8011c7
No related branches found
No related tags found
No related merge requests found
Showing
with 8501 additions and 0 deletions
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<width>2340</width>
<height>1160</height>
<background_color>
<color red="215" green="215" blue="215">
</color>
</background_color>
<actions>
</actions>
<widget type="label" version="2.0.0">
<name>Label_94</name>
<text> RF Local Protection System - SIM</text>
<x>12</x>
<y>5</y>
<width>2330</width>
<height>55</height>
<font>
<font name="Header 1" family="Source Sans Pro" style="BOLD_ITALIC" size="36.0">
</font>
</font>
<background_color>
<color name="PRIMARY" red="0" green="148" blue="202">
</color>
</background_color>
<transparent>false</transparent>
<vertical_alignment>1</vertical_alignment>
<actions>
</actions>
</widget>
<widget type="combo" version="2.0.0">
<name>Device prefix combo</name>
<pv_name>loc://rflpsPrefix("LAB-011RFC")</pv_name>
<x>882</x>
<y>20</y>
<width>160</width>
<height>28</height>
<background_color>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</background_color>
<actions>
</actions>
<items>
<item>LAB-011RFC</item>
<item>TS2-010RFC</item>
</items>
<items_from_pv>false</items_from_pv>
</widget>
<widget type="label" version="2.0.0">
<name>Label_85</name>
<text>Device Prefix</text>
<x>740</x>
<y>21</y>
<width>130</width>
<height>25</height>
<font>
<font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0">
</font>
</font>
<background_color>
<color red="255" green="255" blue="255">
</color>
</background_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<actions>
</actions>
</widget>
<widget type="textentry" version="3.0.0">
<name>Device prefix</name>
<pv_name>loc://rflpsPrefix("LAB-011RFC")</pv_name>
<x>1052</x>
<y>21</y>
<width>160</width>
<height>25</height>
<background_color>
<color name="IO Grid" red="215" green="215" blue="215">
</color>
</background_color>
<format>6</format>
<actions>
</actions>
<tooltip>$(pv_name)</tooltip>
</widget>
<widget type="embedded" version="2.0.0">
<name>Linking Container</name>
<file>rflpsMain.bob</file>
<x>12</x>
<y>60</y>
<width>2330</width>
<height>1100</height>
<actions>
</actions>
<rules>
<rule name="clearOPIRule" prop_id="file" out_exp="false">
<exp bool_exp="true">
<value></value>
</exp>
<pv_name>loc://rflpsPrefix</pv_name>
</rule>
<rule name="SetOPIRule" prop_id="file" out_exp="false">
<exp bool_exp="true">
<value>rflpsMain.bob</value>
</exp>
<pv_name>loc://rflpsPrefix</pv_name>
</rule>
</rules>
<scripts>
<script file="scripts/prefix2Macro.py">
<pv_name>loc://rflpsPrefix</pv_name>
</script>
</scripts>
</widget>
</display>
This diff is collapsed.
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
var macroInput = DataUtil.createMacrosInput(true);
var pv = PVUtil.getString(pvArray[0]);
macroInput.put("P", pv);
widgetController.setPropertyValue("macros", macroInput);
\ No newline at end of file
#from org.csstudio.opibuilder.scriptUtil import PVUtil
"""
from org.csstudio.display.builder.runtime.script import PVUtil
total_time_left = PVUtil.getDouble(pvs[0])
#psu_stopped = PVUtil.getBoolean(pvs[1])
psu_stopped = PVUtil.getDouble(pvs[1])
psu_started = PVUtil.getDouble(pvs[2])
psu_warming_up = PVUtil.getDouble(pvs[3])
time_cold_sp1 = PVUtil.getDouble(pvs[4])
time_cold_sp2 = PVUtil.getDouble(pvs[5])
time_cold_sp3 = PVUtil.getDouble(pvs[6])
time_warm_sp1 = PVUtil.getDouble(pvs[7])
time_warm_sp2 = PVUtil.getDouble(pvs[8])
time_warm_sp3 = PVUtil.getDouble(pvs[9])
temp_reached = PVUtil.getDouble(pvs[10])
if not psu_started:
if temp_reached:
total_time = (time_warm_sp1+time_warm_sp2+time_warm_sp3)
else:
total_time = (time_cold_sp1+time_cold_sp2+time_cold_sp3)
widget.setPropertyValue("pv_value", 0.0)
else:
if psu_warming_up:
current_time = abs(total_time_left-total_time)
percent_value = (100*current_time)/total_time
widget.setPropertyValue("pv_value", percent_value)
else:
widget.setPropertyValue("pv_value", 100.0)
"""
from org.csstudio.display.builder.runtime.script import PVUtil
total_time_left = PVUtil.getDouble(pvs[0])
time_cold_sp1 = PVUtil.getDouble(pvs[4])
time_cold_sp2 = PVUtil.getDouble(pvs[5])
time_cold_sp3 = PVUtil.getDouble(pvs[6])
time_warm_sp1 = PVUtil.getDouble(pvs[7])
time_warm_sp2 = PVUtil.getDouble(pvs[8])
time_warm_sp3 = PVUtil.getDouble(pvs[9])
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
var macroInput = DataUtil.createMacrosInput(true);
var pv = PVUtil.getString(pvArray[0]);
macroInput.put("R", pv);
widgetController.setPropertyValue("macros", macroInput);
\ No newline at end of file
"""
# Old script
from org.csstudio.opibuilder.scriptUtil import PVUtil
from org.csstudio.opibuilder.scriptUtil import WidgetUtil
raw = PVUtil.getLongArray(pvArray[0])
if raw[0] < 90:
cent = '20'
else:
cent = '19'
tmstmp = cent+str(raw[0]).zfill(2)+'-'+str(raw[1]).zfill(2)+'-'+str(raw[2]).zfill(2)+' '+str(raw[3]).zfill(2)+':'+str(raw[4]).zfill(2)+':'+str(raw[5]).zfill(2)+'.'+str(raw[6]).zfill(2)+str((raw[7] >> 4) & 0xF);
widget.setPropertyValue("pv_value", tmstmp)
"""
from org.csstudio.display.builder.runtime.script import PVUtil
raw = PVUtil.getLongArray(pvs[0])
if raw[0] < 90:
cent = '20'
else:
cent = '19'
# I assume this is OK:
tmstmp = cent+str(raw[0]).zfill(2)+'-'+str(raw[1]).zfill(2)+'-'+str(raw[2]).zfill(2)+' '+str(raw[3]).zfill(2)+':'+str(raw[4]).zfill(2)+':'+str(raw[5]).zfill(2)+'.'+str(raw[6]).zfill(2)+str((raw[7] >> 4) & 0xF); # .. but no idea what data you have in the 'raw' array, you may want to try # tmstmp = str(raw) # just to debug the raw data.
widget.setPropertyValue("text", tmstmp)
from org.csstudio.opibuilder.scriptUtil import PVUtil
# This script will populate several macros that will be used to mount the PV names inside the GUIs
# In this first version, the content of the macros are hardcoded inside this script.
# The next step is to read the values from a file under version control;
# Section and subsection are selected by the user
prefix_ = PVUtil.getString(pvs[0])
sec_ = PVUtil.getString(pvs[1])
subsec_ = PVUtil.getString(pvs[2])
# Adding the macros on the widget that will consume this script
widget.getPropertyValue("macros").add("PREFIX", prefix_)
widget.getPropertyValue("macros").add("SEC", sec_)
widget.getPropertyValue("macros").add("SUB", subsec_)
##################################################################################################
# Hardcoded macro data
##################################################################################################
# This macro refers to the IOC main PVs:
ioc_ = "RFS-FIM-110"
# Analog input macros
ai00_ = "RFS-Mod-110:Cur"
ai01_ = "RFS-Mod-110:Vol"
ai02_ = "RFS-SolPS-110:Cur"
ai03_ = "RFS-SolPS-120:Cur"
ai04_ = "RFS-SolPS-130:Cur"
ai05_ = "RFS-FIM-110:AI5"
ai06_ = "RFS-FIM-110:AI6"
ai07_ = "RFS-FIM-110:AI7"
ai08_ = "RFS-FIM-110:AI8"
ai09_ = "RFS-FIM-110:AI9"
ai10_ = "RFS-DirC-110:DaPwrFwdDA"
ai11_ = "RFS-DirC-110:PwrFwdKly"
ai12_ = "RFS-DirC-110:PwrFwdLoad"
ai13_ = "RFS-DirC-110:PwrRefKly"
ai14_ = "RFS-FIM-110:AI14"
ai15_ = "RFS-FIM-110:AI15"
ai16_ = "RFS-FIM-110:AI16"
ai17_ = "RFS-DirC-110:PwrRefLoad"
ai18_ = "RFS-FIM-110:AI18"
ai19_ = "RFS-FIM-110:AI19"
di00_ = "RFS-SIM-110:HvEnaCmd"
di01_ = "RFS-SIM-110:RfEnaCmd"
di02_ = "RFS-SIM-110:PCconnect"
di03_ = "RFS-Mod-110:Fault"
di04_ = "RFS-FIM-110:DI4"
di05_ = "RFS-VacPS-110:I-SP"
di06_ = "RFS-VacPS-120:I-SP"
di07_ = "RFS-FIM-110:DI7"
di08_ = "RFS-ADR-201001:ItckStat"
di09_ = "RFS-ADR-110:ItckStat"
di10_ = "RFS-ADR-120:ItckStat"
di11_ = "RFS-FIM-110:DI11"
di12_ = "RFS-FIM-110:DI12"
di13_ = "RFS-FIM-110:DI13"
di14_ = "RFS-FIM-110:DI14"
di15_ = "RFS-FIM-110:DI15"
########################################################################################################
# Adding the macros on the widget that will consume this script
widget.getPropertyValue("macros").add("IOC_", ioc_)
# Analog input macros
widget.getPropertyValue("macros").add("AI00", ai00_)
widget.getPropertyValue("macros").add("AI01", ai01_)
widget.getPropertyValue("macros").add("AI02", ai02_)
widget.getPropertyValue("macros").add("AI03", ai03_)
widget.getPropertyValue("macros").add("AI04", ai04_)
widget.getPropertyValue("macros").add("AI05", ai05_)
widget.getPropertyValue("macros").add("AI06", ai06_)
widget.getPropertyValue("macros").add("AI07", ai07_)
widget.getPropertyValue("macros").add("AI08", ai08_)
widget.getPropertyValue("macros").add("AI09", ai09_)
widget.getPropertyValue("macros").add("AI10", ai10_)
widget.getPropertyValue("macros").add("AI11", ai11_)
widget.getPropertyValue("macros").add("AI12", ai12_)
widget.getPropertyValue("macros").add("AI13", ai13_)
widget.getPropertyValue("macros").add("AI14", ai14_)
widget.getPropertyValue("macros").add("AI15", ai15_)
widget.getPropertyValue("macros").add("AI16", ai16_)
widget.getPropertyValue("macros").add("AI17", ai17_)
widget.getPropertyValue("macros").add("AI18", ai18_)
widget.getPropertyValue("macros").add("AI19", ai19_)
# Digital input macros
widget.getPropertyValue("macros").add("DI00", di00_)
widget.getPropertyValue("macros").add("DI01", di01_)
widget.getPropertyValue("macros").add("DI02", di02_)
widget.getPropertyValue("macros").add("DI03", di03_)
widget.getPropertyValue("macros").add("DI04", di04_)
widget.getPropertyValue("macros").add("DI05", di05_)
widget.getPropertyValue("macros").add("DI06", di06_)
widget.getPropertyValue("macros").add("DI07", di07_)
widget.getPropertyValue("macros").add("DI08", di08_)
widget.getPropertyValue("macros").add("DI09", di09_)
widget.getPropertyValue("macros").add("DI10", di10_)
widget.getPropertyValue("macros").add("DI11", di11_)
widget.getPropertyValue("macros").add("DI12", di12_)
widget.getPropertyValue("macros").add("DI13", di13_)
widget.getPropertyValue("macros").add("DI14", di14_)
widget.getPropertyValue("macros").add("DI15", di15_)
//importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
importPackage(Packages.org.csstudio.display.builder.runtime.script.ScriptUtil);
var macroInput = DataUtil.createMacrosInput(true);
var pv = PVUtil.getString(pvArray[0]);
macroInput.put("PREFIX", pv);
widgetController.setPropertyValue("macros", macroInput);
\ No newline at end of file
from org.csstudio.display.builder.runtime.script import PVUtil
prefix = PVUtil.getString(pvs[0])
widget.getPropertyValue("macros").add("PREFIX", prefix)
\ No newline at end of file
importPackage(Packages.org.csstudio.opibuilder.scriptUtil);
var macroInput = DataUtil.createMacrosInput(true);
var pv = PVUtil.getString(pvArray[0]);
macroInput.put("SGNL", pv);
widgetController.setPropertyValue("macros", macroInput);
\ No newline at end of file
from org.csstudio.display.builder.runtime.script import PVUtil
signal = PVUtil.getString(pvs[0])
widget.getPropertyValue("macros").add("SGNL", signal)
\ No newline at end of file
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>FIM PMortem Analog Plot</name>
<width>1250</width>
<height>1000</height>
<widget type="xyplot" version="2.0.0">
<name>X/Y Plot</name>
<x>10</x>
<width>1230</width>
<height>680</height>
<foreground_color>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</foreground_color>
<background_color>
<color name="BLACK" red="0" green="0" blue="0">
</color>
</background_color>
<grid_color>
<color red="77" green="77" blue="77">
</color>
</grid_color>
<show_toolbar>true</show_toolbar>
<x_axis>
<title>Time (us)</title>
<autoscale>true</autoscale>
<minimum>0.0</minimum>
<maximum>8000.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
</x_axis>
<y_axes>
<y_axis>
<title>Input Signal</title>
<autoscale>true</autoscale>
<log_scale>false</log_scale>
<minimum>-10.0</minimum>
<maximum>10.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
<visible>true</visible>
</y_axis>
</y_axes>
<traces>
<trace>
<name>$(traces[0].y_pv)</name>
<x_pv></x_pv>
<y_pv>${PREFIX}:${DEVICE}:PMortem</y_pv>
<err_pv></err_pv>
<axis>0</axis>
<trace_type>1</trace_type>
<color>
<color name="MINOR" red="252" green="242" blue="17">
</color>
</color>
<line_width>1</line_width>
<point_type>0</point_type>
<point_size>10</point_size>
</trace>
</traces>
</widget>
<widget type="xyplot" version="2.0.0">
<name>X/Y Plot_1</name>
<x>10</x>
<y>700</y>
<width>1230</width>
<height>270</height>
<foreground_color>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</foreground_color>
<background_color>
<color name="BLACK" red="0" green="0" blue="0">
</color>
</background_color>
<grid_color>
<color red="77" green="77" blue="77">
</color>
</grid_color>
<show_toolbar>true</show_toolbar>
<x_axis>
<title>Time (us)</title>
<autoscale>true</autoscale>
<minimum>0.0</minimum>
<maximum>8000.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
</x_axis>
<y_axes>
<y_axis>
<title>QOUT Result</title>
<autoscale>false</autoscale>
<log_scale>false</log_scale>
<minimum>-0.2</minimum>
<maximum>1.2</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
<visible>true</visible>
</y_axis>
</y_axes>
<traces>
<trace>
<name>$(traces[0].y_pv)</name>
<x_pv></x_pv>
<y_pv>${PREFIX}:${DEVICE}:PPQWavePmortem</y_pv>
<err_pv></err_pv>
<axis>0</axis>
<trace_type>1</trace_type>
<color>
<color name="MAJOR" red="252" green="13" blue="27">
</color>
</color>
<line_width>1</line_width>
<point_type>0</point_type>
<point_size>10</point_size>
</trace>
</traces>
</widget>
</display>
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>FIM Analog Plot</name>
<width>1250</width>
<height>1000</height>
<widget type="xyplot" version="2.0.0">
<name>X/Y Plot</name>
<x>10</x>
<width>1230</width>
<height>680</height>
<foreground_color>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</foreground_color>
<background_color>
<color name="BLACK" red="0" green="0" blue="0">
</color>
</background_color>
<grid_color>
<color red="77" green="77" blue="77">
</color>
</grid_color>
<show_toolbar>true</show_toolbar>
<x_axis>
<title>Time (us)</title>
<autoscale>true</autoscale>
<minimum>0.0</minimum>
<maximum>8000.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
</x_axis>
<y_axes>
<y_axis>
<title>Input Voltage (V)</title>
<autoscale>true</autoscale>
<log_scale>false</log_scale>
<minimum>-10.0</minimum>
<maximum>10.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
<visible>true</visible>
</y_axis>
</y_axes>
<traces>
<trace>
<name>$(traces[0].y_pv)</name>
<x_pv></x_pv>
<y_pv>${PREFIX}:${DEVICE}:Wave</y_pv>
<err_pv></err_pv>
<axis>0</axis>
<trace_type>1</trace_type>
<color>
<color name="MINOR" red="252" green="242" blue="17">
</color>
</color>
<line_width>1</line_width>
<point_type>0</point_type>
<point_size>10</point_size>
</trace>
</traces>
</widget>
<widget type="xyplot" version="2.0.0">
<name>X/Y Plot_1</name>
<x>10</x>
<y>700</y>
<width>1230</width>
<height>420</height>
<foreground_color>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</foreground_color>
<background_color>
<color name="BLACK" red="0" green="0" blue="0">
</color>
</background_color>
<grid_color>
<color red="77" green="77" blue="77">
</color>
</grid_color>
<show_toolbar>true</show_toolbar>
<x_axis>
<title>Time (us)</title>
<autoscale>true</autoscale>
<minimum>0.0</minimum>
<maximum>8000.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
</x_axis>
<y_axes>
<y_axis>
<title>QOUT Result</title>
<autoscale>false</autoscale>
<log_scale>false</log_scale>
<minimum>-0.2</minimum>
<maximum>1.2</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
<visible>true</visible>
</y_axis>
</y_axes>
<traces>
<trace>
<name>$(traces[0].y_pv)</name>
<x_pv></x_pv>
<y_pv>${PREFIX}:${DEVICE}:PPQWave</y_pv>
<err_pv></err_pv>
<axis>0</axis>
<trace_type>1</trace_type>
<color>
<color name="MAJOR" red="252" green="13" blue="27">
</color>
</color>
<line_width>1</line_width>
<point_type>0</point_type>
<point_size>10</point_size>
</trace>
</traces>
</widget>
</display>
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>FIM Channel Overview</name>
<width>850</width>
<height>35</height>
<scripts>
<script file="EmbeddedPy">
<text><![CDATA[# Embedded python script
from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
# AND operation to determine if pre-condition os OK
chenabled = PVUtil.getInt(pvs[2])
qout_status = PVUtil.getInt(pvs[1])
if (chenabled == 0):
# if this channel is not needed, force precondition to OK
pvs[0].write(1)
else:
# if channel is enabled, pre-condition follows QOUT
pvs[0].write(qout_status)
]]></text>
<pv_name trigger="false">loc://$(PREFIX):$(DEVICE):HVONPreCondition</pv_name>
<pv_name>$(PREFIX):$(DEVICE):FastIntStat</pv_name>
<pv_name>$(PREFIX):$(DEVICE):IdleToHV-RB</pv_name>
</script>
<script file="EmbeddedPy">
<text><![CDATA[# Embedded python script
from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
# AND operation to determine if pre-condition os OK
chenabled = PVUtil.getInt(pvs[2])
qout_status = PVUtil.getInt(pvs[1])
if (chenabled == 0):
# if this channel is not needed, force precondition to OK
pvs[0].write(1)
else:
# if channel is enabled, pre-condition follows QOUT
pvs[0].write(qout_status)]]></text>
<pv_name trigger="false">loc://$(PREFIX):$(DEVICE):RFONPreCondition</pv_name>
<pv_name>$(PREFIX):$(DEVICE):FastIntStat</pv_name>
<pv_name>$(PREFIX):$(DEVICE):HVToRF-RB</pv_name>
</script>
</scripts>
<widget type="rectangle" version="2.0.0">
<name>Rectangle</name>
<x>1</x>
<y>2</y>
<width>845</width>
<height>30</height>
<line_width>1</line_width>
<line_color>
<color name="BLUE-GROUP-BORDER" red="138" green="167" blue="167">
</color>
</line_color>
<transparent>true</transparent>
<corner_width>3</corner_width>
<corner_height>3</corner_height>
</widget>
<widget type="textupdate" version="2.0.0">
<name>Text Update_4</name>
<pv_name>$(PREFIX):$(DEVICE).DESC</pv_name>
<x>240</x>
<y>5</y>
<width>190</width>
<height>24</height>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
<border_alarm_sensitive>false</border_alarm_sensitive>
</widget>
<widget type="label" version="2.0.0">
<name>Label_6</name>
<text>$(PREFIX):$(DEVICE)</text>
<x>50</x>
<y>5</y>
<width>169</width>
<height>24</height>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="action_button" version="3.0.0">
<name>Action Button_9</name>
<actions>
<action type="open_display">
<file>$(EXPERT_DISPLAY)</file>
<target>standalone</target>
<description>Open Display</description>
</action>
</actions>
<text>...</text>
<x>760</x>
<y>7</y>
<width>30</width>
<height>20</height>
<font>
<font family="Source Sans Pro" style="REGULAR" size="14.0">
</font>
</font>
<tooltip>$(actions)</tooltip>
</widget>
<widget type="textupdate" version="2.0.0">
<name>LED_3</name>
<pv_name>$(PREFIX):$(DEVICE):IdleToHV-RB</pv_name>
<x>470</x>
<y>5</y>
<width>110</width>
<height>24</height>
<font>
<font family="Source Sans Pro" style="REGULAR" size="14.0">
</font>
</font>
<format>6</format>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<rules>
<rule name="change_color" prop_id="background_color" out_exp="false">
<exp bool_exp="pv0 == 0">
<value>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</value>
</exp>
<exp bool_exp="pv0 == 1">
<value>
<color red="179" green="230" blue="179">
</color>
</value>
</exp>
<pv_name>$(pv_name)</pv_name>
</rule>
</rules>
<border_alarm_sensitive>false</border_alarm_sensitive>
<border_color>
<color name="BLACK-BORDER" red="121" green="121" blue="121">
</color>
</border_color>
</widget>
<widget type="textupdate" version="2.0.0">
<name>LED_4</name>
<pv_name>$(PREFIX):$(DEVICE):HVToRF-RB</pv_name>
<x>620</x>
<y>5</y>
<width>110</width>
<height>24</height>
<font>
<font family="Source Sans Pro" style="REGULAR" size="14.0">
</font>
</font>
<format>6</format>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<rules>
<rule name="change_background" prop_id="background_color" out_exp="false">
<exp bool_exp="pv0 == 0">
<value>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</value>
</exp>
<exp bool_exp="pv0 == 1">
<value>
<color red="179" green="230" blue="179">
</color>
</value>
</exp>
<pv_name>$(pv_name)</pv_name>
</rule>
</rules>
<border_alarm_sensitive>false</border_alarm_sensitive>
<border_color>
<color name="BLACK-BORDER" red="121" green="121" blue="121">
</color>
</border_color>
</widget>
<widget type="picture" version="2.0.0">
<name>Picture</name>
<file>images/interlock.svg</file>
<x>805</x>
<y>6</y>
<width>22</width>
<height>22</height>
<rules>
<rule name="change_icon" prop_id="file" out_exp="false">
<exp bool_exp="pv0 &gt; 0">
<value>support/interlock tripped.svg</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):Ilck</pv_name>
</rule>
<rule name="change X" prop_id="x" out_exp="false">
<exp bool_exp="pv0 &gt; 0">
<value>785</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):Ilck</pv_name>
</rule>
</rules>
<tooltip>Click to reset interlock</tooltip>
</widget>
<widget type="action_button" version="3.0.0">
<name>Action Button_1</name>
<actions>
<action type="write_pv">
<pv_name>$(pv_name)</pv_name>
<value>1</value>
<description>Write PV</description>
</action>
</actions>
<pv_name>$(PREFIX):$(DEVICE):resetIlck</pv_name>
<text></text>
<x>805</x>
<y>6</y>
<width>22</width>
<height>22</height>
<background_color>
<color name="Background" red="220" green="225" blue="221">
</color>
</background_color>
<transparent>true</transparent>
<rules>
<rule name="enable if interlock" prop_id="enabled" out_exp="false">
<exp bool_exp="pv0 &gt; 0">
<value>true</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):Ilck</pv_name>
</rule>
<rule name="move X" prop_id="x" out_exp="false">
<exp bool_exp="pv0 &gt; 0">
<value>785</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):Ilck</pv_name>
</rule>
</rules>
<enabled>false</enabled>
</widget>
<widget type="label" version="2.0.0">
<name>Label_8</name>
<text>$(ch_index)</text>
<x>5</x>
<y>5</y>
<width>44</width>
<height>24</height>
<font>
<font family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>LED</name>
<text>NOK</text>
<x>450</x>
<y>5</y>
<width>20</width>
<height>24</height>
<font>
<font family="Source Sans Pro" style="REGULAR" size="14.0">
</font>
</font>
<background_color>
<color name="GROUP-BACKGROUND" red="200" green="205" blue="201">
</color>
</background_color>
<transparent>false</transparent>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<rules>
<rule name="ON COLOR" prop_id="background_color" out_exp="false">
<exp bool_exp="pv0 == 1">
<value>
<color name="ON" red="22" green="222" blue="33">
</color>
</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):IdleToHVPreCond</pv_name>
</rule>
<rule name="ON COLOR (duplicate)" prop_id="text" out_exp="false">
<exp bool_exp="pv0 == 1">
<value>OK</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):IdleToHVPreCond</pv_name>
</rule>
</rules>
<tooltip>$(PREFIX):$(DEVICE):IdleToHVPreCond</tooltip>
</widget>
<widget type="label" version="2.0.0">
<name>LED_2</name>
<text>NOK</text>
<x>600</x>
<y>5</y>
<width>20</width>
<height>24</height>
<font>
<font family="Source Sans Pro" style="REGULAR" size="14.0">
</font>
</font>
<background_color>
<color name="GROUP-BACKGROUND" red="200" green="205" blue="201">
</color>
</background_color>
<transparent>false</transparent>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<rules>
<rule name="ON COLOR" prop_id="background_color" out_exp="false">
<exp bool_exp="pv0 == 1">
<value>
<color name="ON" red="22" green="222" blue="33">
</color>
</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):HVToRFPreCond</pv_name>
</rule>
<rule name="ON COLOR (duplicate)" prop_id="text" out_exp="false">
<exp bool_exp="pv0 == 1">
<value>OK</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):HVToRFPreCond</pv_name>
</rule>
</rules>
<tooltip>$(PREFIX):$(DEVICE):HVToRFPreCond</tooltip>
</widget>
</display>
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>FIM Digital Plot</name>
<width>1200</width>
<widget type="xyplot" version="2.0.0">
<name>X/Y Plot</name>
<x>10</x>
<width>1180</width>
<height>590</height>
<foreground_color>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</foreground_color>
<background_color>
<color name="BLACK" red="0" green="0" blue="0">
</color>
</background_color>
<grid_color>
<color red="77" green="77" blue="77">
</color>
</grid_color>
<show_toolbar>true</show_toolbar>
<x_axis>
<title>Time (us)</title>
<autoscale>true</autoscale>
<minimum>0.0</minimum>
<maximum>8000.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
</x_axis>
<y_axes>
<y_axis>
<title>Digital Input Value</title>
<autoscale>false</autoscale>
<log_scale>false</log_scale>
<minimum>-0.5</minimum>
<maximum>1.5</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
<visible>true</visible>
</y_axis>
</y_axes>
<traces>
<trace>
<name>$(traces[0].y_pv)</name>
<x_pv></x_pv>
<y_pv>${PREFIX}:${DEVICE}:Wave</y_pv>
<err_pv></err_pv>
<axis>0</axis>
<trace_type>1</trace_type>
<color>
<color name="BLUE" red="79" green="228" blue="250">
</color>
</color>
<line_width>1</line_width>
<point_type>0</point_type>
<point_size>10</point_size>
</trace>
</traces>
</widget>
<widget type="xyplot" version="2.0.0">
<name>X/Y Plot_1</name>
<x>10</x>
<y>740</y>
<width>860</width>
<height>150</height>
<visible>false</visible>
<foreground_color>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</foreground_color>
<background_color>
<color name="BLACK" red="0" green="0" blue="0">
</color>
</background_color>
<grid_color>
<color red="77" green="77" blue="77">
</color>
</grid_color>
<show_toolbar>true</show_toolbar>
<x_axis>
<title>Time (us)</title>
<autoscale>true</autoscale>
<minimum>0.0</minimum>
<maximum>8000.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
</x_axis>
<y_axes>
<y_axis>
<title>Digital Input Value</title>
<autoscale>false</autoscale>
<log_scale>false</log_scale>
<minimum>-0.5</minimum>
<maximum>1.5</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
<visible>true</visible>
</y_axis>
</y_axes>
<traces>
<trace>
<name>$(traces[0].y_pv)</name>
<x_pv></x_pv>
<y_pv>${PREFIX}:${DEVICE}:PPQWave</y_pv>
<err_pv></err_pv>
<axis>0</axis>
<trace_type>1</trace_type>
<color>
<color name="BLUE" red="79" green="228" blue="250">
</color>
</color>
<line_width>1</line_width>
<point_type>0</point_type>
<point_size>10</point_size>
</trace>
</traces>
</widget>
</display>
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>FIM Digital Post-mortem Plot</name>
<width>1200</width>
<widget type="xyplot" version="2.0.0">
<name>X/Y Plot</name>
<x>10</x>
<width>1180</width>
<height>590</height>
<foreground_color>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</foreground_color>
<background_color>
<color name="BLACK" red="0" green="0" blue="0">
</color>
</background_color>
<grid_color>
<color red="77" green="77" blue="77">
</color>
</grid_color>
<show_toolbar>true</show_toolbar>
<x_axis>
<title>Time (us)</title>
<autoscale>true</autoscale>
<minimum>0.0</minimum>
<maximum>8000.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
</x_axis>
<y_axes>
<y_axis>
<title>Interlock Result</title>
<autoscale>false</autoscale>
<log_scale>false</log_scale>
<minimum>-0.2</minimum>
<maximum>5.0</maximum>
<show_grid>true</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font family="Source Sans Pro" style="REGULAR" size="8.0">
</font>
</scale_font>
<visible>true</visible>
</y_axis>
<y_axis>
<title>Digital Input Value</title>
<autoscale>false</autoscale>
<log_scale>false</log_scale>
<minimum>-0.5</minimum>
<maximum>1.5</maximum>
<show_grid>false</show_grid>
<title_font>
<font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</title_font>
<scale_font>
<font name="Default" family="Source Sans Pro" style="REGULAR" size="16.0">
</font>
</scale_font>
<visible>true</visible>
</y_axis>
</y_axes>
<traces>
<trace>
<name>$(traces[0].y_pv)</name>
<x_pv></x_pv>
<y_pv>${PREFIX}:${DEVICE}:PMortem</y_pv>
<err_pv></err_pv>
<axis>1</axis>
<trace_type>1</trace_type>
<color>
<color name="BLUE" red="79" green="228" blue="250">
</color>
</color>
<line_width>1</line_width>
<point_type>0</point_type>
<point_size>10</point_size>
</trace>
<trace>
<name>$(traces[1].y_pv)</name>
<x_pv></x_pv>
<y_pv>${PREFIX}:${DEVICE}:PPQWavePmortem</y_pv>
<err_pv></err_pv>
<axis>0</axis>
<trace_type>1</trace_type>
<color>
<color name="RED" red="252" green="13" blue="27">
</color>
</color>
<line_width>1</line_width>
<point_type>0</point_type>
<point_size>10</point_size>
</trace>
</traces>
</widget>
<widget type="rectangle" version="2.0.0">
<name>Rectangle</name>
<x>10</x>
<y>45</y>
<width>42</width>
<height>510</height>
<line_width>0</line_width>
<background_color>
<color name="BLACK" red="0" green="0" blue="0">
</color>
</background_color>
</widget>
</display>
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>HistoryBufferCtrl</name>
<height>350</height>
<widget type="rectangle" version="2.0.0">
<name>Rectangle</name>
<class>TITLE-BAR</class>
<x use_class="true">0</x>
<y use_class="true">0</y>
<width>800</width>
<height use_class="true">50</height>
<line_width use_class="true">0</line_width>
<background_color use_class="true">
<color name="PRIMARY-HEADER-BACKGROUND" red="151" green="188" blue="202">
</color>
</background_color>
</widget>
<widget type="label" version="2.0.0">
<name>Label</name>
<class>TITLE</class>
<text>Fast Interlock History Buffer Management</text>
<x use_class="true">20</x>
<y use_class="true">0</y>
<width>740</width>
<height use_class="true">50</height>
<font use_class="true">
<font name="Header 1" family="Source Sans Pro" style="BOLD_ITALIC" size="36.0">
</font>
</font>
<foreground_color use_class="true">
<color name="HEADER-TEXT" red="0" green="0" blue="0">
</color>
</foreground_color>
<transparent use_class="true">true</transparent>
<horizontal_alignment use_class="true">0</horizontal_alignment>
<vertical_alignment use_class="true">1</vertical_alignment>
<wrap_words use_class="true">false</wrap_words>
</widget>
<widget type="combo" version="2.0.0">
<name>Combo Box</name>
<pv_name>${PREFIX}:${DEVICE}:HistBufferMode</pv_name>
<x>250</x>
<y>195</y>
<width>210</width>
<height>20</height>
<rules>
<rule name="Disable when running" prop_id="enabled" out_exp="false">
<exp bool_exp="pv0==7">
<value>false</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):STAT-RB</pv_name>
</rule>
</rules>
<border_alarm_sensitive>false</border_alarm_sensitive>
</widget>
<widget type="textupdate" version="2.0.0">
<name>Text Update_3</name>
<pv_name>${PREFIX}:${DEVICE}:HistBufferMode-RB</pv_name>
<x>470</x>
<y>195</y>
<width>230</width>
<background_color>
<color name="WHITE" red="255" green="255" blue="255">
</color>
</background_color>
<vertical_alignment>1</vertical_alignment>
<border_alarm_sensitive>false</border_alarm_sensitive>
</widget>
<widget type="label" version="2.0.0">
<name>Label_5</name>
<text>History Buffer Acquisition Mode</text>
<x>20</x>
<y>195</y>
<width>220</width>
</widget>
<widget type="label" version="2.0.0">
<name>Label_6</name>
<text>History Buffer Acquisition Status</text>
<x>20</x>
<y>155</y>
<width>260</width>
</widget>
<widget type="textupdate" version="2.0.0">
<name>Text Update_4</name>
<pv_name>${PREFIX}:${DEVICE}:HistBufferStatus-RB</pv_name>
<x>250</x>
<y>155</y>
<width>230</width>
<background_color>
<color name="WHITE" red="255" green="255" blue="255">
</color>
</background_color>
<vertical_alignment>1</vertical_alignment>
<border_alarm_sensitive>false</border_alarm_sensitive>
</widget>
<widget type="label" version="2.0.0">
<name>Label_7</name>
<text>Overrun Flag Error</text>
<x>20</x>
<y>235</y>
<width>150</width>
</widget>
<widget type="label" version="2.0.0">
<name>Label_8</name>
<text>Ring Buffer Overpass</text>
<x>20</x>
<y>270</y>
<width>150</width>
</widget>
<widget type="led" version="2.0.0">
<name>LED</name>
<pv_name>${PREFIX}:${DEVICE}:HistBufferOVFF-RB</pv_name>
<x>180</x>
<y>235</y>
</widget>
<widget type="led" version="2.0.0">
<name>LED_1</name>
<pv_name>${PREFIX}:${DEVICE}:HistBufferROVERFF-RB</pv_name>
<x>180</x>
<y>270</y>
</widget>
<widget type="bool_button" version="2.0.0">
<name>Boolean Button</name>
<pv_name>${PREFIX}:${DEVICE}:HistBufferEnable</pv_name>
<x>250</x>
<y>110</y>
<width>80</width>
<rules>
<rule name="Disable when running" prop_id="enabled" out_exp="false">
<exp bool_exp="pv0==7">
<value>false</value>
</exp>
<pv_name>$(PREFIX):$(DEVICE):STAT-RB</pv_name>
</rule>
</rules>
<border_alarm_sensitive>false</border_alarm_sensitive>
</widget>
<widget type="led" version="2.0.0">
<name>LED_2</name>
<pv_name>${PREFIX}:${DEVICE}:HistBufferEnable-RB</pv_name>
<x>330</x>
<y>110</y>
<width>30</width>
<height>30</height>
<square>true</square>
<border_alarm_sensitive>false</border_alarm_sensitive>
</widget>
<widget type="label" version="2.0.0">
<name>Label_9</name>
<text>HIstory Buffer Enable/Disable</text>
<x>20</x>
<y>115</y>
<width>220</width>
</widget>
<widget type="label" version="2.0.0">
<name>Label_1</name>
<text>FIM Unit:</text>
<x>20</x>
<y>60</y>
<height>30</height>
<font>
<font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0">
</font>
</font>
<foreground_color>
<color name="HEADER-TEXT" red="0" green="0" blue="0">
</color>
</foreground_color>
<vertical_alignment>2</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="label" version="2.0.0">
<name>Label_2</name>
<text>$(PREFIX)</text>
<x>120</x>
<y>60</y>
<width>210</width>
<height>30</height>
<font>
<font family="Source Sans Pro" style="REGULAR" size="18.0">
</font>
</font>
<foreground_color>
<color name="HEADER-TEXT" red="0" green="0" blue="0">
</color>
</foreground_color>
<background_color>
<color name="Read_Background" red="230" green="235" blue="232">
</color>
</background_color>
<transparent>false</transparent>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
</display>
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