Skip to content
Snippets Groups Projects
Commit d3a20cef authored by Krisztián Löki's avatar Krisztián Löki
Browse files

Updated diagnostics

parent 61fd4968
No related branches found
No related tags found
No related merge requests found
...@@ -4,25 +4,25 @@ ...@@ -4,25 +4,25 @@
<macros> <macros>
<GPLC>KG-GTA:PSS-GPLC-1</GPLC> <GPLC>KG-GTA:PSS-GPLC-1</GPLC>
<PLC>KG-GTA:PSS-PLC-1</PLC> <PLC>KG-GTA:PSS-PLC-1</PLC>
<WIRE_PY>scripts/wire.py</WIRE_PY>
</macros> </macros>
<width>1450</width> <width>1450</width>
<height>850</height> <height>886</height>
<widget type="rectangle" version="2.0.0"> <widget type="rectangle" version="2.0.0">
<name>Rectangle Template</name> <name>Title Rectangle</name>
<class>TITLE-BAR</class>
<x use_class="true">0</x>
<y use_class="true">0</y>
<width>1450</width> <width>1450</width>
<height>50</height> <height use_class="true">50</height>
<line_width>0</line_width> <line_width use_class="true">0</line_width>
<line_color> <background_color use_class="true">
<color name="IO Line" red="0" green="32" blue="92">
</color>
</line_color>
<background_color>
<color name="PRIMARY-HEADER-BACKGROUND" red="151" green="188" blue="202"> <color name="PRIMARY-HEADER-BACKGROUND" red="151" green="188" blue="202">
</color> </color>
</background_color> </background_color>
</widget> </widget>
<widget type="label" version="2.0.0"> <widget type="label" version="2.0.0">
<name>Label</name> <name>Title</name>
<class>TITLE</class> <class>TITLE</class>
<text>TS2 PSS Diagnostics</text> <text>TS2 PSS Diagnostics</text>
<x use_class="true">20</x> <x use_class="true">20</x>
...@@ -42,406 +42,38 @@ ...@@ -42,406 +42,38 @@
<vertical_alignment use_class="true">1</vertical_alignment> <vertical_alignment use_class="true">1</vertical_alignment>
<wrap_words use_class="true">false</wrap_words> <wrap_words use_class="true">false</wrap_words>
</widget> </widget>
<widget type="group" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>Software Diagnostics</name> <name>EPICS</name>
<file>embedded_displays/diagnostics/epics.bob</file>
<x>20</x> <x>20</x>
<y>70</y> <y>70</y>
<width>370</width> <width>370</width>
<height>396</height> <height>244</height>
<style>3</style> <resize>2</resize>
<transparent>true</transparent> <transparent>true</transparent>
<widget type="rectangle" version="2.0.0">
<name>BGGrey03-background_5</name>
<width>370</width>
<height>396</height>
<line_width>0</line_width>
<background_color>
<color name="GROUP-BACKGROUND" red="200" green="205" blue="201">
</color>
</background_color>
<corner_width>5</corner_width>
<corner_height>5</corner_height>
</widget>
<widget type="label" version="2.0.0">
<name>EPICS Communication</name>
<text>EPICS Communication</text>
<width>370</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<foreground_color>
<color name="GROUP-TEXT" red="25" green="25" blue="25">
</color>
</foreground_color>
<background_color>
<color name="RED-BORDER" red="150" green="8" blue="16">
</color>
</background_color>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="group" version="2.0.0">
<name>EPICS</name>
<x>10</x>
<y>40</y>
<width>350</width>
<height>194</height>
<style>3</style>
<widget type="label" version="2.0.0">
<name>ModbusConnected</name>
<text>ModbusConnected:</text>
<x>20</x>
<y>10</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>ModbusConnectedR</name>
<pv_name>$(GPLC):ModbusConnectedR</pv_name>
<x>186</x>
<y>10</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>S7Connected</name>
<text>S7Connected:</text>
<x>20</x>
<y>36</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>S7ConnectedR</name>
<pv_name>$(GPLC):S7ConnectedR</pv_name>
<x>186</x>
<y>36</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>Alive</name>
<text>Alive:</text>
<x>20</x>
<y>62</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>AliveR</name>
<pv_name>$(GPLC):AliveR</pv_name>
<x>186</x>
<y>62</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>PLC Hash OK</name>
<text>PLC Hash OK:</text>
<x>20</x>
<y>86</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>PLCHashCorrectR</name>
<pv_name>$(GPLC):PLCHashCorrectR</pv_name>
<x>186</x>
<y>86</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>PLC HASH</name>
<text>PLC Hash:</text>
<x>20</x>
<y>112</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>CommsHashFromPLCR</name>
<pv_name>$(GPLC):CommsHashFromPLCR</pv_name>
<x>186</x>
<y>112</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>IOC HASH</name>
<text>IOC Hash:</text>
<x>20</x>
<y>138</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>iCommsHashToPLC</name>
<pv_name>$(GPLC):iCommsHashToPLC</pv_name>
<x>186</x>
<y>138</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>Module Version</name>
<text>Module Version:</text>
<x>20</x>
<y>164</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>ModVersionR</name>
<pv_name>$(GPLC):ModVersionR</pv_name>
<x>186</x>
<y>164</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
</widget>
<widget type="label" version="2.0.0">
<name>PLC Checksums</name>
<text>PLC Code Checksums</text>
<y>254</y>
<width>370</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<foreground_color>
<color name="GROUP-TEXT" red="25" green="25" blue="25">
</color>
</foreground_color>
<background_color>
<color name="RED-BORDER" red="150" green="8" blue="16">
</color>
</background_color>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="group" version="2.0.0">
<name>Checksums</name>
<x>10</x>
<y>294</y>
<width>349</width>
<height>92</height>
<style>3</style>
<widget type="label" version="2.0.0">
<name>Software Checksum</name>
<text>Software Checksum:</text>
<x>6</x>
<y>10</y>
<width>174</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>SW_Checksum</name>
<pv_name>$(PLC):SW_Checksum</pv_name>
<x>186</x>
<y>10</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>Collective F-Signature</name>
<text>Collective F-Signature:</text>
<x>6</x>
<y>36</y>
<width>174</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>FSignature</name>
<pv_name>$(PLC):FSignature</pv_name>
<x>186</x>
<y>36</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>GW Software Checksum</name>
<text>GW Software Checksum:</text>
<x>6</x>
<y>62</y>
<width>174</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>GPLC-SW_Checksum</name>
<pv_name>$(GPLC):SW_Checksum</pv_name>
<x>186</x>
<y>62</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
</widget>
</widget> </widget>
<widget type="polygon" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>F Wire</name> <name>PLC Software</name>
<x>590</x> <file>embedded_displays/diagnostics/plc_software.bob</file>
<y>400</y> <x>20</x>
<width>723</width> <y>324</y>
<height>1</height> <width>395</width>
<line_color> <height>182</height>
<color name="GREEN-BORDER" red="40" green="140" blue="40"> <resize>2</resize>
</color> <transparent>true</transparent>
</line_color> </widget>
<background_color> <widget type="embedded" version="2.0.0">
<color name="GREEN-BORDER" red="40" green="140" blue="40"> <name>TS2 PSS Electrical Cabinet</name>
</color> <macros>
</background_color> <CABINET>Cabinet</CABINET>
<points> <P>TS2-010Row:CnPw-U-012</P>
<point x="0.0" y="0.0"> </macros>
</point> <file>embedded_displays/diagnostics/Cabinet.bob</file>
<point x="723.0" y="0.0"> <x>75</x>
</point> <y>516</y>
</points> <width>260</width>
<height>360</height>
<resize>2</resize>
</widget> </widget>
<widget type="polyline" version="2.0.0"> <widget type="polyline" version="2.0.0">
<name>GCPU-CPU Wire</name> <name>GCPU-CPU Wire</name>
...@@ -449,11 +81,6 @@ ...@@ -449,11 +81,6 @@
<y>325</y> <y>325</y>
<width>250</width> <width>250</width>
<height>40</height> <height>40</height>
<line_color>
<color name="DISCONNECTED" red="105" green="77" blue="164">
</color>
</line_color>
<line_style>1</line_style>
<points> <points>
<point x="0.0" y="0.0"> <point x="0.0" y="0.0">
</point> </point>
...@@ -464,49 +91,13 @@ ...@@ -464,49 +91,13 @@
<point x="250.0" y="0.0"> <point x="250.0" y="0.0">
</point> </point>
</points> </points>
<line_color>
<color name="DISCONNECTED" red="105" green="77" blue="164">
</color>
</line_color>
<line_style>1</line_style>
<scripts> <scripts>
<script file="EmbeddedPy" check_connections="false"> <script file="$(WIRE_PY)" check_connections="false">
<text><![CDATA[# Embedded python script
from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
from org.csstudio.display.builder.model.persist import WidgetColorService
line_style = 1 # dashed
pvSevStr = "N/A"
pvStatStr = "N/A"
pvIntStr = "null"
pvTime = ""
try:
pvSev = PVUtil.getSeverity(pvs[0])
pvSevStr = PVUtil.getSeverityString(pvs[0])
pvStatStr = PVUtil.getStatus(pvs[0])
pvInt = PVUtil.getLong(pvs[0])
pvIntStr = PVUtil.getString(pvs[0])
pvTime = PVUtil.getTimeString(pvs[0])
if pvSev == 3: # INVALID
raise RuntimeError
if pvInt == True and pvSev == 0:
line_style = 0 # solid
line_color = WidgetColorService.getColor("GREEN-BORDER")
tooltip = "Healthy connection between Gateway and Process PLC"
else:
line_color = WidgetColorService.getColor("ERROR")
tooltip = "NO connection between Gateway and Process PLC"
except:
line_color = WidgetColorService.getColor("DISCONNECTED")
tooltip = "Unknown connection status between Gateway and Process PLC"
widget.setPropertyValue('line_color', line_color)
widget.setPropertyValue('line_style', line_style)
widget.setPropertyValue('tooltip', tooltip + """
{}
{}, {} - {}, {}""".format(str(pvs[0]), pvIntStr, pvSevStr, pvStatStr, pvTime))]]></text>
<pv_name>$(GPLC):Proc_GW_Comm</pv_name> <pv_name>$(GPLC):Proc_GW_Comm</pv_name>
</script> </script>
</scripts> </scripts>
...@@ -542,11 +133,11 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -542,11 +133,11 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>Diag</name> <name>Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<DIAG_CONN_STAT>$(GPLC):CPU_ConnStat</DIAG_CONN_STAT> <DIAG_CONN_STAT>$(GPLC):CPU_ConnStat</DIAG_CONN_STAT>
<DIAG_STAT>$(GPLC):CPU_Stat</DIAG_STAT> <DIAG_STAT>$(GPLC):CPU_Stat</DIAG_STAT>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>67</x> <x>67</x>
<y>83</y> <y>83</y>
<width>30</width> <width>30</width>
...@@ -556,22 +147,33 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -556,22 +147,33 @@ widget.setPropertyValue('tooltip', tooltip + """
<transparent>true</transparent> <transparent>true</transparent>
</widget> </widget>
</widget> </widget>
<widget type="polygon" version="2.0.0"> <widget type="polyline" version="2.0.0">
<name>CPU Wire</name> <name>F-CPU Wire</name>
<x>803</x> <x>803</x>
<y>325</y> <y>325</y>
<width>1</width> <width>225</width>
<height>75</height> <height>40</height>
<line_color>
<color name="GREEN-BORDER" red="40" green="140" blue="40">
</color>
</line_color>
<points> <points>
<point x="0.0" y="0.0"> <point x="0.0" y="0.0">
</point> </point>
<point x="0.0" y="75.0"> <point x="0.0" y="40.0">
</point>
<point x="225.0" y="40.0">
</point>
<point x="225.0" y="0.0">
</point> </point>
</points> </points>
<line_color>
<color name="DISCONNECTED" red="105" green="77" blue="164">
</color>
</line_color>
<line_style>1</line_style>
<scripts>
<script file="$(WIRE_PY)" check_connections="false">
<pv_name>$(PLC):CPU_ConnStat</pv_name>
</script>
</scripts>
<tooltip>N/A</tooltip>
</widget> </widget>
<widget type="group" version="2.0.0"> <widget type="group" version="2.0.0">
<name>CPU</name> <name>CPU</name>
...@@ -583,7 +185,7 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -583,7 +185,7 @@ widget.setPropertyValue('tooltip', tooltip + """
<transparent>true</transparent> <transparent>true</transparent>
<widget type="label" version="2.0.0"> <widget type="label" version="2.0.0">
<name>Title</name> <name>Title</name>
<text>CPU</text> <text>F-CPU</text>
<width>162</width> <width>162</width>
<height>40</height> <height>40</height>
<font> <font>
...@@ -603,11 +205,11 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -603,11 +205,11 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>Diag</name> <name>Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<DIAG_CONN_STAT>$(PLC):CPU_ConnStat</DIAG_CONN_STAT> <DIAG_CONN_STAT>$(GPLC):Proc_GW_Comm</DIAG_CONN_STAT>
<DIAG_STAT>$(PLC):CPU_Stat</DIAG_STAT> <DIAG_STAT>$(PLC):CPU_Stat</DIAG_STAT>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>67</x> <x>67</x>
<y>83</y> <y>83</y>
<width>30</width> <width>30</width>
...@@ -616,26 +218,61 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -616,26 +218,61 @@ widget.setPropertyValue('tooltip', tooltip + """
<transparent>true</transparent> <transparent>true</transparent>
</widget> </widget>
</widget> </widget>
<widget type="polygon" version="2.0.0"> <widget type="polyline" version="2.0.0">
<name>Switch Wire</name> <name>HMI Wire</name>
<x>1054</x> <x>1074</x>
<y>325</y> <y>325</y>
<width>1</width> <width>239</width>
<height>75</height> <height>40</height>
<points>
<point x="0.0" y="0.0">
</point>
<point x="0.0" y="40.0">
</point>
<point x="239.0" y="40.0">
</point>
<point x="239.0" y="0.0">
</point>
</points>
<line_color> <line_color>
<color name="GREEN-BORDER" red="40" green="140" blue="40"> <color name="DISCONNECTED" red="105" green="77" blue="164">
</color> </color>
</line_color> </line_color>
<background_color> <line_style>1</line_style>
<color name="GREEN-BORDER" red="40" green="140" blue="40"> <scripts>
</color> <script file="$(WIRE_PY)" check_connections="false">
</background_color> <pv_name>$(PLC):HMI_ConnStat</pv_name>
</script>
</scripts>
<tooltip>N/A</tooltip>
</widget>
<widget type="polyline" version="2.0.0">
<name>Remote I/O Wire</name>
<x>590</x>
<y>325</y>
<width>464</width>
<height>215</height>
<points> <points>
<point x="0.0" y="0.0"> <point x="0.0" y="215.0">
</point> </point>
<point x="0.0" y="75.0"> <point x="0.0" y="75.0">
</point> </point>
<point x="464.0" y="75.0">
</point>
<point x="464.0" y="0.0">
</point>
</points> </points>
<line_color>
<color name="DISCONNECTED" red="105" green="77" blue="164">
</color>
</line_color>
<line_style>1</line_style>
<scripts>
<script file="$(WIRE_PY)" check_connections="false">
<pv_name>$(PLC):RIO_IM_ConnStat</pv_name>
</script>
</scripts>
<tooltip>N/A</tooltip>
</widget> </widget>
<widget type="group" version="2.0.0"> <widget type="group" version="2.0.0">
<name>Switch</name> <name>Switch</name>
...@@ -665,27 +302,38 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -665,27 +302,38 @@ widget.setPropertyValue('tooltip', tooltip + """
<width>120</width> <width>120</width>
<height>230</height> <height>230</height>
</widget> </widget>
</widget> <widget type="embedded" version="2.0.0">
<widget type="polygon" version="2.0.0"> <name>Diag</name>
<name>HMI Wire</name> <macros>
<x>1313</x> <DIAG_CONN_STAT>$(PLC):CPU_ConnStat</DIAG_CONN_STAT>
<y>325</y> <DIAG_STAT>$(PLC):CPU_Stat</DIAG_STAT>
<width>1</width> </macros>
<height>75</height> <file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<line_color> <x>45</x>
<color name="GREEN-BORDER" red="40" green="140" blue="40"> <y>83</y>
</color> <width>30</width>
</line_color> <height>70</height>
<background_color> <visible>false</visible>
<color name="GREEN-BORDER" red="40" green="140" blue="40"> <resize>2</resize>
</color> <transparent>true</transparent>
</background_color> </widget>
<points> <widget type="symbol" version="2.0.0">
<point x="0.0" y="0.0"> <name>Disconnected</name>
</point> <pv_name>$(PLC):CPU_ConnStat</pv_name>
<point x="0.0" y="75.0"> <symbols>
</point> <symbol>$(ESS_SYMBOLS=/ess-symbols)/badges/alarms/unconnected@32.png</symbol>
</points> </symbols>
<x>48</x>
<y>86</y>
<width>24</width>
<height>24</height>
<scripts>
<script file="scripts/diag_conn_stat.py" check_connections="false">
<pv_name>$(pv_name)</pv_name>
</script>
</scripts>
<tooltip>N/A</tooltip>
</widget>
</widget> </widget>
<widget type="group" version="2.0.0"> <widget type="group" version="2.0.0">
<name>HMI</name> <name>HMI</name>
...@@ -726,34 +374,13 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -726,34 +374,13 @@ widget.setPropertyValue('tooltip', tooltip + """
<width>24</width> <width>24</width>
<height>24</height> <height>24</height>
<scripts> <scripts>
<script file="embedded_displays/diag_conn_stat.py" check_connections="false"> <script file="scripts/diag_conn_stat.py" check_connections="false">
<pv_name>$(pv_name)</pv_name> <pv_name>$(pv_name)</pv_name>
</script> </script>
</scripts> </scripts>
<tooltip>N/A</tooltip> <tooltip>N/A</tooltip>
</widget> </widget>
</widget> </widget>
<widget type="polygon" version="2.0.0">
<name>Remote I/O Wire</name>
<x>590</x>
<y>400</y>
<width>1</width>
<height>140</height>
<line_color>
<color name="GREEN-BORDER" red="40" green="140" blue="40">
</color>
</line_color>
<background_color>
<color name="GREEN-BORDER" red="40" green="140" blue="40">
</color>
</background_color>
<points>
<point x="0.0" y="0.0">
</point>
<point x="0.0" y="140.0">
</point>
</points>
</widget>
<widget type="group" version="2.0.0"> <widget type="group" version="2.0.0">
<name>Remote I/O</name> <name>Remote I/O</name>
<macros> <macros>
...@@ -788,10 +415,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -788,10 +415,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>IM_Diag</name> <name>IM_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>RIO_IM</MOD> <MOD>RIO_IM</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>82</x> <x>82</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -801,10 +428,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -801,10 +428,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDI1</MOD> <MOD>FDI1</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>130</x> <x>130</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -814,10 +441,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -814,10 +441,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDI2</MOD> <MOD>FDI2</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>173</x> <x>173</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -827,10 +454,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -827,10 +454,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDI3</MOD> <MOD>FDI3</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>215</x> <x>215</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -840,10 +467,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -840,10 +467,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDI4</MOD> <MOD>FDI4</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>258</x> <x>258</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -853,10 +480,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -853,10 +480,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDI5</MOD> <MOD>FDI5</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>302</x> <x>302</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -866,10 +493,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -866,10 +493,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDI6</MOD> <MOD>FDI6</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>345</x> <x>345</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -879,10 +506,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -879,10 +506,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDI7</MOD> <MOD>FDI7</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>388</x> <x>388</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -892,10 +519,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -892,10 +519,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDI8</MOD> <MOD>FDI8</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>431</x> <x>431</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -905,10 +532,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -905,10 +532,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>DI1</MOD> <MOD>DI1</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>474</x> <x>474</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -918,10 +545,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -918,10 +545,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>DI2</MOD> <MOD>DI2</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>518</x> <x>518</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -931,10 +558,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -931,10 +558,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>DI3</MOD> <MOD>DI3</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>560</x> <x>560</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -944,10 +571,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -944,10 +571,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>AI1</MOD> <MOD>AI1</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>605</x> <x>605</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -957,10 +584,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -957,10 +584,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDQ1</MOD> <MOD>FDQ1</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>648</x> <x>648</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -970,10 +597,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -970,10 +597,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDQ2</MOD> <MOD>FDQ2</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>690</x> <x>690</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -983,10 +610,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -983,10 +610,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>FDQ3</MOD> <MOD>FDQ3</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>734</x> <x>734</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -996,10 +623,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -996,10 +623,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>DQ1</MOD> <MOD>DQ1</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>777</x> <x>777</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -1009,10 +636,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -1009,10 +636,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>DQ2</MOD> <MOD>DQ2</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>820</x> <x>820</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -1022,10 +649,10 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -1022,10 +649,10 @@ widget.setPropertyValue('tooltip', tooltip + """
</widget> </widget>
<widget type="embedded" version="2.0.0"> <widget type="embedded" version="2.0.0">
<name>$(MOD)_Diag</name> <name>$(MOD)_Diag</name>
<file>embedded_displays/PLC_module_status.bob</file>
<macros> <macros>
<MOD>DQ3</MOD> <MOD>DQ3</MOD>
</macros> </macros>
<file>embedded_displays/diagnostics/PLC_module_status.bob</file>
<x>863</x> <x>863</x>
<y>275</y> <y>275</y>
<width>30</width> <width>30</width>
...@@ -1034,16 +661,4 @@ widget.setPropertyValue('tooltip', tooltip + """ ...@@ -1034,16 +661,4 @@ widget.setPropertyValue('tooltip', tooltip + """
<transparent>true</transparent> <transparent>true</transparent>
</widget> </widget>
</widget> </widget>
<widget type="embedded" version="2.0.0">
<name>TS2 PSS Electrical Cabinet</name>
<file>embedded_displays/Cabinet.bob</file>
<macros>
<CABINET>Cabinet</CABINET>
<P>TS2-010Row:CnPw-U-012</P>
</macros>
<x>75</x>
<y>505</y>
<width>260</width>
<resize>2</resize>
</widget>
</display> </display>
...@@ -2,24 +2,28 @@ ...@@ -2,24 +2,28 @@
<display version="2.0.0"> <display version="2.0.0">
<name>TS2 PSS Electrical Cabinet</name> <name>TS2 PSS Electrical Cabinet</name>
<width>260</width> <width>260</width>
<height>300</height> <height>360</height>
<widget type="group" version="2.0.0"> <widget type="group" version="2.0.0">
<name>Cabinet</name> <name>Cabinet</name>
<width>260</width> <width>260</width>
<height>300</height> <height>360</height>
<style>3</style> <style>3</style>
<transparent>true</transparent> <transparent>true</transparent>
<widget type="rectangle" version="2.0.0"> <widget type="rectangle" version="2.0.0">
<name>BGGrey03-background</name> <name>Title-background</name>
<width>260</width> <width>260</width>
<height>300</height> <height>360</height>
<line_width>0</line_width> <line_width>2</line_width>
<line_color>
<color name="GROUP-BORDER" red="150" green="155" blue="151">
</color>
</line_color>
<background_color> <background_color>
<color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> <color name="GROUP-BACKGROUND" red="200" green="205" blue="201">
</color> </color>
</background_color> </background_color>
<corner_width>5</corner_width> <corner_width>10</corner_width>
<corner_height>5</corner_height> <corner_height>10</corner_height>
</widget> </widget>
<widget type="label" version="2.0.0"> <widget type="label" version="2.0.0">
<name>Title</name> <name>Title</name>
...@@ -39,8 +43,22 @@ ...@@ -39,8 +43,22 @@
<x>10</x> <x>10</x>
<y>40</y> <y>40</y>
<width>240</width> <width>240</width>
<height>250</height> <height>310</height>
<style>3</style> <style>3</style>
<widget type="rectangle" version="2.0.0">
<name>Content-background</name>
<width>240</width>
<height>310</height>
<line_width>2</line_width>
<line_color>
<color name="GROUP-BORDER" red="150" green="155" blue="151">
</color>
</line_color>
<background_color>
<color name="Background" red="220" green="225" blue="221">
</color>
</background_color>
</widget>
<widget type="led" version="2.0.0"> <widget type="led" version="2.0.0">
<name>LED_UPSAlarm</name> <name>LED_UPSAlarm</name>
<pv_name>$(P):UPSAlarm</pv_name> <pv_name>$(P):UPSAlarm</pv_name>
...@@ -217,6 +235,50 @@ ...@@ -217,6 +235,50 @@
<width>170</width> <width>170</width>
<vertical_alignment>1</vertical_alignment> <vertical_alignment>1</vertical_alignment>
</widget> </widget>
<widget type="led" version="2.0.0">
<name>LED_RedLightsACStat</name>
<pv_name>$(P):RedLightsACStat</pv_name>
<x>25</x>
<y>250</y>
<off_color>
<color name="LED-RED-ON" red="255" green="60" blue="46">
</color>
</off_color>
<on_color>
<color name="LED-GREEN-ON" red="70" green="255" blue="70">
</color>
</on_color>
</widget>
<widget type="label" version="2.0.0">
<name>LB_RedLightsACStat</name>
<text>Red lights AC Supply OK</text>
<x>51</x>
<y>250</y>
<width>170</width>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="led" version="2.0.0">
<name>LED_BlueLightsACStat</name>
<pv_name>$(P):BlueLightsACStat</pv_name>
<x>25</x>
<y>280</y>
<off_color>
<color name="LED-RED-ON" red="255" green="60" blue="46">
</color>
</off_color>
<on_color>
<color name="LED-GREEN-ON" red="70" green="255" blue="70">
</color>
</on_color>
</widget>
<widget type="label" version="2.0.0">
<name>LB_BlueLightsACStat</name>
<text>Blue lights AC Supply OK</text>
<x>51</x>
<y>280</y>
<width>170</width>
<vertical_alignment>1</vertical_alignment>
</widget>
</widget> </widget>
</widget> </widget>
</display> </display>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<width>24</width> <width>24</width>
<height>24</height> <height>24</height>
<scripts> <scripts>
<script file="diag_conn_stat.py" check_connections="false"> <script file="../../scripts/diag_conn_stat.py" check_connections="false">
<pv_name>$(pv_name)</pv_name> <pv_name>$(pv_name)</pv_name>
</script> </script>
</scripts> </scripts>
......
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>CHECKSUM</name>
<width>368</width>
<height>26</height>
<widget type="group" version="2.0.0">
<name>Group</name>
<width>368</width>
<height>26</height>
<style>3</style>
<widget type="textupdate" version="2.0.0">
<name>SW_Checksum0</name>
<pv_name>$(CHKSUM_DEVICE):SW_Checksum0</pv_name>
<x>3</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>SW_Checksum1</name>
<pv_name>$(CHKSUM_DEVICE):SW_Checksum1</pv_name>
<x>49</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>SW_Checksum2</name>
<pv_name>$(CHKSUM_DEVICE):SW_Checksum2</pv_name>
<x>95</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>SW_Checksum3</name>
<pv_name>$(CHKSUM_DEVICE):SW_Checksum3</pv_name>
<x>141</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>SW_Checksum4</name>
<pv_name>$(CHKSUM_DEVICE):SW_Checksum4</pv_name>
<x>187</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>SW_Checksum5</name>
<pv_name>$(CHKSUM_DEVICE):SW_Checksum5</pv_name>
<x>233</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>SW_Checksum6</name>
<pv_name>$(CHKSUM_DEVICE):SW_Checksum6</pv_name>
<x>279</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>SW_Checksum7</name>
<pv_name>$(CHKSUM_DEVICE):SW_Checksum7</pv_name>
<x>325</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
</widget>
</display>
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>EPICS</name>
<width>370</width>
<height>244</height>
<widget type="group" version="2.0.0">
<name>Software Diagnostics</name>
<width>370</width>
<height>244</height>
<style>3</style>
<transparent>true</transparent>
<widget type="rectangle" version="2.0.0">
<name>Title Background</name>
<width>370</width>
<height>244</height>
<line_width>2</line_width>
<line_color>
<color name="GROUP-BORDER" red="150" green="155" blue="151">
</color>
</line_color>
<background_color>
<color name="GROUP-BACKGROUND" red="200" green="205" blue="201">
</color>
</background_color>
<corner_width>10</corner_width>
<corner_height>10</corner_height>
</widget>
<widget type="label" version="2.0.0">
<name>EPICS Communication</name>
<text>EPICS Communication</text>
<width>370</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<foreground_color>
<color name="GROUP-TEXT" red="25" green="25" blue="25">
</color>
</foreground_color>
<background_color>
<color name="RED-BORDER" red="150" green="8" blue="16">
</color>
</background_color>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="group" version="2.0.0">
<name>EPICS</name>
<x>10</x>
<y>40</y>
<width>350</width>
<height>194</height>
<style>3</style>
<transparent>true</transparent>
<widget type="rectangle" version="2.0.0">
<name>Content Background</name>
<width>350</width>
<height>194</height>
<line_width>2</line_width>
<line_color>
<color name="GROUP-BORDER" red="150" green="155" blue="151">
</color>
</line_color>
<background_color>
<color name="Background" red="220" green="225" blue="221">
</color>
</background_color>
</widget>
<widget type="label" version="2.0.0">
<name>ModbusConnected</name>
<text>ModbusConnected:</text>
<x>20</x>
<y>10</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>ModbusConnectedR</name>
<pv_name>$(GPLC):ModbusConnectedR</pv_name>
<x>186</x>
<y>10</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>S7Connected</name>
<text>S7Connected:</text>
<x>20</x>
<y>36</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>S7ConnectedR</name>
<pv_name>$(GPLC):S7ConnectedR</pv_name>
<x>186</x>
<y>36</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>Alive</name>
<text>Alive:</text>
<x>20</x>
<y>62</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>AliveR</name>
<pv_name>$(GPLC):AliveR</pv_name>
<x>186</x>
<y>62</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>PLC Hash OK</name>
<text>PLC Hash OK:</text>
<x>20</x>
<y>86</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>PLCHashCorrectR</name>
<pv_name>$(GPLC):PLCHashCorrectR</pv_name>
<x>186</x>
<y>86</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>PLC HASH</name>
<text>PLC Hash:</text>
<x>20</x>
<y>112</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>CommsHashFromPLCR</name>
<pv_name>$(GPLC):CommsHashFromPLCR</pv_name>
<x>186</x>
<y>112</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>IOC HASH</name>
<text>IOC Hash:</text>
<x>20</x>
<y>138</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>iCommsHashToPLC</name>
<pv_name>$(GPLC):iCommsHashToPLC</pv_name>
<x>186</x>
<y>138</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>Module Version</name>
<text>Module Version:</text>
<x>20</x>
<y>164</y>
<width>160</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>ModVersionR</name>
<pv_name>$(GPLC):ModVersionR</pv_name>
<x>186</x>
<y>164</y>
<width>154</width>
<foreground_color>
<color name="ORANGE-BORDER" red="153" green="117" blue="49">
</color>
</foreground_color>
<transparent>true</transparent>
<vertical_alignment>1</vertical_alignment>
</widget>
</widget>
</widget>
</display>
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>PLC Software</name>
<width>395</width>
<height>182</height>
<widget type="group" version="2.0.0">
<name>Software Diagnostics</name>
<width>395</width>
<height>182</height>
<style>3</style>
<transparent>true</transparent>
<widget type="rectangle" version="2.0.0">
<name>Title Background</name>
<width>395</width>
<height>182</height>
<line_width>2</line_width>
<line_color>
<color name="GROUP-BORDER" red="150" green="155" blue="151">
</color>
</line_color>
<background_color>
<color name="GROUP-BACKGROUND" red="200" green="205" blue="201">
</color>
</background_color>
<corner_width>10</corner_width>
<corner_height>10</corner_height>
</widget>
<widget type="label" version="2.0.0">
<name>PLC Checksums</name>
<text>PLC Code Checksums</text>
<width>396</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<foreground_color>
<color name="GROUP-TEXT" red="25" green="25" blue="25">
</color>
</foreground_color>
<background_color>
<color name="RED-BORDER" red="150" green="8" blue="16">
</color>
</background_color>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="group" version="2.0.0">
<name>Checksums</name>
<x>10</x>
<y>40</y>
<width>375</width>
<height>132</height>
<style>3</style>
<transparent>true</transparent>
<widget type="rectangle" version="2.0.0">
<name>Rectangle</name>
<width>375</width>
<height>132</height>
<line_width>2</line_width>
<line_color>
<color name="GROUP-BORDER" red="150" green="155" blue="151">
</color>
</line_color>
<background_color>
<color name="Background" red="220" green="225" blue="221">
</color>
</background_color>
</widget>
<widget type="label" version="2.0.0">
<name>Software Checksum</name>
<text>Software Checksum:</text>
<x>6</x>
<y>10</y>
<width>174</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>Safety F-Signature</name>
<text>Safety F-Signature:</text>
<x>6</x>
<y>59</y>
<width>174</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="label" version="2.0.0">
<name>GW Software Checksum</name>
<text>GW Software Checksum:</text>
<x>6</x>
<y>79</y>
<width>174</width>
<font>
<font name="NORMAL-SANS-BOLD" family="Source Sans Pro" style="BOLD" size="16.0">
</font>
</font>
<foreground_color>
<color name="PRIMARY-DARK" red="31" green="83" blue="102">
</color>
</foreground_color>
<horizontal_alignment>2</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="embedded" version="2.0.0">
<name>PLC Checksum</name>
<macros>
<CHKSUM_DEVICE>$(PLC)</CHKSUM_DEVICE>
</macros>
<file>checksum.bob</file>
<x>3</x>
<y>30</y>
<width>368</width>
<height>26</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>GPLC Checksum</name>
<macros>
<CHKSUM_DEVICE>$(GPLC)</CHKSUM_DEVICE>
</macros>
<file>checksum.bob</file>
<x>3</x>
<y>99</y>
<width>368</width>
<height>26</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>FSignature</name>
<file>signature.bob</file>
<x>186</x>
<y>59</y>
<width>184</width>
<height>26</height>
<resize>2</resize>
</widget>
</widget>
</widget>
</display>
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>SIGNATURE</name>
<width>184</width>
<height>26</height>
<widget type="group" version="2.0.0">
<name>Group</name>
<width>184</width>
<height>26</height>
<style>3</style>
<widget type="textupdate" version="2.0.0">
<name>FSignature0</name>
<pv_name>$(PLC):FSignature0</pv_name>
<x>3</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>FSignature1</name>
<pv_name>$(PLC):FSignature1</pv_name>
<x>49</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>FSignature2</name>
<pv_name>$(PLC):FSignature2</pv_name>
<x>95</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
<widget type="textupdate" version="2.0.0">
<name>FSignature3</name>
<pv_name>$(PLC):FSignature3</pv_name>
<x>141</x>
<y>3</y>
<width>40</width>
<format>4</format>
<vertical_alignment>1</vertical_alignment>
</widget>
</widget>
</display>
from org.csstudio.display.builder.runtime.script import PVUtil, ScriptUtil
from org.csstudio.display.builder.model.persist import WidgetColorService
line_style = 1 # dashed
pvSevStr = "N/A"
pvStatStr = "N/A"
pvIntStr = "null"
pvTime = ""
try:
pvSev = PVUtil.getSeverity(pvs[0])
pvSevStr = PVUtil.getSeverityString(pvs[0])
pvStatStr = PVUtil.getStatus(pvs[0])
pvInt = PVUtil.getLong(pvs[0])
pvIntStr = PVUtil.getString(pvs[0])
pvTime = PVUtil.getTimeString(pvs[0])
if pvSev == 3: # INVALID
raise RuntimeError
if pvInt == True and pvSev == 0:
line_style = 0 # solid
line_color = WidgetColorService.getColor("GREEN-BORDER")
tooltip = "Healthy connection"
else:
line_color = WidgetColorService.getColor("ERROR")
tooltip = "NO connection"
except:
line_color = WidgetColorService.getColor("DISCONNECTED")
tooltip = "Unknown connection status"
widget.setPropertyValue('line_color', line_color)
widget.setPropertyValue('line_style', line_style)
widget.setPropertyValue('tooltip', tooltip + """
{}
{}, {} - {}, {}""".format(str(pvs[0]), pvIntStr, pvSevStr, pvStatStr, pvTime))
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