Forked from
ics-software / ess-opis
220 commits behind the upstream repository.
-
Krisztián Löki authoredKrisztián Löki authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
PLC_cabinet_diagnostics.bob 21.29 KiB
<?xml version="1.0" encoding="UTF-8"?>
<display version="2.0.0">
<name>PSS1 PSS PLC Cabinet Diagnostics</name>
<macros>
<EMBEDDED_DIAG>../../embedded_displays/diagnostics</EMBEDDED_DIAG>
<GPLC>FEB-090:PSS-GPLC-1</GPLC>
<P>FEB-010Row:CnPw-U-001</P>
<PLC>FEB-090:PSS-PLC-1</PLC>
<SYMBOLS>../../symbols</SYMBOLS>
<PLC_SYMBOLS>$(SYMBOLS)/plc</PLC_SYMBOLS>
<POPUP_DIAG>popups/diagnostics</POPUP_DIAG>
</macros>
<width>1500</width>
<height>1006</height>
<widget type="rectangle" version="2.0.0">
<name>Title Rectangle</name>
<class>TITLE-BAR</class>
<x use_class="true">0</x>
<y use_class="true">0</y>
<width>1500</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>Title</name>
<class>TITLE</class>
<text>PSS1 PSS PLC Cabinet Diagnostics</text>
<x use_class="true">20</x>
<y use_class="true">0</y>
<width>550</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="embedded" version="2.0.0">
<name>EPICS</name>
<file>$(EMBEDDED_DIAG)//epics.bob</file>
<x>20</x>
<y>60</y>
<width>370</width>
<height>244</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>PLC Software</name>
<file>$(EMBEDDED_DIAG)/plc_software.bob</file>
<x>20</x>
<y>314</y>
<width>395</width>
<height>182</height>
<resize>2</resize>
</widget>
<widget type="polyline" version="2.0.0">
<name>GCPU-CPU Wire</name>
<x>520</x>
<y>325</y>
<width>220</width>
<height>40</height>
<points>
<point x="0.0" y="0.0">
</point>
<point x="0.0" y="40.0">
</point>
<point x="220.0" y="40.0">
</point>
<point x="220.0" y="0.0">
</point>
</points>
<line_color>
<color name="DISCONNECTED" red="105" green="77" blue="164">
</color>
</line_color>
<line_style>1</line_style>
<scripts>
<script file="EmbeddedPy" 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>$(PLC):GCPU_ConnStat</pv_name>
</script>
</scripts>
<tooltip>N/A</tooltip>
</widget>
<widget type="polyline" version="2.0.0">
<name>F Wire</name>
<x>780</x>
<y>325</y>
<width>365</width>
<height>75</height>
<points>
<point x="0.0" y="0.0">
</point>
<point x="0.0" y="75.0">
</point>
<point x="364.99999999999994" y="75.0">
</point>
<point x="365.0" y="0.0">
</point>
</points>
<line_color>
<color name="GREEN-BORDER" red="40" green="140" blue="40">
</color>
</line_color>
</widget>
<widget type="polyline" version="2.0.0">
<name>F Wire 2</name>
<x>1145</x>
<y>325</y>
<width>240</width>
<height>75</height>
<points>
<point x="0.0" y="75.0">
</point>
<point x="239.99999999999991" y="75.0">
</point>
<point x="239.99999999999997" y="0.0">
</point>
</points>
<line_color>
<color name="GREEN-BORDER" red="40" green="140" blue="40">
</color>
</line_color>
</widget>
<widget type="group" version="2.0.0">
<name>GCPU</name>
<x>450</x>
<y>60</y>
<width>162</width>
<height>270</height>
<style>3</style>
<transparent>true</transparent>
<widget type="label" version="2.0.0">
<name>Title</name>
<text>Gateway CPU</text>
<width>162</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="picture" version="2.0.0">
<name>GCPU</name>
<file>$(PLC_SYMBOLS)/GCPU.png</file>
<y>40</y>
<width>162</width>
<height>230</height>
</widget>
<widget type="embedded" version="2.0.0">
<name>Diag</name>
<macros>
<DIAG_CONN_STAT>$(GPLC):CPU_ConnStat</DIAG_CONN_STAT>
<DIAG_STAT>$(GPLC):CPU_Stat</DIAG_STAT>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>67</x>
<y>83</y>
<width>30</width>
<height>70</height>
<visible>false</visible>
<resize>2</resize>
<transparent>true</transparent>
</widget>
</widget>
<widget type="group" version="2.0.0">
<name>CPU</name>
<x>700</x>
<y>60</y>
<width>162</width>
<height>270</height>
<style>3</style>
<transparent>true</transparent>
<widget type="label" version="2.0.0">
<name>Title</name>
<text>CPU</text>
<width>162</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="picture" version="2.0.0">
<name>CPU</name>
<file>$(PLC_SYMBOLS)/CPU.png</file>
<y>40</y>
<width>162</width>
<height>230</height>
</widget>
<widget type="embedded" version="2.0.0">
<name>Diag</name>
<macros>
<DIAG_CONN_STAT>$(PLC):CPU_ConnStat</DIAG_CONN_STAT>
<DIAG_STAT>$(PLC):CPU_Stat</DIAG_STAT>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>67</x>
<y>83</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
</widget>
<widget type="polyline" version="2.0.0">
<name>Switch Wire</name>
<x>970</x>
<y>325</y>
<width>1</width>
<height>179</height>
<points>
<point x="0.0" y="0.0">
</point>
<point x="0.0" y="178.99999999999997">
</point>
</points>
<line_color>
<color name="GREEN-BORDER" red="40" green="140" blue="40">
</color>
</line_color>
</widget>
<widget type="group" version="2.0.0">
<name>Switch</name>
<x>890</x>
<y>60</y>
<width>120</width>
<height>270</height>
<style>3</style>
<transparent>true</transparent>
<widget type="label" version="2.0.0">
<name>Title</name>
<text>Scalance</text>
<width>120</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="picture" version="2.0.0">
<name>Switch</name>
<file>$(PLC_SYMBOLS)/Switch.png</file>
<y>40</y>
<width>120</width>
<height>230</height>
</widget>
<widget type="symbol" version="2.0.0">
<name>SCL_Stat</name>
<pv_name>FEB-010Row:CnPw-U-001:SCL_Stat</pv_name>
<symbols>
<symbol>$(SYMBOLS)/alarms/error.svg</symbol>
</symbols>
<x>48</x>
<y>126</y>
<width>24</width>
<height>24</height>
<scripts>
<script file="$(EMBEDDED_DIAG)/diag_conn_stat.py" check_connections="false">
<pv_name>$(pv_name)</pv_name>
</script>
</scripts>
<tooltip>N/A</tooltip>
</widget>
</widget>
<widget type="group" version="2.0.0">
<name>HMI</name>
<x>1040</x>
<y>60</y>
<width>210</width>
<height>270</height>
<style>3</style>
<transparent>true</transparent>
<widget type="picture" version="2.0.0">
<name>HMI</name>
<file>$(PLC_SYMBOLS)/HMI.png</file>
<y>40</y>
<width>210</width>
<height>230</height>
</widget>
<widget type="label" version="2.0.0">
<name>Title</name>
<text>HMI</text>
<width>210</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="symbol" version="2.0.0">
<name>HMI_ConnStat</name>
<pv_name>$(PLC):HMI_ConnStat</pv_name>
<symbols>
<symbol>$(SYMBOLS)/alarms/unconnected.svg</symbol>
</symbols>
<x>89</x>
<y>93</y>
<width>24</width>
<height>24</height>
<scripts>
<script file="$(EMBEDDED_DIAG)/diag_conn_stat.py" check_connections="false">
<pv_name>$(pv_name)</pv_name>
</script>
</scripts>
<tooltip>N/A</tooltip>
</widget>
</widget>
<widget type="group" version="2.0.0">
<name>PAS HMI</name>
<x>1280</x>
<y>60</y>
<width>210</width>
<height>270</height>
<style>3</style>
<transparent>true</transparent>
<widget type="picture" version="2.0.0">
<name>PAS HMI</name>
<file>$(PLC_SYMBOLS)/HMI.png</file>
<y>40</y>
<width>210</width>
<height>230</height>
</widget>
<widget type="label" version="2.0.0">
<name>Title</name>
<text>PAS HMI</text>
<width>210</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="symbol" version="2.0.0">
<name>PASHMI_ConnStat</name>
<pv_name>$(PLC):PASHMI_ConnStat</pv_name>
<symbols>
<symbol>$(SYMBOLS)/alarms/unconnected.svg</symbol>
</symbols>
<x>89</x>
<y>93</y>
<width>24</width>
<height>24</height>
<scripts>
<script file="$(EMBEDDED_DIAG)/diag_conn_stat.py" check_connections="false">
<pv_name>$(pv_name)</pv_name>
</script>
</scripts>
<tooltip>N/A</tooltip>
</widget>
</widget>
<widget type="polyline" version="2.0.0">
<name>RIO Wire</name>
<x>340</x>
<y>506</y>
<width>632</width>
<height>75</height>
<points>
<point x="0.0" y="75.0">
</point>
<point x="0.0" y="0.0">
</point>
<point x="632.0" y="0.0">
</point>
</points>
<line_color>
<color name="GREEN-BORDER" red="40" green="140" blue="40">
</color>
</line_color>
</widget>
<widget type="embedded" version="2.0.0">
<name>PSS1 PSS $(CABINET) Cabinet</name>
<macros>
<BOB>$(POPUP_DIAG)/PLC_cabinet_diagnostics.bob</BOB>
<CABINET>PLC</CABINET>
<P>FEB-010Row:CnPw-U-001</P>
<RIO>0</RIO>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_cabinet.bob</file>
<x>20</x>
<y>531</y>
<width>260</width>
<height>465</height>
<resize>2</resize>
</widget>
<widget type="group" version="2.0.0">
<name>Remote I/O</name>
<macros>
<DIAG_CONN_STAT>$(P):$(MOD)_ConnStat</DIAG_CONN_STAT>
<DIAG_STAT>$(P):$(MOD)_Stat</DIAG_STAT>
</macros>
<x>300</x>
<y>531</y>
<width>1113</width>
<height>390</height>
<style>3</style>
<transparent>true</transparent>
<widget type="label" version="2.0.0">
<name>Title_1</name>
<text>Remote I/O</text>
<width>1113</width>
<height>40</height>
<font>
<font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
</font>
</font>
<horizontal_alignment>1</horizontal_alignment>
<vertical_alignment>1</vertical_alignment>
<wrap_words>false</wrap_words>
</widget>
<widget type="picture" version="2.0.0">
<name>RIO</name>
<file>$(PLC_SYMBOLS)/RIO$(RIO=0).png</file>
<y>40</y>
<width>1113</width>
<height>346</height>
</widget>
<widget type="embedded" version="2.0.0">
<name>IM_Diag</name>
<macros>
<MOD>IM</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>85</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot1_Diag</name>
<macros>
<MOD>Slot1</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>135</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot2_Diag</name>
<macros>
<MOD>Slot2</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>180</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot3_Diag</name>
<macros>
<MOD>Slot3</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>226</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot4_Diag</name>
<macros>
<MOD>Slot4</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>270</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot5_Diag</name>
<macros>
<MOD>Slot5</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>316</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot6_Diag</name>
<macros>
<MOD>Slot6</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>361</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot7_Diag</name>
<macros>
<MOD>Slot7</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>410</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot8_Diag</name>
<macros>
<MOD>Slot8</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>454</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot9_Diag</name>
<macros>
<MOD>Slot9</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>500</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot10_Diag</name>
<macros>
<MOD>Slot10</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>546</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot11_Diag</name>
<macros>
<MOD>Slot11</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>590</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot12_Diag</name>
<macros>
<MOD>Slot12</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>636</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot13_Diag</name>
<macros>
<MOD>Slot13</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>682</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot14_Diag</name>
<macros>
<MOD>Slot14</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>726</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot15_Diag</name>
<macros>
<MOD>Slot15</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>773</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot16_Diag</name>
<macros>
<MOD>Slot16</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>818</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot17_Diag</name>
<macros>
<MOD>Slot17</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>862</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot18_Diag</name>
<macros>
<MOD>Slot18</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>908</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot19_Diag</name>
<macros>
<MOD>Slot19</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>955</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot20_Diag</name>
<macros>
<MOD>Slot20</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>1000</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
<widget type="embedded" version="2.0.0">
<name>Slot21_Diag</name>
<macros>
<MOD>Slot21</MOD>
</macros>
<file>$(EMBEDDED_DIAG)/PLC_module_status.bob</file>
<x>1047</x>
<y>275</y>
<width>30</width>
<height>70</height>
<resize>2</resize>
<transparent>true</transparent>
</widget>
</widget>
</display>