diff --git a/NON-APPROVED/Cryo/ACCP/Coldbox/process2ndTurbineString.opi b/NON-APPROVED/Cryo/ACCP/Coldbox/process2ndTurbineString.opi index 9dbad57263a39c1a33837159384315098f155b3e..d34dd0813fefd7fbae04c5ce1ff4bc026dd10100 100644 --- a/NON-APPROVED/Cryo/ACCP/Coldbox/process2ndTurbineString.opi +++ b/NON-APPROVED/Cryo/ACCP/Coldbox/process2ndTurbineString.opi @@ -2663,51 +2663,6 @@ $(pv_value)</tooltip> <x>799</x> <y>624</y> </widget> - <widget typeId="org.csstudio.opibuilder.widgets.linkingContainer" version="1.0.0"> - <actions hook="true" hook_all="false" /> - <background_color> - <color name="Background Grey" red="220" green="220" blue="220" /> - </background_color> - <border_color> - <color red="0" green="128" blue="255" /> - </border_color> - <border_style>0</border_style> - <border_width>1</border_width> - <enabled>true</enabled> - <font> - <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> - </font> - <foreground_color> - <color red="192" green="192" blue="192" /> - </foreground_color> - <group_name></group_name> - <height>36</height> - <macros> - <include_parent_macros>true</include_parent_macros> - <DEV>TT</DEV> - <LINDEDEV>TI</LINDEDEV> - <IND>31202</IND> - <PROP>Val</PROP> - <ADD></ADD> - </macros> - <name>Linking Indicator_70</name> - <opi_file>../Common/Element/indicator.opi</opi_file> - <resize_behaviour>1</resize_behaviour> - <rules /> - <scale_options> - <width_scalable>true</width_scalable> - <height_scalable>true</height_scalable> - <keep_wh_ratio>false</keep_wh_ratio> - </scale_options> - <scripts /> - <tooltip></tooltip> - <visible>true</visible> - <widget_type>Linking Container</widget_type> - <width>76</width> - <wuid>-6bf96974:15b585fdc01:-6300</wuid> - <x>450</x> - <y>587</y> - </widget> <widget typeId="org.csstudio.opibuilder.widgets.polyline" version="1.0.0"> <actions hook="false" hook_all="false" /> <alarm_pulsing>false</alarm_pulsing> @@ -7720,4 +7675,94 @@ $(pv_value)</tooltip> <x>500</x> <y>450</y> </widget> + <widget typeId="org.csstudio.opibuilder.widgets.linkingContainer" version="1.0.0"> + <actions hook="true" hook_all="false" /> + <background_color> + <color name="Background Grey" red="220" green="220" blue="220" /> + </background_color> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <border_style>0</border_style> + <border_width>1</border_width> + <enabled>true</enabled> + <font> + <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> + </font> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <group_name></group_name> + <height>36</height> + <macros> + <include_parent_macros>true</include_parent_macros> + <DEV>TT</DEV> + <LINDEDEV>TI</LINDEDEV> + <IND>31202</IND> + <PROP>Val</PROP> + <ADD></ADD> + </macros> + <name>Linking Indicator_70</name> + <opi_file>../Common/Element/indicator.opi</opi_file> + <resize_behaviour>1</resize_behaviour> + <rules /> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <scripts /> + <tooltip></tooltip> + <visible>true</visible> + <widget_type>Linking Container</widget_type> + <width>76</width> + <wuid>434f1896:172db1765ca:-78f2</wuid> + <x>450</x> + <y>587</y> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.linkingContainer" version="1.0.0"> + <actions hook="true" hook_all="false" /> + <background_color> + <color name="Background Grey" red="220" green="220" blue="220" /> + </background_color> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <border_style>0</border_style> + <border_width>1</border_width> + <enabled>true</enabled> + <font> + <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> + </font> + <foreground_color> + <color red="192" green="192" blue="192" /> + </foreground_color> + <group_name></group_name> + <height>36</height> + <macros> + <include_parent_macros>true</include_parent_macros> + <DEV>PT</DEV> + <LINDEDEV>PI</LINDEDEV> + <IND>31202</IND> + <PROP>Val</PROP> + <ADD></ADD> + </macros> + <name>Linking Indicator_171</name> + <opi_file>../Common/Element/indicator.opi</opi_file> + <resize_behaviour>1</resize_behaviour> + <rules /> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <scripts /> + <tooltip></tooltip> + <visible>true</visible> + <widget_type>Linking Container</widget_type> + <width>76</width> + <wuid>434f1896:172db1765ca:-78e3</wuid> + <x>350</x> + <y>600</y> + </widget> </display> \ No newline at end of file diff --git a/NON-APPROVED/Cryo/ACCP/Common/Faceplate/controllerAerzenCompressor.opi b/NON-APPROVED/Cryo/ACCP/Common/Faceplate/controllerAerzenCompressor.opi index 2cd7cb41bdfac67e69753041e1bcb76997ad51cb..867c5c456ea86003ddf082e364cb21d3c22ea5de 100644 --- a/NON-APPROVED/Cryo/ACCP/Common/Faceplate/controllerAerzenCompressor.opi +++ b/NON-APPROVED/Cryo/ACCP/Common/Faceplate/controllerAerzenCompressor.opi @@ -10,7 +10,7 @@ <background_color> <color name="Background Grey" red="220" green="220" blue="220" /> </background_color> - <boy_version>5.1.0.201607211843</boy_version> + <boy_version>5.1.0</boy_version> <foreground_color> <color red="192" green="192" blue="192" /> </foreground_color> @@ -46,13 +46,13 @@ <border_width>1</border_width> <enabled>true</enabled> <font> - <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> </font> <foreground_color> <color red="192" green="192" blue="192" /> </foreground_color> <group_name></group_name> - <height>169</height> + <height>168</height> <macros> <include_parent_macros>true</include_parent_macros> </macros> @@ -97,7 +97,7 @@ <border_width>1</border_width> <enabled>true</enabled> <font> - <opifont.name fontName="sans" height="12" style="0">Normal</opifont.name> + <opifont.name fontName="sans" height="12" style="0" pixels="false">Normal</opifont.name> </font> <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> <foreground_color> @@ -125,8 +125,8 @@ $(pv_value)</tooltip> <widget_type>Action Button</widget_type> <width>80</width> <wuid>-3d374cbc:15b0fe66642:-4232</wuid> - <x>280</x> - <y>270</y> + <x>270</x> + <y>310</y> </widget> <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> <actions hook="false" hook_all="false" /> @@ -145,7 +145,7 @@ $(pv_value)</tooltip> <confirm_message></confirm_message> <enabled>true</enabled> <font> - <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> </font> <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> <foreground_color> @@ -214,12 +214,12 @@ $(pv_value)</tooltip> <border_width>1</border_width> <enabled>true</enabled> <font> - <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> </font> <foreground_color> <color red="0" green="0" blue="0" /> </foreground_color> - <height>21</height> + <height>13</height> <horizontal_alignment>1</horizontal_alignment> <name>Label</name> <rules /> @@ -235,7 +235,7 @@ $(pv_value)</tooltip> <vertical_alignment>1</vertical_alignment> <visible>true</visible> <widget_type>Label</widget_type> - <width>266</width> + <width>213</width> <wrap_words>false</wrap_words> <wuid>230bea23:15c643dc121:-5623</wuid> <x>20</x> @@ -257,7 +257,7 @@ $(pv_value)</tooltip> <border_width>1</border_width> <enabled>true</enabled> <font> - <opifont.name fontName="Cantarell" height="11" style="0">Default</opifont.name> + <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> </font> <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> <foreground_color> @@ -293,4 +293,181 @@ $(pv_value)</tooltip> <x>160</x> <y>230</y> </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextInput" version="2.0.0"> + <actions hook="false" hook_all="false" /> + <alarm_pulsing>false</alarm_pulsing> + <auto_size>false</auto_size> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <border_alarm_sensitive>false</border_alarm_sensitive> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <border_style>3</border_style> + <border_width>1</border_width> + <confirm_message></confirm_message> + <enabled>true</enabled> + <font> + <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> + </font> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <format_type>1</format_type> + <height>25</height> + <horizontal_alignment>0</horizontal_alignment> + <limits_from_pv>false</limits_from_pv> + <maximum>0.0</maximum> + <minimum>100.0</minimum> + <multiline_input>false</multiline_input> + <name>Text Input_1</name> + <precision>3</precision> + <precision_from_pv>true</precision_from_pv> + <pv_name>CrS-ACCP:CRYO-C-21000:PwrSp</pv_name> + <pv_value /> + <rotation_angle>0.0</rotation_angle> + <rules> + <rule name="Lock" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv1==1 && pv3==1"> + <value>true</value> + </exp> + <exp bool_exp="pv0==1 && pv2==1"> + <value>false</value> + </exp> + <exp bool_exp="1"> + <value>false</value> + </exp> + <pv trig="true">$(P)-SCREENLOCK</pv> + <pv trig="true">$(P)-LOCALSCREENLOCK$(LOCKID)</pv> + <pv trig="true">$(PRE):Loc</pv> + <pv trig="true">$(PRE):Rem</pv> + </rule> + </rules> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <scripts /> + <selector_type>0</selector_type> + <show_units>true</show_units> + <style>0</style> + <text></text> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <transparent>false</transparent> + <visible>true</visible> + <widget_type>Text Input</widget_type> + <width>100</width> + <wuid>-6087796a:172dfd0f160:-10d0</wuid> + <x>30</x> + <y>270</y> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <actions hook="false" hook_all="false" /> + <alarm_pulsing>false</alarm_pulsing> + <auto_size>false</auto_size> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <border_alarm_sensitive>true</border_alarm_sensitive> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <border_style>0</border_style> + <border_width>1</border_width> + <enabled>true</enabled> + <font> + <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> + </font> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <format_type>0</format_type> + <height>25</height> + <horizontal_alignment>0</horizontal_alignment> + <name>Text Update_1</name> + <precision>0</precision> + <precision_from_pv>true</precision_from_pv> + <pv_name>CrS-ACCP:CRYO-C-21000:PwrSp-RB</pv_name> + <pv_value /> + <rotation_angle>0.0</rotation_angle> + <rules /> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <scripts /> + <show_units>true</show_units> + <text>######</text> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <transparent>false</transparent> + <vertical_alignment>1</vertical_alignment> + <visible>true</visible> + <widget_type>Text Update</widget_type> + <width>100</width> + <wrap_words>false</wrap_words> + <wuid>-6087796a:172dfd0f160:-10cf</wuid> + <x>160</x> + <y>270</y> + </widget> + <widget typeId="org.csstudio.opibuilder.widgets.TextUpdate" version="1.0.0"> + <actions hook="false" hook_all="false" /> + <alarm_pulsing>false</alarm_pulsing> + <auto_size>false</auto_size> + <backcolor_alarm_sensitive>false</backcolor_alarm_sensitive> + <background_color> + <color red="255" green="255" blue="255" /> + </background_color> + <border_alarm_sensitive>true</border_alarm_sensitive> + <border_color> + <color red="0" green="128" blue="255" /> + </border_color> + <border_style>0</border_style> + <border_width>1</border_width> + <enabled>true</enabled> + <font> + <opifont.name fontName=".AppleSystemUIFont" height="11" style="0" pixels="false">Default</opifont.name> + </font> + <forecolor_alarm_sensitive>false</forecolor_alarm_sensitive> + <foreground_color> + <color red="0" green="0" blue="0" /> + </foreground_color> + <format_type>0</format_type> + <height>25</height> + <horizontal_alignment>0</horizontal_alignment> + <name>Text Update_2</name> + <precision>0</precision> + <precision_from_pv>true</precision_from_pv> + <pv_name>CrS-ACCP:CRYO-C-21000:PwrSp-RBtoSP</pv_name> + <pv_value /> + <rotation_angle>0.0</rotation_angle> + <rules /> + <scale_options> + <width_scalable>true</width_scalable> + <height_scalable>true</height_scalable> + <keep_wh_ratio>false</keep_wh_ratio> + </scale_options> + <scripts /> + <show_units>true</show_units> + <text>######</text> + <tooltip>$(pv_name) +$(pv_value)</tooltip> + <transparent>false</transparent> + <vertical_alignment>1</vertical_alignment> + <visible>true</visible> + <widget_type>Text Update</widget_type> + <width>100</width> + <wrap_words>false</wrap_words> + <wuid>-6087796a:172dfd0f160:58c0</wuid> + <x>160</x> + <y>310</y> + </widget> </display> \ No newline at end of file diff --git a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/AnalogMeasure/AnalogTransmitter_BlockIcon_Pt100Temperature_OnlyText_Vertical_Compact.bob b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/AnalogMeasure/AnalogTransmitter_BlockIcon_Pt100Temperature_OnlyText_Vertical_Compact.bob old mode 100644 new mode 100755 index fc22d7d1e6a5d7679946fd7401e0c64a5697ba47..6d8cb13f624d84cbf138e3320d71bfc4f8591ecc --- a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/AnalogMeasure/AnalogTransmitter_BlockIcon_Pt100Temperature_OnlyText_Vertical_Compact.bob +++ b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/AnalogMeasure/AnalogTransmitter_BlockIcon_Pt100Temperature_OnlyText_Vertical_Compact.bob @@ -1,39 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <display version="2.0.0"> <name>AnalogTransmitter_BlockIcon_Pt100Temperature_OnlyText_Vertical_Compact</name> - <width>170</width> - <height>65</height> - <widget type="symbol" version="2.0.0"> - <name>WID_Locked</name> - <symbols> - <symbol>../../symbols/custom_v02/lock_locked@32.png</symbol> - </symbols> - <x>148</x> - <y>20</y> - <width>17</width> - <height>26</height> - <rules> - <rule name="VisibilityRule" prop_id="visible" out_exp="false"> - <exp bool_exp="pv0 == true"> - <value>true</value> - </exp> - <exp bool_exp="pv0 == false"> - <value>false</value> - </exp> - <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:DevLocked</pv_name> - </rule> - </rules> - <tooltip>Device is locked</tooltip> - </widget> + <width>130</width> + <height>40</height> + <background_color> + <color name="Transparent" red="255" green="255" blue="255" alpha="0"> + </color> + </background_color> <widget type="label" version="2.0.0"> <name>WID_TitleLBL</name> <text>${WIDDev}-${WIDIndex}</text> <x>20</x> - <y>2</y> - <width>128</width> - <height>29</height> + <width>110</width> <font> - <font family="Source Sans Pro" style="BOLD" size="28.0"> + <font family="Source Sans Pro" style="BOLD" size="14.0"> </font> </font> <background_color> @@ -42,56 +22,21 @@ </background_color> <horizontal_alignment>1</horizontal_alignment> <vertical_alignment>1</vertical_alignment> - <scripts> - <script file="EmbeddedJs"> - <text><![CDATA[/* Embedded javascript */ -/* Author: Miklos Boros*/ -/* Function: check if locking is allowed is yes then generate the LockID, after that it opens the Faceplate*/ - - -PVUtil = org.csstudio.display.builder.runtime.script.PVUtil; -logger = org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger(); -PVFactory = org.csstudio.display.builder.runtime.pv.PVFactory; -WidgetColorService = org.csstudio.display.builder.model.persist.WidgetColorService; - - -macros = widget.getEffectiveMacros(); -WIDDev = macros.getValue("WIDDev"); - -color = WidgetColorService.getColor("Background"); -if (WIDDev == "PT") -{ - color = WidgetColorService.getColor("GREEN-BACKGROUND"); -} -if (WIDDev == "TT") -{ - color = WidgetColorService.getColor("YELLOW-BACKGROUND"); -} -if (WIDDev == "FT") -{ - color = WidgetColorService.getColor("BLUE-BACKGROUND"); -} - - widget.setPropertyValue("background_color",color); -]]></text> - <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:MeasValue.EGU</pv_name> - </script> - </scripts> <tooltip>Device name</tooltip> </widget> <widget type="textupdate" version="2.0.0"> <name>WID_MeasValue</name> <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:MeasValue</pv_name> - <x>21</x> - <y>30</y> - <width>127</width> - <height>30</height> + <x>20</x> + <y>20</y> + <width>109</width> + <height>19</height> <font> - <font family="Source Sans Pro" style="REGULAR" size="24.0"> + <font family="Source Sans Pro" style="REGULAR" size="14.0"> </font> </font> - <transparent>true</transparent> <precision>2</precision> + <show_units>false</show_units> <horizontal_alignment>1</horizontal_alignment> <vertical_alignment>1</vertical_alignment> <wrap_words>false</wrap_words> @@ -115,19 +60,24 @@ if (WIDDev == "FT") </color> </value> </exp> - <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:TransmitterColor</pv_name> </rule> </rules> <border_alarm_sensitive>false</border_alarm_sensitive> + <border_width>1</border_width> + <border_color> + <color name="GRAY-BORDER" red="121" green="121" blue="121"> + </color> + </border_color> </widget> <widget type="symbol" version="2.0.0"> <name>WID_AlarmIcon</name> <symbols> <symbol>../../symbols/custom_v02/error@32.png</symbol> </symbols> - <y>4</y> - <width>30</width> - <height>30</height> + <x>3</x> + <y>3</y> + <width>15</width> + <height>15</height> <actions> </actions> <rules> @@ -146,14 +96,14 @@ if (WIDDev == "FT") <widget type="label" version="2.0.0"> <name>WID_AUTMANIcon</name> <text>A</text> - <x>6</x> - <y>25</y> + <y>20</y> <width>20</width> - <height>30</height> <font> - <font family="Source Sans Pro" style="BOLD" size="29.0"> + <font family="Source Sans Pro" style="BOLD" size="14.0"> </font> </font> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> <rules> <rule name="TextRule" prop_id="text" out_exp="false"> <exp bool_exp="pv0 == true"> @@ -257,7 +207,11 @@ catch (e) { logger.info(" Cant open Faceplate, IOC is disconnected"); } if (crc >=2147483647){ crc = crc - 2147483647;} logger.info(" BlockIcon machine ID: "+crc); /*Write Block Icon ID to the PV*/ - P_BlockIcon_LockID.setValue(crc); + try + { + P_BlockIcon_LockID.setValue(crc); + } + catch (e) { logger.info(" Locked ID cannot write pv"); } } //Check if device is Locked @@ -283,8 +237,8 @@ PVFactory.releasePV(Inhibit_Lock); </action> </actions> <text></text> - <width>170</width> - <height>65</height> + <width>130</width> + <height>20</height> <transparent>true</transparent> <tooltip>Open faceplate</tooltip> </widget> diff --git a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/AnalogMeasure/AnalogTransmitter_Faceplate_Pt100_Temperature.bob b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/AnalogMeasure/AnalogTransmitter_Faceplate_Pt100_Temperature.bob old mode 100644 new mode 100755 index 5c4f7bf0f810d044ce51370b1c89eea1704e447b..88f9739ed54598392034408ba43082a46e67a7e8 --- a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/AnalogMeasure/AnalogTransmitter_Faceplate_Pt100_Temperature.bob +++ b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/AnalogMeasure/AnalogTransmitter_Faceplate_Pt100_Temperature.bob @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <display version="2.0.0"> <name>Analog_TRANSMITTER_Pt100_Faceplate</name> - <width>965</width> - <height>780</height> + <width>960</width> + <height>820</height> <widget type="tabs" version="2.0.0"> <name>Tabs</name> <tabs> @@ -28,6 +28,8 @@ <color name="GROUP-BORDER" red="150" green="155" blue="151"> </color> </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> </widget> <widget type="rectangle" version="2.0.0"> <name>group.background</name> @@ -44,6 +46,8 @@ <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>LB_Status</name> @@ -137,62 +141,30 @@ <height>30</height> <precision>2</precision> <vertical_alignment>1</vertical_alignment> - <rules> - <rule name="Enable" prop_id="enabled" out_exp="false"> - <exp bool_exp="(pv0 == 0) || (pv1 == 1)"> - <value>false</value> - </exp> - <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> - <value>true</value> - </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Forced</pv_name> - <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> - </rule> - </rules> <tooltip>Feedback force Value</tooltip> <border_alarm_sensitive>false</border_alarm_sensitive> </widget> - <widget type="gauge" version="2.0.0"> + <widget type="meter" version="3.0.0"> <name>Gauge</name> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:MeasValue</pv_name> - <skin>4</skin> - <x>14</x> - <y>44</y> - <width>270</width> - <height>172</height> + <x>12</x> + <y>42</y> + <width>276</width> + <height>142</height> <precision>1</precision> <rules> - <rule name="HIHI" prop_id="level_hihi" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_Limit_HIHI</pv_name> - </rule> - <rule name="HI" prop_id="level_high" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_Limit_HI</pv_name> - </rule> - <rule name="LO" prop_id="level_low" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_Limit_LO</pv_name> + <rule name="HIHI" prop_id="maximum" out_exp="true"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleHIGH</pv_name> </rule> - <rule name="LOLO" prop_id="level_lolo" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_Limit_LOLO</pv_name> + <rule name="LOLO" prop_id="minimum" out_exp="true"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleLOW</pv_name> </rule> </rules> + <tooltip>Measured Value</tooltip> <border_alarm_sensitive>false</border_alarm_sensitive> - <auto_scale>false</auto_scale> - <maximum>350.0</maximum> <limits_from_pv>false</limits_from_pv> - <major_tick_space>100.0</major_tick_space> - <minor_tick_space>15.0</minor_tick_space> + <minimum>273.0</minimum> + <maximum>323.0</maximum> </widget> </widget> <widget type="group" version="2.0.0"> @@ -214,6 +186,8 @@ <color name="GROUP-BORDER" red="150" green="155" blue="151"> </color> </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> </widget> <widget type="rectangle" version="2.0.0"> <name>group.op.modes.background</name> @@ -230,6 +204,8 @@ <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>LB_OP_MODES</name> @@ -303,28 +279,6 @@ </background_color> <vertical_alignment>1</vertical_alignment> </widget> - <widget type="label" version="2.0.0"> - <name>LB_MESSAGES_1</name> - <text>MESSAGES</text> - <x>5</x> - <y>160</y> - <width>290</width> - <font> - <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> - </font> - </font> - <foreground_color> - <color name="GRAY-TEXT" red="255" green="255" blue="255"> - </color> - </foreground_color> - <background_color> - <color name="GROUP-BORDER" red="150" green="155" blue="151"> - </color> - </background_color> - <transparent>false</transparent> - <horizontal_alignment>1</horizontal_alignment> - <vertical_alignment>1</vertical_alignment> - </widget> <widget type="label" version="2.0.0"> <name>MSG_InhibitForce</name> <text>- Force mode inhibited</text> @@ -409,6 +363,29 @@ </rule> </rules> </widget> + <widget type="label" version="2.0.0"> + <name>LB_OP_MODES_1</name> + <text>MESSAGES</text> + <x>2</x> + <y>156</y> + <width>295</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> </widget> <widget type="group" version="2.0.0"> <name>group.alarms</name> @@ -429,13 +406,15 @@ <color name="GROUP-BORDER" red="150" green="155" blue="151"> </color> </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> </widget> <widget type="rectangle" version="2.0.0"> <name>group.alarms.background</name> <x>5</x> <y>35</y> <width>290</width> - <height>506</height> + <height>509</height> <line_width>0</line_width> <line_color> <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> @@ -445,45 +424,8 @@ <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> </color> </background_color> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_ALARMS</name> - <text>ALARMS</text> - <width>300</width> - <height>35</height> - <font> - <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> - </font> - </font> - <foreground_color> - <color name="GRAY-TEXT" red="255" green="255" blue="255"> - </color> - </foreground_color> - <background_color> - <color name="GROUP-BORDER" red="150" green="155" blue="151"> - </color> - </background_color> - <transparent>false</transparent> - <horizontal_alignment>1</horizontal_alignment> - <vertical_alignment>1</vertical_alignment> - <rules> - <rule name="BackgroundColor" prop_id="background_color" out_exp="false"> - <exp bool_exp="pv0 == 1"> - <value> - <color name="MAJOR" red="252" green="13" blue="27"> - </color> - </value> - </exp> - <exp bool_exp="pv0 == 0"> - <value> - <color name="GROUP-BORDER" red="150" green="155" blue="151"> - </color> - </value> - </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupAlarm</pv_name> - </rule> - </rules> - <tooltip>Group alarm</tooltip> + <corner_width>10</corner_width> + <corner_height>10</corner_height> </widget> <widget type="led" version="2.0.0"> <name>LED_ALM_Overrange</name> @@ -695,46 +637,11 @@ </background_color> <vertical_alignment>1</vertical_alignment> </widget> - <widget type="led" version="2.0.0"> - <name>LED_ALM_IO_error</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:DigitalInp_IO_Error</pv_name> - <x>55</x> - <y>260</y> - <width>25</width> - <height>25</height> - <off_color> - <color name="Grid" red="169" green="169" blue="169"> - </color> - </off_color> - <on_color> - <color name="MAJOR" red="252" green="13" blue="27"> - </color> - </on_color> - <tooltip>I/O Error</tooltip> - <border_alarm_sensitive>false</border_alarm_sensitive> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_ALM_IO_Error</name> - <text>Digital Input Error</text> - <x>90</x> - <y>260</y> - <width>155</width> - <height>25</height> - <foreground_color> - <color name="TEXT" red="25" green="25" blue="25"> - </color> - </foreground_color> - <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> - </color> - </background_color> - <vertical_alignment>1</vertical_alignment> - </widget> <widget type="led" version="2.0.0"> <name>LED_ALM_Module_Error</name> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Module_Error</pv_name> <x>55</x> - <y>328</y> + <y>261</y> <width>25</width> <height>25</height> <off_color> @@ -752,7 +659,7 @@ <name>LB_ALM_Module_Error</name> <text>Siemens Module Error</text> <x>90</x> - <y>328</y> + <y>261</y> <width>155</width> <height>25</height> <foreground_color> @@ -765,40 +672,46 @@ </background_color> <vertical_alignment>1</vertical_alignment> </widget> - <widget type="led" version="2.0.0"> - <name>LED_ALM_IO_error_1</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:AnalogInp_IO_Error</pv_name> - <x>55</x> - <y>294</y> - <width>25</width> - <height>25</height> - <off_color> - <color name="Grid" red="169" green="169" blue="169"> - </color> - </off_color> - <on_color> - <color name="MAJOR" red="252" green="13" blue="27"> - </color> - </on_color> - <tooltip>I/O Error</tooltip> - <border_alarm_sensitive>false</border_alarm_sensitive> - </widget> <widget type="label" version="2.0.0"> - <name>LB_ALM_IO_Error_1</name> - <text>Analog Input Error</text> - <x>90</x> - <y>294</y> - <width>155</width> - <height>25</height> + <name>LB_ALARMS</name> + <text>ALARMS</text> + <x>5</x> + <y>5</y> + <width>290</width> + <height>30</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> <foreground_color> - <color name="TEXT" red="25" green="25" blue="25"> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> </color> </foreground_color> <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> </color> </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="BackgroundColor" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </value> + </exp> + <exp bool_exp="pv0 == 0"> + <value> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupAlarm</pv_name> + </rule> + </rules> + <tooltip>Group alarm</tooltip> </widget> </widget> <widget type="group" version="2.0.0"> @@ -820,13 +733,15 @@ <color name="GROUP-BORDER" red="150" green="155" blue="151"> </color> </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> </widget> <widget type="rectangle" version="2.0.0"> <name>group.limits.background</name> <x>5</x> <y>35</y> <width>290</width> - <height>196</height> + <height>198</height> <line_width>0</line_width> <line_color> <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> @@ -836,6 +751,8 @@ <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>LB_Limits</name> @@ -897,20 +814,16 @@ <precision>2</precision> <rules> <rule name="MinimumRule" prop_id="minimum" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleLOW</pv_name> </rule> <rule name="MaximumRule" prop_id="maximum" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleHIGH</pv_name> </rule> </rules> <tooltip>Alarm HIHI</tooltip> <border_alarm_sensitive>false</border_alarm_sensitive> + <maximum>400.0</maximum> + <limits_from_pv>false</limits_from_pv> </widget> <widget type="spinner" version="2.0.0"> <name>INP_HIGH</name> @@ -922,20 +835,16 @@ <precision>2</precision> <rules> <rule name="MinimumRule" prop_id="minimum" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleLOW</pv_name> </rule> <rule name="MaximumRule" prop_id="maximum" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleHIGH</pv_name> </rule> </rules> <tooltip>Warning HIGH</tooltip> <border_alarm_sensitive>false</border_alarm_sensitive> + <maximum>400.0</maximum> + <limits_from_pv>false</limits_from_pv> </widget> <widget type="label" version="2.0.0"> <name>LB_HIGH</name> @@ -995,20 +904,16 @@ <precision>2</precision> <rules> <rule name="MinimumRule" prop_id="minimum" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleLOW</pv_name> </rule> <rule name="MaximumRule" prop_id="maximum" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleHIGH</pv_name> </rule> </rules> <tooltip>Warning LOW</tooltip> <border_alarm_sensitive>false</border_alarm_sensitive> + <maximum>400.0</maximum> + <limits_from_pv>false</limits_from_pv> </widget> <widget type="textupdate" version="2.0.0"> <name>TU_FB_LOW</name> @@ -1050,20 +955,16 @@ <precision>2</precision> <rules> <rule name="MinimumRule" prop_id="minimum" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleLOW</pv_name> </rule> <rule name="MaximumRule" prop_id="maximum" out_exp="true"> - <exp bool_exp="true"> - <expression>pv0</expression> - </exp> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ScaleHIGH</pv_name> </rule> </rules> <tooltip>Alarm LOLO</tooltip> <border_alarm_sensitive>false</border_alarm_sensitive> + <maximum>400.0</maximum> + <limits_from_pv>false</limits_from_pv> </widget> <widget type="textupdate" version="2.0.0"> <name>TU_FB_LOLO</name> @@ -1093,6 +994,8 @@ <color name="GROUP-BORDER" red="150" green="155" blue="151"> </color> </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_AUTO</name> @@ -1121,7 +1024,8 @@ <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> </rule> </rules> - <tooltip>Free run operation mode</tooltip> + <tooltip>Measurement ON</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_FORCE</name> @@ -1151,6 +1055,7 @@ </rule> </rules> <tooltip>FORCE operation mode</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_FORCE_UNLOCK</name> @@ -1189,6 +1094,7 @@ </rule> </rules> <tooltip>Force unlock device</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_FORCE_APPLY</name> @@ -1218,6 +1124,7 @@ </rule> </rules> <tooltip>Apply force value</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_ACK</name> @@ -1251,12 +1158,13 @@ </rule> </rules> <tooltip>Acknowledge alarms</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="group" version="2.0.0"> <name>group.Cernox</name> <x>318</x> <y>322</y> - <height>249</height> + <height>243</height> <style>3</style> <widget type="rectangle" version="2.0.0"> <name>group.op.modes.border_1</name> @@ -1271,13 +1179,15 @@ <color name="GROUP-BORDER" red="150" green="155" blue="151"> </color> </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> </widget> <widget type="rectangle" version="2.0.0"> <name>group.op.modes.background_1</name> <x>5</x> <y>35</y> <width>290</width> - <height>195</height> + <height>197</height> <line_width>0</line_width> <line_color> <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> @@ -1287,6 +1197,8 @@ <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>LB_Pt100</name> @@ -1308,79 +1220,11 @@ <horizontal_alignment>1</horizontal_alignment> <vertical_alignment>1</vertical_alignment> </widget> - <widget type="text-symbol" version="2.0.0"> - <name>Text Symbol</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Range</pv_name> - <symbols> - <symbol>PR Conditioner</symbol> - <symbol>Range1</symbol> - <symbol>Range2</symbol> - <symbol>Range3</symbol> - <symbol>Range4:29.28K-120K</symbol> - </symbols> - <x>109</x> - <y>35</y> - <width>158</width> - <height>30</height> - <font> - <font family="Source Sans Pro" style="BOLD" size="16.0"> - </font> - </font> - <horizontal_alignment>0</horizontal_alignment> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_range</name> - <text>Range:</text> - <x>25</x> - <y>34</y> - <width>70</width> - <height>30</height> - <foreground_color> - <color name="TEXT" red="25" green="25" blue="25"> - </color> - </foreground_color> - <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> - </color> - </background_color> - <horizontal_alignment>2</horizontal_alignment> - <vertical_alignment>1</vertical_alignment> - </widget> - <widget type="textupdate" version="2.0.0"> - <name>TT_Resistance</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Resistance</pv_name> - <x>110</x> - <y>67</y> - <width>156</width> - <height>25</height> - <precision>0</precision> - <vertical_alignment>1</vertical_alignment> - <tooltip>Feedback force Value</tooltip> - <border_alarm_sensitive>false</border_alarm_sensitive> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_Resistance</name> - <text>Calc. Resist.</text> - <x>17</x> - <y>51</y> - <width>83</width> - <height>56</height> - <foreground_color> - <color name="TEXT" red="25" green="25" blue="25"> - </color> - </foreground_color> - <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> - </color> - </background_color> - <horizontal_alignment>2</horizontal_alignment> - <vertical_alignment>1</vertical_alignment> - </widget> <widget type="label" version="2.0.0"> <name>LB_Current</name> <text>Current:</text> <x>13</x> - <y>94</y> + <y>44</y> <width>83</width> <height>37</height> <foreground_color> @@ -1396,104 +1240,14 @@ </widget> <widget type="textupdate" version="2.0.0"> <name>TT_Current</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Current</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:MeasCurrent</pv_name> <x>109</x> - <y>100</y> + <y>50</y> <width>156</width> <height>25</height> <precision>2</precision> <vertical_alignment>1</vertical_alignment> - <tooltip>Feedback force Value</tooltip> - <border_alarm_sensitive>false</border_alarm_sensitive> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_Curve</name> - <text>Serial nr.</text> - <x>29</x> - <y>130</y> - <width>67</width> - <height>30</height> - <foreground_color> - <color name="TEXT" red="25" green="25" blue="25"> - </color> - </foreground_color> - <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> - </color> - </background_color> - <horizontal_alignment>2</horizontal_alignment> - <vertical_alignment>1</vertical_alignment> - </widget> - <widget type="textupdate" version="2.0.0"> - <name>TT_FB_Curve</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_SerialNumber</pv_name> - <x>110</x> - <y>133</y> - <width>155</width> - <height>25</height> - <precision>0</precision> - <vertical_alignment>1</vertical_alignment> - <tooltip>Feedback force Value</tooltip> - <border_alarm_sensitive>false</border_alarm_sensitive> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_Curve_1</name> - <text>Device</text> - <x>37</x> - <y>166</y> - <width>55</width> - <height>30</height> - <foreground_color> - <color name="TEXT" red="25" green="25" blue="25"> - </color> - </foreground_color> - <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> - </color> - </background_color> - <horizontal_alignment>2</horizontal_alignment> - <vertical_alignment>1</vertical_alignment> - </widget> - <widget type="textupdate" version="2.0.0"> - <name>TT_FB_Curve_1</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_DeviceName</pv_name> - <x>108</x> - <y>166</y> - <width>155</width> - <height>25</height> - <precision>0</precision> - <vertical_alignment>1</vertical_alignment> - <tooltip>Feedback force Value</tooltip> - <border_alarm_sensitive>false</border_alarm_sensitive> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_Curve_2</name> - <text>Plug nr.</text> - <x>40</x> - <y>199</y> - <width>55</width> - <height>30</height> - <foreground_color> - <color name="TEXT" red="25" green="25" blue="25"> - </color> - </foreground_color> - <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> - </color> - </background_color> - <horizontal_alignment>2</horizontal_alignment> - <vertical_alignment>1</vertical_alignment> - </widget> - <widget type="textupdate" version="2.0.0"> - <name>TT_FB_Curve_2</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_PlugNumber</pv_name> - <x>109</x> - <y>200</y> - <width>155</width> - <height>25</height> - <precision>0</precision> - <vertical_alignment>1</vertical_alignment> - <tooltip>Feedback force Value</tooltip> + <tooltip>Converted Current</tooltip> <border_alarm_sensitive>false</border_alarm_sensitive> </widget> </widget> @@ -1663,6 +1417,7 @@ if (PVUtil.getLong(Lock) != 99) { /*loc://Lock, check if the script was trigger </script> </scripts> <tooltip>Lock this device</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>ICON_Unlocked</name> @@ -1701,5 +1456,6 @@ if (PVUtil.getLong(Lock) != 99) { /*loc://Lock, check if the script was trigger </rule> </rules> <tooltip>Unlock this device</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> </display> diff --git a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Fans/C_Fan_ONOFF_BlockIcon_OnlyText_Vertical.bob b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Fans/C_Fan_ONOFF_BlockIcon_OnlyText_Vertical.bob new file mode 100755 index 0000000000000000000000000000000000000000..897f7483b6af5f11882b9e1e13549beaf84662a3 --- /dev/null +++ b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Fans/C_Fan_ONOFF_BlockIcon_OnlyText_Vertical.bob @@ -0,0 +1,209 @@ +<?xml version="1.0" encoding="UTF-8"?> +<display version="2.0.0"> + <name>C_Fan_ONOFF_BlockIcon_OnlyText_Vertical</name> + <width>130</width> + <height>40</height> + <widget type="label" version="2.0.0"> + <name>WID_TitleLBL</name> + <text>${WIDDev}-${WIDIndex}</text> + <width>130</width> + <font> + <font family="Source Sans Pro" style="BOLD" size="14.0"> + </font> + </font> + <background_color> + <color name="ORANGE" red="254" green="194" blue="81"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <tooltip>Device name</tooltip> + </widget> + <widget type="symbol" version="2.0.0"> + <name>WID_AlarmIcon</name> + <symbols> + <symbol>../../symbols/custom_v02/error@32.png</symbol> + </symbols> + <x>2</x> + <y>2</y> + <width>16</width> + <height>16</height> + <actions> + </actions> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == true"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == false"> + <value>false</value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:GroupAlarm</pv_name> + </rule> + </rules> + <tooltip>Alarm event occured!</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>Label</name> + <text>FAN ON</text> + <y>20</y> + <width>130</width> + <font> + <font family="Source Sans Pro" style="BOLD" size="14.0"> + </font> + </font> + <background_color> + <color name="OK" red="61" green="216" blue="61"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="LabelText" prop_id="text" out_exp="false"> + <exp bool_exp="pv0 == true"> + <value>FAN ON</value> + </exp> + <exp bool_exp="pv0 == false"> + <value>FAN OFF</value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:Fan_Status</pv_name> + </rule> + <rule name="LabelBackground" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0 == true"> + <value> + <color name="OK" red="61" green="216" blue="61"> + </color> + </value> + </exp> + <exp bool_exp="pv0==false"> + <value> + <color name="GRAY" red="169" green="169" blue="169"> + </color> + </value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:Fan_Status</pv_name> + </rule> + </rules> + </widget> + <widget type="action_button" version="3.0.0"> + <name>WID_OpenFaceplate</name> + <actions> + <action type="execute"> + <script file="EmbeddedJs"> + <text><![CDATA[/* Embedded javascript */ +/* Author: Miklos Boros*/ +/* Function: check if locking is allowed is yes then generate the LockID, after that it opens the Faceplate*/ + + +PVUtil = org.csstudio.display.builder.runtime.script.PVUtil; +logger = org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger(); +PVFactory = org.csstudio.display.builder.runtime.pv.PVFactory; + + +macros = widget.getEffectiveMacros(); +WIDIndex = macros.getValue("WIDIndex"); +WIDSecSub = macros.getValue("WIDSecSub"); +WIDDis = macros.getValue("WIDDis"); +WIDDev = macros.getValue("WIDDev"); + + + +try +{ +P_BlockIcon_LockID = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":P_BlockIcon_LockID",3000); +DevLocked = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":DevLocked",3000); +Inhibit_Lock = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":Inhibit_Lock",3000); +} +catch (e) { logger.info(" Cant open Faceplate, IOC is disconnected"); } + + + + + var patience = 500; + while (true) + { + try + { + if (PVUtil.getLong(Inhibit_Lock)!=null) + {break;} + + } + catch (e) {} + patience -=1; + if (patience <= 0) + { + throw "Timeout connecting to PV"; + } + } + + + + if (PVUtil.getLong(Inhibit_Lock)==0) { /*Inibit_Lock, check if the locking is not inhibited*/ + if (PVUtil.getLong(DevLocked)==1) { /*DevLocked, check if the faceplate is locked*/ + + + /*Generate Unique ID for the machine*/ + var UniqueText = ""; + var en = java.net.NetworkInterface.getNetworkInterfaces(); + var inf; + var enumIpAddr; + var Data1 = ""; + var Data2 = ""; + for (en = java.net.NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { + intf = en.nextElement(); + Data1 = intf.getName() + intf.getDisplayName(); + UniqueText = UniqueText + Data1; + for (enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { + Data2 = enumIpAddr.nextElement().toString(); + UniqueText = UniqueText + Data2; + } + } + + var a_table = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D"; + var b_table = a_table.split(' ').map(function(s){ return parseInt(s,16) }); + + function b_crc32 (str) { + var crc = -1; + for(var i=0, iTop=str.length; i<iTop; i++) { + crc = ( crc >>> 8 ) ^ b_table[( crc ^ str.charCodeAt( i ) ) & 0xFF]; + } + return (crc ^ (-1)) >>> 0; + }; + + var crc = b_crc32(UniqueText) ; + if (crc >=2147483647){ crc = crc - 2147483647;} + logger.info(" BlockIcon machine ID: "+crc); + /*Write Block Icon ID to the PV*/ + P_BlockIcon_LockID.setValue(crc); + + } //Check if device is Locked + + } // Locking inhibited + + /* OPEN FACEPLATE*/ + var map = new Object(); + map["Dev"] = WIDDev; + map["Dis"] = WIDDis; + map["Index"] = WIDIndex; + map["SecSub"] = WIDSecSub; + org.csstudio.display.builder.runtime.script.ScriptUtil.openDisplay(widget, "C_Fan_ONOFF_Faceplate.bob", "STANDALONE", map); + + + + +PVFactory.releasePV(P_BlockIcon_LockID); +PVFactory.releasePV(DevLocked); +PVFactory.releasePV(Inhibit_Lock); +]]></text> + </script> + <description>Open Faceplate</description> + </action> + </actions> + <text></text> + <width>130</width> + <height>20</height> + <transparent>true</transparent> + <tooltip>Open faceplate</tooltip> + </widget> +</display> diff --git a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Fans/C_Fan_ONOFF_Faceplate.bob b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Fans/C_Fan_ONOFF_Faceplate.bob new file mode 100755 index 0000000000000000000000000000000000000000..ffc1dc016db549ef119e45b013c89082c73c91f4 --- /dev/null +++ b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Fans/C_Fan_ONOFF_Faceplate.bob @@ -0,0 +1,1011 @@ +<?xml version="1.0" encoding="UTF-8"?> +<display version="2.0.0"> + <name>C_FAN ONOFF Fan Faceplate</name> + <width>965</width> + <widget type="tabs" version="2.0.0"> + <name>Tabs</name> + <tabs> + <tab> + <name>Status</name> + <children> + <widget type="group" version="2.0.0"> + <name>group.status</name> + <x>10</x> + <y>10</y> + <height>340</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.status.border</name> + <width>300</width> + <height>330</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.status.background</name> + <x>5</x> + <y>35</y> + <width>290</width> + <height>289</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </color> + </line_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Status</name> + <text>STATUS</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Status_Position</name> + <text>Fan State</text> + <x>15</x> + <y>50</y> + <width>270</width> + <height>25</height> + <font> + <font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0"> + </font> + </font> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <transparent>false</transparent> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_Opened</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Fan_Status</pv_name> + <x>100</x> + <y>85</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <tooltip>Valve position</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Opened</name> + <text>Turning</text> + <x>135</x> + <y>85</y> + <width>83</width> + <height>25</height> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Status_Solenoid</name> + <text>Fan Control</text> + <x>15</x> + <y>165</y> + <width>270</width> + <height>25</height> + <font> + <font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0"> + </font> + </font> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <transparent>false</transparent> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_Solenoid</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Fan_Control</pv_name> + <x>100</x> + <y>200</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <tooltip>Valve solenoid state</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Solenoid</name> + <text>OUTPUT</text> + <x>135</x> + <y>200</y> + <width>60</width> + <height>25</height> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + </widget> + <widget type="group" version="2.0.0"> + <name>group.op.modes</name> + <x>320</x> + <y>10</y> + <height>340</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.op.modes.border</name> + <width>300</width> + <height>330</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.op.modes.background</name> + <x>5</x> + <y>35</y> + <width>289</width> + <height>289</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </color> + </line_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_OP_MODES</name> + <text>OP MODES</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_Auto</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Auto</pv_name> + <x>100</x> + <y>50</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <tooltip>Operation mode</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_STAT_AUTO</name> + <text>AUTO</text> + <x>135</x> + <y>50</y> + <width>60</width> + <height>25</height> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_Manual</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Forced</pv_name> + <x>100</x> + <y>85</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <tooltip>Operation mode</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_STAT_MANUAL</name> + <text>MANUAL</text> + <x>135</x> + <y>85</y> + <width>60</width> + <height>25</height> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_MESSAGES</name> + <text>MESSAGES</text> + <x>5</x> + <y>160</y> + <width>290</width> + <font> + <font family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>MSG_InhibitMan</name> + <text>- Manual mode inhibited</text> + <x>15</x> + <y>205</y> + <width>270</width> + <foreground_color> + <color name="PRIMARY-DARK" red="31" green="83" blue="102"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Visibility rule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Manual</pv_name> + </rule> + </rules> + </widget> + <widget type="label" version="2.0.0"> + <name>MSG_LatchAlarm_ENA</name> + <text>- Alarms latching enabled</text> + <x>15</x> + <y>245</y> + <width>270</width> + <foreground_color> + <color name="PRIMARY-DARK" red="31" green="83" blue="102"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Visibility rule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:LatchAlarm</pv_name> + </rule> + </rules> + </widget> + <widget type="label" version="2.0.0"> + <name>MSG_LatchAlarm_DIS</name> + <text>- Alarms latching disabled</text> + <x>15</x> + <y>246</y> + <width>270</width> + <foreground_color> + <color name="PRIMARY-DARK" red="31" green="83" blue="102"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Visibility rule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>false</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:LatchAlarm</pv_name> + </rule> + </rules> + </widget> + </widget> + <widget type="group" version="2.0.0"> + <name>group.alarms</name> + <x>630</x> + <y>10</y> + <height>341</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.alarms.border</name> + <width>300</width> + <height>330</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.alarms.background</name> + <x>5</x> + <y>35</y> + <width>290</width> + <height>288</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </color> + </line_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALARMS</name> + <text>ALARMS</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="BackgroundColor" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </value> + </exp> + <exp bool_exp="pv0 == 0"> + <value> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupAlarm</pv_name> + </rule> + </rules> + <tooltip>Group alarm</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_INTERLOCKS</name> + <text>INTERLOCKS</text> + <x>5</x> + <y>218</y> + <width>290</width> + <height>25</height> + <font> + <font family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="BackgroundColor" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value> + <color name="MINOR" red="252" green="242" blue="17"> + </color> + </value> + </exp> + <exp bool_exp="pv0 == 0"> + <value> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupInterlock</pv_name> + </rule> + </rules> + <tooltip>Group interlock</tooltip> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ALM_Module_Error</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Input_Module_Error</pv_name> + <x>28</x> + <y>50</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </on_color> + <tooltip>Module error</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_Module_Error</name> + <text>Siemens Input Module Error</text> + <x>62</x> + <y>50</y> + <width>188</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ILOCK_START</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:StartInterlock</pv_name> + <x>25</x> + <y>267</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MINOR" red="252" green="242" blue="17"> + </color> + </on_color> + <tooltip>Start interlock</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ILOCK_START</name> + <text>Fan Interlock</text> + <x>60</x> + <y>265</y> + <width>155</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ALM_Module_Error_1</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Output_Module_Error</pv_name> + <x>28</x> + <y>83</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </on_color> + <tooltip>Module error</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_Module_Error_1</name> + <text>Siemens Output Module Error</text> + <x>62</x> + <y>83</y> + <width>189</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>buttons.bar</name> + <x>8</x> + <y>361</y> + <width>920</width> + <height>80</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_AUTO</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_Auto</pv_name> + <text>AUTO</text> + <x>12</x> + <y>402</y> + <width>200</width> + <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:EnableAutoBtn</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>AUTO operation mode</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_MANUAL</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_Force</pv_name> + <text>MANUAL</text> + <x>217</x> + <y>403</y> + <width>200</width> + <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:EnableForcedBtn</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>MANUAL operation mode</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_MAN_ON</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_ManuOpen</pv_name> + <text>OPEN</text> + <x>217</x> + <y>367</y> + <width>99</width> + <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 1)|| (pv2 == 1)|| (pv3 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0) && (pv2 == 0) && (pv3==0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Forced</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Fan_Status</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:StartInterlock</pv_name> + </rule> + </rules> + <tooltip>Manual OPEN</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_MAN_OFF</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_ManuClose</pv_name> + <text>CLOSE</text> + <x>318</x> + <y>367</y> + <width>99</width> + <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 0) || (pv2 == 1) || (pv3 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 1) && (pv2 == 0) && (pv3 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Forced</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Fan_Status</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:StartInterlock</pv_name> + </rule> + </rules> + <tooltip>Manual CLOSE</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_ACK</name> + <actions> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_AckAlarm</pv_name> + <value>1</value> + <description>Acknowledge alarms</description> + </action> + </actions> + <text>Acknowledge Alarm</text> + <x>722</x> + <y>403</y> + <width>200</width> + <height>33</height> + <background_color> + <color name="ORANGE" red="254" green="194" blue="81"> + </color> + </background_color> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 1) || (pv2 == 0)"> + <value>true</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0) && (pv2 == 1)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupAlarm</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:LatchAlarm</pv_name> + </rule> + </rules> + <tooltip>Acknowledge alarms</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_FORCE_UNLOCK</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_ForceUnlock</pv_name> + <value>1</value> + <description>Write ForceUnlock</description> + </action> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_Faceplate_LockID</pv_name> + <value>0</value> + <description>Write zero to P_Faceplate_LockID</description> + </action> + <action type="write_pv"> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + <value>0</value> + <description>Write EnaForceUnlock</description> + </action> + </actions> + <text>FORCE UNLOCK</text> + <x>722</x> + <y>367</y> + <width>200</width> + <height>33</height> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="(pv0 == 0) && (pv1 == 1)"> + <value>true</value> + </exp> + <exp bool_exp="(pv0 == 1) || (pv1 == 0)"> + <value>false</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>Force unlock device</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + </children> + </tab> + <tab> + <name>Trend</name> + <children> + </children> + </tab> + </tabs> + <x>10</x> + <y>60</y> + <width>943</width> + <height>490</height> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>Header Bar</name> + <width>963</width> + <height>50</height> + <line_width>0</line_width> + <line_color> + <color red="0" green="0" blue="255" alpha="0"> + </color> + </line_color> + <background_color> + <color name="PRIMARY-HEADER-BACKGROUND" red="151" green="188" blue="202"> + </color> + </background_color> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_HeaderPVName</name> + <text>${SecSub}:${Dis}-${Dev}-${Index}</text> + <x>20</x> + <width>715</width> + <height>50</height> + <font> + <font name="Header 1" family="Source Sans Pro" style="BOLD_ITALIC" size="36.0"> + </font> + </font> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="action_button" version="3.0.0"> + <name>ICON_Locked</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevUnlock</pv_name> + <value>0</value> + <description>Write CMD_DEVUNLOCK</description> + </action> + <action type="write_pv"> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:Lock(99)</pv_name> + <value>1</value> + <description>Run Lock script</description> + </action> + </actions> + <text>LOCK</text> + <x>850</x> + <y>10</y> + <width>90</width> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="(pv0 == 0) && (pv1 == 0)"> + <value>true</value> + </exp> + <exp bool_exp="(pv0 == 1) || (pv1 == 1)"> + <value>false</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:DevLocked</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock</pv_name> + </rule> + </rules> + <scripts> + <script file="EmbeddedJs"> + <text><![CDATA[/* Embedded javascript */ +/* Author: Miklos Boros*/ +/* Function: generate unique Machine ID from the network adapters to use it for locking mechanism*/ + +PVUtil = org.csstudio.display.builder.runtime.script.PVUtil; +logger = org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger(); + +var Lock = pvs[0];/*loc://${SecSub}:${Dis}-${Dev}-${Index}:Lock*/ +var Cmd_DevLock = pvs[1];/*${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevLock*/ +var P_Faceplate_LockID = pvs[2];/*${SecSub}:${Dis}-${Dev}-${Index}:P_Faceplate_LockID*/ +var Inhibit_Lock = pvs[3];/*${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock*/ +var Faceplate_LockID = pvs[4];/*${SecSub}:${Dis}-${Dev}-${Index}:Faceplate_LockID*/ +var BlockIcon_LockID = pvs[5];/*${SecSub}:${Dis}-${Dev}-${Index}:BlockIcon_LockID*/ +var EnaForceUnlock = pvs[6];/*loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock*/ +var DevLocked = pvs[7];/*${SecSub}:${Dis}-${Dev}-${Index}:DevLocked*/ + + + +var PV1 = PVUtil.getLong(Faceplate_LockID); /*Faceplate_LockID*/ +var PV2 = PVUtil.getLong(BlockIcon_LockID); /*BlockIcon_LockID*/ + +//OnShow +if (PVUtil.getLong(DevLocked) == 1) { /*DevLocked*/ + + if (PV1.toString() == PV2.toString()){ /*FaceplateLockID != BlockIconeLockID*/ + + logger.info(" Owner"); + EnaForceUnlock.setValue(0); /*Write EnaForceUnlock*/ + + } else + { + logger.info(" Faceplate FaceplateLockID "+ PV1); + logger.info(" Faceplate BlockIconeLockID "+ PV2); + + logger.info(" Guest"); + EnaForceUnlock.setValue(1); /*Write EnaForceUnlock*/ + } + + + +} +// OnClick +if (PVUtil.getLong(Lock) != 99) { /*loc://Lock, check if the script was triggered because of a button press or initilization*/ + if (PVUtil.getLong(Inhibit_Lock) == 0) { /*Inhibit_lock, check if locking is inhibited*/ + + var UniqueText = ""; + var en = java.net.NetworkInterface.getNetworkInterfaces(); + var inf; + var enumIpAddr; + for (en = java.net.NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { + intf = en.nextElement(); + UniqueText = UniqueText + intf.getName() + intf.getDisplayName(); + for (enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { + UniqueText = UniqueText + enumIpAddr.nextElement().toString(); + } + } + + + var a_table = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D"; + var b_table = a_table.split(' ').map(function(s){ return parseInt(s,16) }); + function b_crc32 (str) { + var crc = -1; + for(var i=0, iTop=str.length; i<iTop; i++) { + crc = ( crc >>> 8 ) ^ b_table[( crc ^ str.charCodeAt( i ) ) & 0xFF]; + } + return (crc ^ (-1)) >>> 0; + }; + + var crc = b_crc32(UniqueText); + if (crc >=2147483647){ crc = crc - 2147483647;} + + logger.info(" Faceplate machine ID: "+crc); + P_Faceplate_LockID.setValue(crc); /*Write P_Faceplate_LockID*/ + Cmd_DevLock.setValue(1); /*Write Lock*/ + + } /*Lock inhibit*/ +} /*onshow*/ + +]]></text> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:Lock</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevLock</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:P_Faceplate_LockID</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:Faceplate_LockID</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:BlockIcon_LockID</pv_name> + <pv_name trigger="false">loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:DevLocked</pv_name> + </script> + </scripts> + <tooltip>Lock this device</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="action_button" version="3.0.0"> + <name>ICON_Unlocked</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevUnlock</pv_name> + <value>1</value> + <description>Write CMD_DevUnlock</description> + </action> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevLock</pv_name> + <value>0</value> + <description>Write CMD_DevLock</description> + </action> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_Faceplate_LockID</pv_name> + <value>0</value> + <description>Write zero to P_Faceplate_LockID</description> + </action> + </actions> + <text>UNLOCK</text> + <x>755</x> + <y>10</y> + <width>90</width> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="(pv0 == false) || (pv1 == true) || (pv2 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == true) && (pv1 == false) && (pv2 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:DevLocked</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>Unlock this device</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> +</display> diff --git a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_ONOFF_BlockIcon_OnlyText_Vertical.bob b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_ONOFF_BlockIcon_OnlyText_Vertical.bob old mode 100644 new mode 100755 index af9fecc6dd203c7486f5967b3d70946e1d9298b8..7f07ea22e5f0c8d4dca5e12e28f2dc0cae09fa5a --- a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_ONOFF_BlockIcon_OnlyText_Vertical.bob +++ b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_ONOFF_BlockIcon_OnlyText_Vertical.bob @@ -2,16 +2,13 @@ <display version="2.0.0"> <name>EH_HeaterSupply_ONOFF_BlockIcon_OnlyText_Vertical</name> <width>130</width> - <height>70</height> + <height>40</height> <widget type="label" version="2.0.0"> <name>WID_TitleLBL</name> <text>${WIDDev}-${WIDIndex}</text> - <x>23</x> - <y>4</y> - <width>91</width> - <height>29</height> + <width>130</width> <font> - <font family="Source Sans Pro" style="BOLD" size="20.0"> + <font family="Source Sans Pro" style="BOLD" size="14.0"> </font> </font> <background_color> @@ -28,9 +25,9 @@ <symbol>../../symbols/custom_v02/error@32.png</symbol> </symbols> <x>2</x> - <y>4</y> - <width>30</width> - <height>30</height> + <y>2</y> + <width>16</width> + <height>16</height> <actions> </actions> <rules> @@ -49,12 +46,10 @@ <widget type="label" version="2.0.0"> <name>Label</name> <text>Heater ON</text> - <x>2</x> - <y>34</y> - <width>127</width> - <height>34</height> + <y>20</y> + <width>130</width> <font> - <font family="Source Sans Pro" style="BOLD" size="20.0"> + <font family="Source Sans Pro" style="BOLD" size="14.0"> </font> </font> <background_color> @@ -72,7 +67,7 @@ <exp bool_exp="pv0 == false"> <value>Heater OFF</value> </exp> - <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:HeatingON</pv_name> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:Heater_Status</pv_name> </rule> <rule name="LabelBackground" prop_id="background_color" out_exp="false"> <exp bool_exp="pv0 == true"> @@ -87,7 +82,7 @@ </color> </value> </exp> - <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:HeatingON</pv_name> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:Heater_Status</pv_name> </rule> </rules> </widget> @@ -206,8 +201,8 @@ PVFactory.releasePV(Inhibit_Lock); </action> </actions> <text></text> - <width>128</width> - <height>70</height> + <width>130</width> + <height>20</height> <transparent>true</transparent> <tooltip>Open faceplate</tooltip> </widget> diff --git a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_ONOFF_Faceplate.bob b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_ONOFF_Faceplate.bob old mode 100644 new mode 100755 index f9147225f420fe8fc820433bafae405251ffdc8b..2274963c7a60d0b9ad02a8727c0f3119ec919e4f --- a/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_ONOFF_Faceplate.bob +++ b/NON-APPROVED/Cryo/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_ONOFF_Faceplate.bob @@ -2,7 +2,6 @@ <display version="2.0.0"> <name>EH ONOFF Heater Faceplate</name> <width>965</width> - <height>580</height> <widget type="tabs" version="2.0.0"> <name>Tabs</name> <tabs> @@ -89,7 +88,7 @@ </widget> <widget type="led" version="2.0.0"> <name>LED_Opened</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Heater_Status</pv_name> <x>100</x> <y>85</y> <width>25</width> @@ -113,32 +112,6 @@ </background_color> <vertical_alignment>1</vertical_alignment> </widget> - <widget type="led" version="2.0.0"> - <name>LED_Closed</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> - <x>100</x> - <y>120</y> - <width>25</width> - <height>25</height> - <off_color> - <color name="Grid" red="169" green="169" blue="169"> - </color> - </off_color> - <tooltip>Valve position</tooltip> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_Closed</name> - <text>IDLE</text> - <x>135</x> - <y>120</y> - <width>60</width> - <height>25</height> - <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> - </color> - </background_color> - <vertical_alignment>1</vertical_alignment> - </widget> <widget type="label" version="2.0.0"> <name>LB_Status_Solenoid</name> <text>Heater Control</text> @@ -162,7 +135,7 @@ </widget> <widget type="led" version="2.0.0"> <name>LED_Solenoid</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Heater_Control</pv_name> <x>100</x> <y>200</y> <width>25</width> @@ -271,7 +244,7 @@ </widget> <widget type="led" version="2.0.0"> <name>LED_Manual</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Manual</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Forced</pv_name> <x>100</x> <y>85</y> <width>25</width> @@ -295,32 +268,6 @@ </background_color> <vertical_alignment>1</vertical_alignment> </widget> - <widget type="led" version="2.0.0"> - <name>LED_Forced</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Forced</pv_name> - <x>100</x> - <y>120</y> - <width>25</width> - <height>25</height> - <off_color> - <color name="Grid" red="169" green="169" blue="169"> - </color> - </off_color> - <tooltip>Operation mode</tooltip> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_STAT_FORCED</name> - <text>FORCED</text> - <x>135</x> - <y>120</y> - <width>60</width> - <height>25</height> - <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> - </color> - </background_color> - <vertical_alignment>1</vertical_alignment> - </widget> <widget type="label" version="2.0.0"> <name>LB_MESSAGES</name> <text>MESSAGES</text> @@ -370,33 +317,6 @@ </rule> </rules> </widget> - <widget type="label" version="2.0.0"> - <name>MSG_InhibitForce</name> - <text>- Force mode inhibited</text> - <x>15</x> - <y>225</y> - <width>270</width> - <foreground_color> - <color name="PRIMARY-DARK" red="31" green="83" blue="102"> - </color> - </foreground_color> - <background_color> - <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> - </color> - </background_color> - <vertical_alignment>1</vertical_alignment> - <rules> - <rule name="Visibility rule" prop_id="visible" out_exp="false"> - <exp bool_exp="pv0 == 0"> - <value>false</value> - </exp> - <exp bool_exp="pv0 == 1"> - <value>true</value> - </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Force</pv_name> - </rule> - </rules> - </widget> <widget type="label" version="2.0.0"> <name>MSG_LatchAlarm_ENA</name> <text>- Alarms latching enabled</text> @@ -568,46 +488,11 @@ </rules> <tooltip>Group interlock</tooltip> </widget> - <widget type="led" version="2.0.0"> - <name>LED_ALM_IO_Error</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:IO_Error</pv_name> - <x>25</x> - <y>49</y> - <width>25</width> - <height>25</height> - <off_color> - <color name="Grid" red="169" green="169" blue="169"> - </color> - </off_color> - <on_color> - <color name="MAJOR" red="252" green="13" blue="27"> - </color> - </on_color> - <tooltip>I/O error</tooltip> - <border_alarm_sensitive>false</border_alarm_sensitive> - </widget> - <widget type="label" version="2.0.0"> - <name>LB_ALM_IO_Error</name> - <text>I/O Error</text> - <x>60</x> - <y>49</y> - <width>155</width> - <height>25</height> - <foreground_color> - <color name="TEXT" red="25" green="25" blue="25"> - </color> - </foreground_color> - <background_color> - <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> - </color> - </background_color> - <vertical_alignment>1</vertical_alignment> - </widget> <widget type="led" version="2.0.0"> <name>LED_ALM_Module_Error</name> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Input_Module_Error</pv_name> - <x>25</x> - <y>80</y> + <x>28</x> + <y>50</y> <width>25</width> <height>25</height> <off_color> @@ -624,8 +509,8 @@ <widget type="label" version="2.0.0"> <name>LB_ALM_Module_Error</name> <text>Siemens Input Module Error</text> - <x>59</x> - <y>80</y> + <x>62</x> + <y>50</y> <width>188</width> <height>25</height> <foreground_color> @@ -640,7 +525,7 @@ </widget> <widget type="led" version="2.0.0"> <name>LED_ILOCK_START</name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatInterlock</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:StartInterlock</pv_name> <x>25</x> <y>267</y> <width>25</width> @@ -675,8 +560,8 @@ <widget type="led" version="2.0.0"> <name>LED_ALM_Module_Error_1</name> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Output_Module_Error</pv_name> - <x>25</x> - <y>113</y> + <x>28</x> + <y>83</y> <width>25</width> <height>25</height> <off_color> @@ -693,8 +578,8 @@ <widget type="label" version="2.0.0"> <name>LB_ALM_Module_Error_1</name> <text>Siemens Output Module Error</text> - <x>59</x> - <y>113</y> + <x>62</x> + <y>83</y> <width>189</width> <height>25</height> <foreground_color> @@ -752,6 +637,7 @@ </rule> </rules> <tooltip>AUTO operation mode</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_MANUAL</name> @@ -762,7 +648,7 @@ <description>Write PV</description> </action> </actions> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_Manual</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_Force</pv_name> <text>MANUAL</text> <x>217</x> <y>403</y> @@ -776,11 +662,12 @@ <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> <value>true</value> </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:EnableManualBtn</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:EnableForcedBtn</pv_name> <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> </rule> </rules> <tooltip>MANUAL operation mode</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_MAN_ON</name> @@ -791,7 +678,7 @@ <description>Write PV</description> </action> </actions> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_HeatingON</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_ManuOpen</pv_name> <text>OPEN</text> <x>217</x> <y>367</y> @@ -805,13 +692,14 @@ <exp bool_exp="(pv0 == 1) && (pv1 == 0) && (pv2 == 0) && (pv3==0)"> <value>true</value> </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Manual</pv_name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Forced</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Heater_Status</pv_name> <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatInterlock</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:StartInterlock</pv_name> </rule> </rules> <tooltip>Manual OPEN</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_MAN_OFF</name> @@ -822,7 +710,7 @@ <description>Write PV</description> </action> </actions> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_HeatingOFF</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_ManuClose</pv_name> <text>CLOSE</text> <x>318</x> <y>367</y> @@ -836,104 +724,14 @@ <exp bool_exp="(pv0 == 1) && (pv1 == 1) && (pv2 == 0) && (pv3 == 0)"> <value>true</value> </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Manual</pv_name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> - <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatInterlock</pv_name> - </rule> - </rules> - <tooltip>Manual CLOSE</tooltip> - </widget> - <widget type="action_button" version="3.0.0"> - <name>BTN_FORCE</name> - <actions> - <action type="write_pv"> - <pv_name>$(pv_name)</pv_name> - <value>1</value> - <description>Write PV</description> - </action> - </actions> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_Force</pv_name> - <text>FORCE</text> - <x>422</x> - <y>403</y> - <width>200</width> - <height>33</height> - <rules> - <rule name="EnableRule" prop_id="enabled" out_exp="false"> - <exp bool_exp="(pv0 == 0) || (pv1 == 1)"> - <value>false</value> - </exp> - <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> - <value>true</value> - </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:EnableForcedBtn</pv_name> - <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> - </rule> - </rules> - <tooltip>FORCE operation mode</tooltip> - </widget> - <widget type="action_button" version="3.0.0"> - <name>BTN_FORCE_ON</name> - <actions> - <action type="write_pv"> - <pv_name>$(pv_name)</pv_name> - <value>1</value> - <description>Write PV</description> - </action> - </actions> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_HeatingON</pv_name> - <text>OPEN</text> - <x>422</x> - <y>367</y> - <width>99</width> - <height>33</height> - <rules> - <rule name="EnableRule" prop_id="enabled" out_exp="false"> - <exp bool_exp="(pv0 == 0) || (pv1 == 1) || (pv3 == 1)"> - <value>false</value> - </exp> - <exp bool_exp="(pv0 == 1) && (pv2 == 0) && (pv3 == 0)"> - <value>true</value> - </exp> <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Forced</pv_name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Heater_Status</pv_name> <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:StartInterlock</pv_name> </rule> </rules> - <tooltip>Force OPEN</tooltip> - </widget> - <widget type="action_button" version="3.0.0"> - <name>BTN_FORCE_OFF</name> - <actions> - <action type="write_pv"> - <pv_name>$(pv_name)</pv_name> - <value>1</value> - <description>Write PV</description> - </action> - </actions> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_HeatingOFF</pv_name> - <text>CLOSE</text> - <x>523</x> - <y>367</y> - <width>99</width> - <height>33</height> - <rules> - <rule name="EnableRule" prop_id="enabled" out_exp="false"> - <exp bool_exp="(pv0 == 0) || (pv2 == 0) || (pv3 == 1)"> - <value>false</value> - </exp> - <exp bool_exp="(pv0 == 1) && (pv1 == 1) && (pv3 == 0)"> - <value>true</value> - </exp> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Forced</pv_name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> - <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> - <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> - </rule> - </rules> - <tooltip>Force CLOSE</tooltip> + <tooltip>Manual CLOSE</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_ACK</name> @@ -956,7 +754,7 @@ <rules> <rule name="EnableRule" prop_id="enabled" out_exp="false"> <exp bool_exp="(pv0 == 0) || (pv1 == 1) || (pv2 == 0)"> - <value>false</value> + <value>true</value> </exp> <exp bool_exp="(pv0 == 1) && (pv1 == 0) && (pv2 == 1)"> <value>true</value> @@ -967,6 +765,7 @@ </rule> </rules> <tooltip>Acknowledge alarms</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_FORCE_UNLOCK</name> @@ -1005,6 +804,7 @@ </rule> </rules> <tooltip>Force unlock device</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> </children> </tab> @@ -1167,6 +967,7 @@ if (PVUtil.getLong(Lock) != 99) { /*loc://Lock, check if the script was trigger </script> </scripts> <tooltip>Lock this device</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>ICON_Unlocked</name> @@ -1205,5 +1006,6 @@ if (PVUtil.getLong(Lock) != 99) { /*loc://Lock, check if the script was trigger </rule> </rules> <tooltip>Unlock this device</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> </display> diff --git a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/Controls/Objects/C_Fan_Icon_Right.bob b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/Controls/Objects/C_Fan_Icon_Right.bob new file mode 100644 index 0000000000000000000000000000000000000000..53dbd2bbc00974770d51840cbe2634400b024a84 --- /dev/null +++ b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/Controls/Objects/C_Fan_Icon_Right.bob @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="UTF-8"?> +<display version="2.0.0"> + <name>C_Fan_Icon_Right</name> + <width>70</width> + <height>70</height> + <widget type="ellipse" version="2.0.0"> + <name>Ellipse</name> + <x>10</x> + <y>20</y> + <width>50</width> + <line_width>0</line_width> + <background_color> + <color name="BACKGROUND" red="220" green="225" blue="221"> + </color> + </background_color> + <rules> + <rule name="Running" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0==false"> + <value> + <color name="BACKGROUND" red="220" green="225" blue="221"> + </color> + </value> + </exp> + <exp bool_exp="pv0==true"> + <value> + <color name="GREEN" red="61" green="216" blue="61"> + </color> + </value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:Fan_Status</pv_name> + </rule> + </rules> + </widget> + <widget type="picture" version="2.0.0"> + <name>Picture</name> + <file>../../symbols/PNG/Fan Left transp.png</file> + <x>10</x> + <y>20</y> + <width>50</width> + <height>50</height> + </widget> + <widget type="action_button" version="3.0.0"> + <name>WID_OpenFaceplate</name> + <actions> + <action type="execute"> + <script file="EmbeddedJs"> + <text><![CDATA[/* Embedded javascript */ +/* Author: Miklos Boros*/ +/* Function: check if locking is allowed is yes then generate the LockID, after that it opens the Faceplate*/ + + +PVUtil = org.csstudio.display.builder.runtime.script.PVUtil; +logger = org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger(); +PVFactory = org.csstudio.display.builder.runtime.pv.PVFactory; + + +macros = widget.getEffectiveMacros(); +WIDIndex = macros.getValue("WIDIndex"); +WIDSecSub = macros.getValue("WIDSecSub"); +WIDDis = macros.getValue("WIDDis"); +WIDDev = macros.getValue("WIDDev"); + + + +try +{ +P_BlockIcon_LockID = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":P_BlockIcon_LockID",3000); +DevLocked = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":DevLocked",3000); +Inhibit_Lock = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":Inhibit_Lock",3000); +} +catch (e) { logger.info(" Cant open Faceplate, IOC is disconnected"); } + + + + + var patience = 500; + while (true) + { + try + { + if (PVUtil.getLong(Inhibit_Lock)!=null) + {break;} + + } + catch (e) {} + patience -=1; + if (patience <= 0) + { + throw "Timeout connecting to PV"; + } + } + + + + if (PVUtil.getLong(Inhibit_Lock)==0) { /*Inibit_Lock, check if the locking is not inhibited*/ + if (PVUtil.getLong(DevLocked)==1) { /*DevLocked, check if the faceplate is locked*/ + + + /*Generate Unique ID for the machine*/ + var UniqueText = ""; + var en = java.net.NetworkInterface.getNetworkInterfaces(); + var inf; + var enumIpAddr; + var Data1 = ""; + var Data2 = ""; + for (en = java.net.NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { + intf = en.nextElement(); + Data1 = intf.getName() + intf.getDisplayName(); + UniqueText = UniqueText + Data1; + for (enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { + Data2 = enumIpAddr.nextElement().toString(); + UniqueText = UniqueText + Data2; + } + } + + var a_table = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D"; + var b_table = a_table.split(' ').map(function(s){ return parseInt(s,16) }); + + function b_crc32 (str) { + var crc = -1; + for(var i=0, iTop=str.length; i<iTop; i++) { + crc = ( crc >>> 8 ) ^ b_table[( crc ^ str.charCodeAt( i ) ) & 0xFF]; + } + return (crc ^ (-1)) >>> 0; + }; + + var crc = b_crc32(UniqueText) ; + if (crc >=2147483647){ crc = crc - 2147483647;} + logger.info(" BlockIcon machine ID: "+crc); + /*Write Block Icon ID to the PV*/ + P_BlockIcon_LockID.setValue(crc); + + } //Check if device is Locked + + } // Locking inhibited + + /* OPEN FACEPLATE*/ + var map = new Object(); + map["Dev"] = WIDDev; + map["Dis"] = WIDDis; + map["Index"] = WIDIndex; + map["SecSub"] = WIDSecSub; + org.csstudio.display.builder.runtime.script.ScriptUtil.openDisplay(widget, "../../../../ICS_OPI_LIBRARY/DeviceTypes/Fans/C_Fan_ONOFF_Faceplate.bob", "STANDALONE", map); + +PVFactory.releasePV(P_BlockIcon_LockID); +PVFactory.releasePV(DevLocked); +PVFactory.releasePV(Inhibit_Lock); +]]></text> + </script> + <description>Open Faceplate</description> + </action> + </actions> + <text></text> + <width>70</width> + <height>70</height> + <transparent>true</transparent> + <tooltip>Open faceplate</tooltip> + </widget> + <widget type="symbol" version="2.0.0"> + <name>WID_AlarmIcon</name> + <symbols> + <symbol>../../../../ICS_OPI_LIBRARY/symbols/custom_v02/error@32.png</symbol> + </symbols> + <y>16</y> + <width>16</width> + <height>16</height> + <actions> + </actions> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == true"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == false"> + <value>false</value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:GroupAlarm</pv_name> + </rule> + </rules> + <tooltip>Alarm event occured!</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>Label</name> + <text>${WIDDev}-${WIDIndex}</text> + <width>70</width> + <font> + <font family="Source Sans Pro" style="REGULAR" size="14.0"> + </font> + </font> + <horizontal_alignment>1</horizontal_alignment> + </widget> +</display> diff --git a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/Controls/Objects/C_Heater_ONOFF_Icon.bob b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/Controls/Objects/C_Heater_ONOFF_Icon.bob new file mode 100644 index 0000000000000000000000000000000000000000..7434fdae362e41b194ba6054e3944005f9b61f19 --- /dev/null +++ b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/Controls/Objects/C_Heater_ONOFF_Icon.bob @@ -0,0 +1,200 @@ +<?xml version="1.0" encoding="UTF-8"?> +<display version="2.0.0"> + <name>C_Heater_Icon</name> + <width>70</width> + <height>70</height> + <widget type="ellipse" version="2.0.0"> + <name>Ellipse</name> + <x>10</x> + <y>20</y> + <width>50</width> + <line_width>0</line_width> + <background_color> + <color name="BACKGROUND" red="220" green="225" blue="221"> + </color> + </background_color> + <rules> + <rule name="Running" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0==false"> + <value> + <color name="BACKGROUND" red="220" green="225" blue="221"> + </color> + </value> + </exp> + <exp bool_exp="pv0==true"> + <value> + <color name="GREEN" red="61" green="216" blue="61"> + </color> + </value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:Heater_Status</pv_name> + </rule> + </rules> + </widget> + <widget type="picture" version="2.0.0"> + <name>Picture</name> + <file>../../symbols/PNG/general heater.png</file> + <x>10</x> + <y>20</y> + <width>50</width> + <height>50</height> + </widget> + <widget type="action_button" version="3.0.0"> + <name>WID_OpenFaceplate</name> + <actions> + <action type="execute"> + <script file="EmbeddedJs"> + <text><![CDATA[/* Embedded javascript */ +/* Author: Miklos Boros*/ +/* Function: check if locking is allowed is yes then generate the LockID, after that it opens the Faceplate*/ + + +PVUtil = org.csstudio.display.builder.runtime.script.PVUtil; +logger = org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger(); +PVFactory = org.csstudio.display.builder.runtime.pv.PVFactory; + + +macros = widget.getEffectiveMacros(); +WIDIndex = macros.getValue("WIDIndex"); +WIDSecSub = macros.getValue("WIDSecSub"); +WIDDis = macros.getValue("WIDDis"); +WIDDev = macros.getValue("WIDDev"); + + + +try +{ +P_BlockIcon_LockID = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":P_BlockIcon_LockID",3000); +DevLocked = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":DevLocked",3000); +Inhibit_Lock = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":Inhibit_Lock",3000); +} +catch (e) { logger.info(" Cant open Faceplate, IOC is disconnected"); } + + + + + var patience = 500; + while (true) + { + try + { + if (PVUtil.getLong(Inhibit_Lock)!=null) + {break;} + + } + catch (e) {} + patience -=1; + if (patience <= 0) + { + throw "Timeout connecting to PV"; + } + } + + + + if (PVUtil.getLong(Inhibit_Lock)==0) { /*Inibit_Lock, check if the locking is not inhibited*/ + if (PVUtil.getLong(DevLocked)==1) { /*DevLocked, check if the faceplate is locked*/ + + + /*Generate Unique ID for the machine*/ + var UniqueText = ""; + var en = java.net.NetworkInterface.getNetworkInterfaces(); + var inf; + var enumIpAddr; + var Data1 = ""; + var Data2 = ""; + for (en = java.net.NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { + intf = en.nextElement(); + Data1 = intf.getName() + intf.getDisplayName(); + UniqueText = UniqueText + Data1; + for (enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { + Data2 = enumIpAddr.nextElement().toString(); + UniqueText = UniqueText + Data2; + } + } + + var a_table = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D"; + var b_table = a_table.split(' ').map(function(s){ return parseInt(s,16) }); + + function b_crc32 (str) { + var crc = -1; + for(var i=0, iTop=str.length; i<iTop; i++) { + crc = ( crc >>> 8 ) ^ b_table[( crc ^ str.charCodeAt( i ) ) & 0xFF]; + } + return (crc ^ (-1)) >>> 0; + }; + + var crc = b_crc32(UniqueText) ; + if (crc >=2147483647){ crc = crc - 2147483647;} + logger.info(" BlockIcon machine ID: "+crc); + /*Write Block Icon ID to the PV*/ + P_BlockIcon_LockID.setValue(crc); + + } //Check if device is Locked + + } // Locking inhibited + + /* OPEN FACEPLATE*/ + var map = new Object(); + map["Dev"] = WIDDev; + map["Dis"] = WIDDis; + map["Index"] = WIDIndex; + map["SecSub"] = WIDSecSub; + org.csstudio.display.builder.runtime.script.ScriptUtil.openDisplay(widget, "../../../../ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_ONOFF_Faceplate.bob", "STANDALONE", map); + + +PVFactory.releasePV(P_BlockIcon_LockID); +PVFactory.releasePV(DevLocked); +PVFactory.releasePV(Inhibit_Lock); +]]></text> + </script> + <description>Open Faceplate</description> + </action> + </actions> + <text></text> + <width>70</width> + <height>70</height> + <transparent>true</transparent> + <tooltip>Open faceplate</tooltip> + </widget> + <widget type="progressbar" version="2.0.0"> + <name>Progress Bar</name> + <x>760</x> + <y>180</y> + <width>1</width> + <height>1</height> + </widget> + <widget type="symbol" version="2.0.0"> + <name>WID_AlarmIcon</name> + <symbols> + <symbol>../../../../ICS_OPI_LIBRARY/symbols/custom_v02/error@32.png</symbol> + </symbols> + <y>16</y> + <width>16</width> + <height>16</height> + <actions> + </actions> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == true"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == false"> + <value>false</value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:GroupAlarm</pv_name> + </rule> + </rules> + <tooltip>Alarm event occured!</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>Label</name> + <text>${WIDDev}-${WIDIndex}</text> + <width>70</width> + <font> + <font family="Source Sans Pro" style="REGULAR" size="14.0"> + </font> + </font> + <horizontal_alignment>1</horizontal_alignment> + </widget> +</display> diff --git a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/opi/cryo-07-pvps.bob b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/opi/cryo-07-pvps.bob index 636fd28e4b4e761dd3adecbcaeeaf78cd8385087..7e1764872cfe2cef5380f177156425fade5c515d 100644 --- a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/opi/cryo-07-pvps.bob +++ b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/opi/cryo-07-pvps.bob @@ -39,8 +39,8 @@ </widget> <widget type="group" version="2.0.0"> <name>Group</name> - <x>421</x> - <y>513</y> + <x>380</x> + <y>550</y> <width>108</width> <height>75</height> <style>2</style> @@ -64,8 +64,8 @@ <widget type="polyline" version="2.0.0"> <name>Polyline_25</name> <x>180</x> - <y>100</y> - <width>302</width> + <y>140</y> + <width>610</width> <height>1</height> <line_width>5</line_width> <line_color> @@ -75,14 +75,14 @@ <points> <point x="0.0" y="0.0"> </point> - <point x="302.0000000000001" y="0.0"> + <point x="610.0" y="0.0"> </point> </points> </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_3</name> - <x>480</x> - <y>100</y> + <x>790</x> + <y>138</y> <width>1</width> <height>115</height> <line_width>5</line_width> @@ -109,7 +109,7 @@ <pv_name>loc://OPI_File</pv_name> <text>Cold Box</text> <x>30</x> - <y>80</y> + <y>115</y> <width>131</width> <height>41</height> <font> @@ -130,8 +130,8 @@ <Unit>K</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>378</x> - <y>55</y> + <x>810</x> + <y>140</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -144,8 +144,8 @@ <Unit>mbar</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>483</x> - <y>140</y> + <x>930</x> + <y>200</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -158,16 +158,16 @@ <Unit>mbar</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>590</x> - <y>140</y> + <x>1037</x> + <y>200</y> <width>103</width> <height>41</height> <resize>2</resize> </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_22</name> - <x>205</x> - <y>213</y> + <x>164</x> + <y>250</y> <width>1</width> <height>504</height> <line_width>5</line_width> @@ -184,8 +184,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_23</name> - <x>204</x> - <y>215</y> + <x>163</x> + <y>252</y> <width>985</width> <height>1</height> <line_width>5</line_width> @@ -200,44 +200,10 @@ </point> </points> </widget> - <widget type="rectangle" version="2.0.0"> - <name>Rectangle_Dewar_1</name> - <x>220</x> - <y>70</y> - <width>140</width> - <height>60</height> - <line_width>1</line_width> - <line_color> - <color name="GRAY-BORDER" red="121" green="121" blue="121"> - </color> - </line_color> - <background_color> - <color name="GRAY" red="169" green="169" blue="169"> - </color> - </background_color> - <corner_width>5</corner_width> - <corner_height>5</corner_height> - </widget> - <widget type="label" version="2.0.0"> - <name>Label_17</name> - <text>Module 1700</text> - <x>220</x> - <y>80</y> - <width>140</width> - <font> - <font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0"> - </font> - </font> - <horizontal_alignment>1</horizontal_alignment> - <vertical_alignment>1</vertical_alignment> - <wrap_words>false</wrap_words> - <actions> - </actions> - </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_7</name> - <x>370</x> - <y>300</y> + <x>329</x> + <y>337</y> <width>1</width> <height>415</height> <line_color> @@ -279,8 +245,8 @@ <widget type="label" version="2.0.0"> <name>Label_18</name> <text>HX34102</text> - <x>220</x> - <y>100</y> + <x>460</x> + <y>154</y> <width>140</width> <font> <font name="Default Bold" family="Source Sans Pro" style="BOLD" size="16.0"> @@ -299,8 +265,8 @@ <LineWidth>5</LineWidth> </macros> <file>../Controls/Objects/pv_oc_v.bob</file> - <x>188</x> - <y>230</y> + <x>147</x> + <y>267</y> <width>98</width> <height>53</height> <resize>2</resize> @@ -315,8 +281,8 @@ <Unit>°C</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>210</x> - <y>390</y> + <x>169</x> + <y>427</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -329,8 +295,8 @@ <Unit>mbar</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>210</x> - <y>460</y> + <x>169</x> + <y>497</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -342,8 +308,8 @@ <LineWidth>5</LineWidth> </macros> <file>../Controls/Objects/pv_oc_v.bob</file> - <x>188</x> - <y>630</y> + <x>147</x> + <y>667</y> <width>98</width> <height>53</height> <resize>2</resize> @@ -352,8 +318,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_31</name> - <x>205</x> - <y>715</y> + <x>164</x> + <y>752</y> <width>985</width> <height>1</height> <line_width>5</line_width> @@ -375,8 +341,8 @@ <LineWidth>3</LineWidth> </macros> <file>../Controls/Objects/pv_oc_v.bob</file> - <x>354</x> - <y>630</y> + <x>313</x> + <y>667</y> <width>98</width> <height>53</height> <resize>2</resize> @@ -385,8 +351,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_33</name> - <x>206</x> - <y>300</y> + <x>165</x> + <y>337</y> <width>165</width> <height>1</height> <line_color> @@ -402,8 +368,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_34</name> - <x>555</x> - <y>213</y> + <x>514</x> + <y>250</y> <width>1</width> <height>504</height> <line_width>5</line_width> @@ -420,8 +386,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_35</name> - <x>720</x> - <y>300</y> + <x>679</x> + <y>337</y> <width>1</width> <height>415</height> <line_color> @@ -442,8 +408,8 @@ <LineWidth>5</LineWidth> </macros> <file>../Controls/Objects/pv_oc_v.bob</file> - <x>538</x> - <y>230</y> + <x>497</x> + <y>267</y> <width>98</width> <height>53</height> <resize>2</resize> @@ -458,8 +424,8 @@ <Unit>°C</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>560</x> - <y>390</y> + <x>519</x> + <y>427</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -472,8 +438,8 @@ <Unit>mbar</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>560</x> - <y>460</y> + <x>519</x> + <y>497</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -485,8 +451,8 @@ <LineWidth>5</LineWidth> </macros> <file>../Controls/Objects/pv_oc_v.bob</file> - <x>538</x> - <y>630</y> + <x>497</x> + <y>667</y> <width>98</width> <height>53</height> <resize>2</resize> @@ -500,8 +466,8 @@ <LineWidth>3</LineWidth> </macros> <file>../Controls/Objects/pv_oc_v.bob</file> - <x>704</x> - <y>630</y> + <x>663</x> + <y>667</y> <width>98</width> <height>53</height> <resize>2</resize> @@ -510,8 +476,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_36</name> - <x>556</x> - <y>300</y> + <x>515</x> + <y>337</y> <width>165</width> <height>1</height> <line_color> @@ -527,8 +493,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_37</name> - <x>905</x> - <y>213</y> + <x>864</x> + <y>250</y> <width>1</width> <height>504</height> <line_width>5</line_width> @@ -545,8 +511,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_38</name> - <x>1070</x> - <y>300</y> + <x>1029</x> + <y>337</y> <width>1</width> <height>416</height> <line_color> @@ -567,8 +533,8 @@ <LineWidth>5</LineWidth> </macros> <file>../Controls/Objects/pv_oc_v.bob</file> - <x>888</x> - <y>230</y> + <x>847</x> + <y>267</y> <width>98</width> <height>53</height> <resize>2</resize> @@ -583,8 +549,8 @@ <Unit>°C</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>910</x> - <y>390</y> + <x>869</x> + <y>427</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -597,8 +563,8 @@ <Unit>mbar</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>910</x> - <y>460</y> + <x>869</x> + <y>497</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -610,8 +576,8 @@ <LineWidth>5</LineWidth> </macros> <file>../Controls/Objects/pv_oc_v.bob</file> - <x>888</x> - <y>630</y> + <x>847</x> + <y>667</y> <width>98</width> <height>53</height> <resize>2</resize> @@ -625,8 +591,8 @@ <LineWidth>3</LineWidth> </macros> <file>../Controls/Objects/pv_oc_v.bob</file> - <x>1054</x> - <y>630</y> + <x>1013</x> + <y>667</y> <width>98</width> <height>53</height> <resize>2</resize> @@ -635,8 +601,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_39</name> - <x>906</x> - <y>300</y> + <x>865</x> + <y>337</y> <width>165</width> <height>1</height> <line_color> @@ -652,8 +618,8 @@ </widget> <widget type="polygon" version="2.0.0"> <name>Polygon_3</name> - <x>170</x> - <y>90</y> + <x>175</x> + <y>131</y> <width>17</width> <height>19</height> <line_width>0</line_width> @@ -678,10 +644,10 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_40</name> - <x>1130</x> - <y>717</y> - <width>1</width> - <height>175</height> + <x>1080</x> + <y>754</y> + <width>5</width> + <height>137</height> <line_width>5</line_width> <line_color> <color name="BLACK-BORDER" red="121" green="121" blue="121"> @@ -690,7 +656,7 @@ <points> <point x="0.0" y="0.0"> </point> - <point x="0.0" y="175.00000000000006"> + <point x="0.0" y="137.0"> </point> </points> </widget> @@ -710,9 +676,9 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_41</name> - <x>1130</x> + <x>1080</x> <y>890</y> - <width>484</width> + <width>534</width> <height>1</height> <line_width>5</line_width> <line_color> @@ -722,7 +688,7 @@ <points> <point x="0.0" y="0.0"> </point> - <point x="484.00000000000017" y="0.0"> + <point x="534.0000000000002" y="0.0"> </point> </points> </widget> @@ -742,8 +708,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_42</name> - <x>1190</x> - <y>213</y> + <x>1149</x> + <y>250</y> <width>1</width> <height>504</height> <line_width>5</line_width> @@ -760,8 +726,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_43</name> - <x>1300</x> - <y>390</y> + <x>1259</x> + <y>427</y> <width>1</width> <height>150</height> <line_width>5</line_width> @@ -785,8 +751,8 @@ <Type_cv_bc>cv</Type_cv_bc> </macros> <file>../Controls/Objects/cv_v.bob</file> - <x>1277</x> - <y>440</y> + <x>1236</x> + <y>477</y> <width>102</width> <height>46</height> <resize>2</resize> @@ -795,8 +761,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_44</name> - <x>1192</x> - <y>390</y> + <x>1151</x> + <y>427</y> <width>110</width> <height>1</height> <line_width>5</line_width> @@ -813,8 +779,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_45</name> - <x>1192</x> - <y>540</y> + <x>1151</x> + <y>577</y> <width>110</width> <height>1</height> <line_width>5</line_width> @@ -939,16 +905,16 @@ <WithTemp>1</WithTemp> </macros> <file>../Controls/Objects/pump_d.bob</file> - <x>181</x> - <y>530</y> + <x>140</x> + <y>567</y> <width>105</width> <height>48</height> <resize>2</resize> </widget> <widget type="polygon" version="2.0.0"> <name>Polygon_39</name> - <x>1184</x> - <y>218</y> + <x>1143</x> + <y>255</y> <width>12</width> <height>19</height> <line_width>0</line_width> @@ -981,16 +947,16 @@ <WithTemp>1</WithTemp> </macros> <file>../Controls/Objects/pump_d.bob</file> - <x>531</x> - <y>530</y> + <x>490</x> + <y>567</y> <width>105</width> <height>48</height> <resize>2</resize> </widget> <widget type="group" version="2.0.0"> <name>Group</name> - <x>71</x> - <y>513</y> + <x>30</x> + <y>550</y> <width>108</width> <height>75</height> <style>2</style> @@ -1005,16 +971,16 @@ <WithTemps>1</WithTemps> </macros> <file>../Controls/Objects/pump_d.bob</file> - <x>880</x> - <y>530</y> + <x>839</x> + <y>567</y> <width>105</width> <height>48</height> <resize>2</resize> </widget> <widget type="group" version="2.0.0"> <name>Group</name> - <x>771</x> - <y>513</y> + <x>730</x> + <y>550</y> <width>108</width> <height>75</height> <style>2</style> @@ -1032,8 +998,8 @@ <Unit>mbar</Unit> </macros> <file>../Controls/Objects/cv_v.bob</file> - <x>1167</x> - <y>440</y> + <x>1126</x> + <y>477</y> <width>102</width> <height>46</height> <resize>2</resize> @@ -1046,8 +1012,8 @@ <Dev>LS-24920A</Dev> </macros> <file>../Controls/Objects/led_yellow-grey.bob</file> - <x>73</x> - <y>514</y> + <x>32</x> + <y>551</y> <width>94</width> <height>34</height> <resize>2</resize> @@ -1062,8 +1028,8 @@ <Unit>°C</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>73</x> - <y>544</y> + <x>32</x> + <y>581</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -1074,8 +1040,8 @@ <Dev>LS-24920B</Dev> </macros> <file>../Controls/Objects/led_yellow-grey.bob</file> - <x>423</x> - <y>514</y> + <x>382</x> + <y>551</y> <width>94</width> <height>34</height> <resize>2</resize> @@ -1090,8 +1056,8 @@ <Unit>°C</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>423</x> - <y>544</y> + <x>382</x> + <y>581</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -1102,8 +1068,8 @@ <Dev>LS-24920C</Dev> </macros> <file>../Controls/Objects/led_yellow-grey.bob</file> - <x>773</x> - <y>514</y> + <x>732</x> + <y>551</y> <width>94</width> <height>34</height> <resize>2</resize> @@ -1118,8 +1084,8 @@ <Unit>°C</Unit> </macros> <file>../Controls/Objects/meas.bob</file> - <x>773</x> - <y>544</y> + <x>732</x> + <y>581</y> <width>103</width> <height>41</height> <resize>2</resize> @@ -1133,8 +1099,8 @@ <Prec>1</Prec> </macros> <file>../Controls/Objects/pump_d.bob</file> - <x>181</x> - <y>330</y> + <x>140</x> + <y>367</y> <width>105</width> <height>48</height> <resize>2</resize> @@ -1148,8 +1114,8 @@ <Prec>1</Prec> </macros> <file>../Controls/Objects/pump_d.bob</file> - <x>531</x> - <y>330</y> + <x>490</x> + <y>367</y> <width>105</width> <height>48</height> <resize>2</resize> @@ -1163,8 +1129,8 @@ <Prec>1</Prec> </macros> <file>../Controls/Objects/pump_d.bob</file> - <x>881</x> - <y>330</y> + <x>840</x> + <y>367</y> <width>105</width> <height>48</height> <resize>2</resize> @@ -1176,8 +1142,8 @@ <LineWidth>5</LineWidth> </macros> <file>../Controls/Objects/pv_v.bob</file> - <x>188</x> - <y>430</y> + <x>147</x> + <y>467</y> <width>102</width> <height>46</height> <resize>2</resize> @@ -1191,8 +1157,8 @@ <LineWidth>5</LineWidth> </macros> <file>../Controls/Objects/pv_v.bob</file> - <x>538</x> - <y>430</y> + <x>497</x> + <y>467</y> <width>102</width> <height>46</height> <resize>2</resize> @@ -1206,8 +1172,8 @@ <LineWidth>5</LineWidth> </macros> <file>../Controls/Objects/pv_v.bob</file> - <x>888</x> - <y>430</y> + <x>847</x> + <y>467</y> <width>102</width> <height>46</height> <resize>2</resize> @@ -1220,8 +1186,8 @@ <Dev>HZ-PVPS</Dev> </macros> <file>../Controls/Objects/led_grey-red.bob</file> - <x>1034</x> - <y>15</y> + <x>1090</x> + <y>30</y> <width>94</width> <height>34</height> <resize>2</resize> @@ -1231,16 +1197,16 @@ <widget type="label" version="2.0.0"> <name>Label</name> <text>ESD PVPS</text> - <x>1059</x> - <y>17</y> + <x>1115</x> + <y>32</y> <height>29</height> <transparent>false</transparent> </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_48</name> - <x>1191</x> - <y>715</y> - <width>220</width> + <x>1150</x> + <y>752</y> + <width>210</width> <height>1</height> <line_color> <color name="BLACK-BORDER" red="121" green="121" blue="121"> @@ -1249,15 +1215,15 @@ <points> <point x="0.0" y="0.0"> </point> - <point x="220.00000000000014" y="0.0"> + <point x="210.00000000000014" y="0.0"> </point> </points> </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_49</name> - <x>1191</x> - <y>215</y> - <width>220</width> + <x>1150</x> + <y>252</y> + <width>210</width> <height>1</height> <line_color> <color name="BLACK-BORDER" red="121" green="121" blue="121"> @@ -1266,14 +1232,14 @@ <points> <point x="0.0" y="0.0"> </point> - <point x="220.00000000000014" y="0.0"> + <point x="210.00000000000014" y="0.0"> </point> </points> </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_50</name> - <x>1410</x> - <y>214</y> + <x>1358</x> + <y>251</y> <width>1</width> <height>230</height> <line_color> @@ -1289,8 +1255,8 @@ </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_56</name> - <x>1410</x> - <y>490</y> + <x>1358</x> + <y>527</y> <width>1</width> <height>225</height> <line_color> @@ -1306,8 +1272,8 @@ </widget> <widget type="group" version="2.0.0"> <name>Group_Check valve</name> - <x>1395</x> - <y>445</y> + <x>1343</x> + <y>482</y> <width>28</width> <height>45</height> <style>3</style> @@ -1470,8 +1436,8 @@ </widget> <widget type="rectangle" version="2.0.0"> <name>Rectangle_PV_1</name> - <x>100</x> - <y>345</y> + <x>59</x> + <y>382</y> <width>62</width> <height>22</height> <line_width>1</line_width> @@ -1514,8 +1480,8 @@ <widget type="textupdate" version="2.0.0"> <name>Text Update_PV_1</name> <pv_name>$(Pref)-P-24910A:SpeedFB</pv_name> - <x>101</x> - <y>346</y> + <x>60</x> + <y>383</y> <width>60</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1534,8 +1500,8 @@ Actual Value</tooltip> <widget type="label" version="2.0.0"> <name>Label_Unit PV_1</name> <text>Hz</text> - <x>164</x> - <y>345</y> + <x>123</x> + <y>382</y> <width>30</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1548,8 +1514,8 @@ Actual Value</tooltip> </widget> <widget type="rectangle" version="2.0.0"> <name>Rectangle_PV_2</name> - <x>450</x> - <y>345</y> + <x>409</x> + <y>382</y> <width>62</width> <height>22</height> <line_width>1</line_width> @@ -1566,8 +1532,8 @@ Actual Value</tooltip> <widget type="textupdate" version="2.0.0"> <name>Text Update_PV_2</name> <pv_name>$(Pref)-P-24910B:SpeedFB</pv_name> - <x>451</x> - <y>346</y> + <x>410</x> + <y>383</y> <width>60</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1586,8 +1552,8 @@ Actual Value</tooltip> <widget type="label" version="2.0.0"> <name>Label_Unit PV_2</name> <text>Hz</text> - <x>514</x> - <y>345</y> + <x>473</x> + <y>382</y> <width>30</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1625,8 +1591,8 @@ Actual Value</tooltip> </widget> <widget type="rectangle" version="2.0.0"> <name>Rectangle_PV_3</name> - <x>800</x> - <y>345</y> + <x>759</x> + <y>382</y> <width>62</width> <height>22</height> <line_width>1</line_width> @@ -1643,8 +1609,8 @@ Actual Value</tooltip> <widget type="textupdate" version="2.0.0"> <name>Text Update_PV_3</name> <pv_name>$(Pref)-P-24910C:SpeedFB</pv_name> - <x>801</x> - <y>346</y> + <x>760</x> + <y>383</y> <width>60</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1663,8 +1629,8 @@ Actual Value</tooltip> <widget type="label" version="2.0.0"> <name>Label_Unit PV_3</name> <text>Hz</text> - <x>864</x> - <y>345</y> + <x>823</x> + <y>382</y> <width>30</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1702,8 +1668,8 @@ Actual Value</tooltip> </widget> <widget type="group" version="2.0.0"> <name>Group_Mode_2</name> - <x>834</x> - <y>10</y> + <x>1231</x> + <y>30</y> <width>172</width> <height>32</height> <style>3</style> @@ -1770,8 +1736,8 @@ Actual Value</tooltip> <widget type="label" version="2.0.0"> <name>Label_Unit</name> <text>min</text> - <x>134</x> - <y>445</y> + <x>93</x> + <y>482</y> <width>35</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1785,8 +1751,8 @@ Actual Value</tooltip> <widget type="textupdate" version="2.0.0"> <name>Text Update_PV_4</name> <pv_name>$(Pref)-Virt-CNT2:Count_003</pv_name> - <x>71</x> - <y>446</y> + <x>30</x> + <y>483</y> <width>60</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1810,8 +1776,8 @@ Actual Process Value</tooltip> <widget type="label" version="2.0.0"> <name>Label_Unit_1</name> <text>min</text> - <x>484</x> - <y>445</y> + <x>443</x> + <y>482</y> <width>35</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1825,8 +1791,8 @@ Actual Process Value</tooltip> <widget type="textupdate" version="2.0.0"> <name>Text Update_PV_5</name> <pv_name>$(Pref)-Virt-CNT2:Count_004</pv_name> - <x>421</x> - <y>446</y> + <x>380</x> + <y>483</y> <width>60</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1850,8 +1816,8 @@ Actual Process Value</tooltip> <widget type="label" version="2.0.0"> <name>Label_Unit_2</name> <text>min</text> - <x>834</x> - <y>445</y> + <x>793</x> + <y>482</y> <width>35</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1865,8 +1831,8 @@ Actual Process Value</tooltip> <widget type="textupdate" version="2.0.0"> <name>Text Update_PV_6</name> <pv_name>$(Pref)-Virt-CNT2:Count_005</pv_name> - <x>771</x> - <y>446</y> + <x>730</x> + <y>483</y> <width>60</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -1899,8 +1865,8 @@ Actual Process Value</tooltip> <SufixOn>_O</SufixOn> </macros> <file>../Controls/Objects/cmd2_local.bob</file> - <x>206</x> - <y>730</y> + <x>165</x> + <y>767</y> <width>155</width> <height>70</height> <resize>2</resize> @@ -1917,8 +1883,8 @@ Actual Process Value</tooltip> <SufixOn>_O</SufixOn> </macros> <file>../Controls/Objects/cmd2_local.bob</file> - <x>556</x> - <y>730</y> + <x>515</x> + <y>767</y> <width>155</width> <height>70</height> <resize>2</resize> @@ -1935,8 +1901,8 @@ Actual Process Value</tooltip> <SufixOn>_O</SufixOn> </macros> <file>../Controls/Objects/cmd2_local.bob</file> - <x>906</x> - <y>730</y> + <x>865</x> + <y>767</y> <width>155</width> <height>70</height> <resize>2</resize> @@ -1953,8 +1919,8 @@ Actual Process Value</tooltip> <SufixOn>_O</SufixOn> </macros> <file>../Controls/Objects/cmd2_local.bob</file> - <x>835</x> - <y>48</y> + <x>1232</x> + <y>68</y> <width>155</width> <height>70</height> <resize>2</resize> @@ -1990,9 +1956,9 @@ Actual Process Value</tooltip> </widget> <widget type="polyline" version="2.0.0"> <name>Polyline_13</name> - <x>107</x> - <y>169</y> - <width>355</width> + <x>110</x> + <y>215</y> + <width>670</width> <height>1</height> <line_color> <color name="BLACK-BORDER" red="121" green="121" blue="121"> @@ -2001,7 +1967,7 @@ Actual Process Value</tooltip> <points> <point x="0.0" y="0.0"> </point> - <point x="355.00000000000006" y="0.0"> + <point x="670.0" y="0.0"> </point> </points> </widget> @@ -2013,8 +1979,8 @@ Actual Process Value</tooltip> <Type_cv_bc>cv</Type_cv_bc> </macros> <file>../Controls/Objects/cv_h.bob</file> - <x>285</x> - <y>133</y> + <x>280</x> + <y>179</y> <width>64</width> <height>60</height> <resize>2</resize> @@ -2023,8 +1989,8 @@ Actual Process Value</tooltip> </widget> <widget type="polygon" version="2.0.0"> <name>Polygon_8</name> - <x>461</x> - <y>160</y> + <x>772</x> + <y>206</y> <width>17</width> <height>19</height> <line_width>0</line_width> @@ -2051,7 +2017,7 @@ Actual Process Value</tooltip> <name>Picture_1</name> <file>../symbols/PNG/VG On-Off 2-way Valve 0.png</file> <x>220</x> - <y>151</y> + <y>197</y> <width>36</width> <height>36</height> </widget> @@ -2059,7 +2025,7 @@ Actual Process Value</tooltip> <name>Label_4</name> <text>HV21291</text> <x>204</x> - <y>145</y> + <y>191</y> <width>70</width> <font> <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> @@ -2079,7 +2045,7 @@ Actual Process Value</tooltip> <pv_name>loc://OPI_File</pv_name> <text>ORS Comp.</text> <x>30</x> - <y>148</y> + <y>198</y> <width>131</width> <height>41</height> <font> @@ -2092,4 +2058,195 @@ Actual Process Value</tooltip> </background_color> <border_alarm_sensitive>false</border_alarm_sensitive> </widget> + <widget type="embedded" version="2.0.0"> + <name>TT-62109_3</name> + <macros> + <WIDDev>TT</WIDDev> + <WIDDis>Cryo</WIDDis> + <WIDIndex>44200</WIDIndex> + <WIDLabel>pt100 (0-50)C</WIDLabel> + <WIDSecSub>CrS-TICP</WIDSecSub> + </macros> + <file>../../../ICS_OPI_LIBRARY/DeviceTypes/AnalogMeasure/AnalogTransmitter_BlockIcon_Pt100Temperature_OnlyText_Vertical_Compact.bob</file> + <x>460</x> + <y>20</y> + <width>130</width> + <height>40</height> + <resize>2</resize> + </widget> + <widget type="picture" version="2.0.0"> + <name>Picture_2</name> + <file>../symbols/PNG/ambinet heater.png</file> + <x>450</x> + <y>110</y> + <width>160</width> + <height>60</height> + </widget> + <widget type="polyline" version="2.0.0"> + <name>Polyline_26</name> + <x>180</x> + <y>75</y> + <width>430</width> + <height>1</height> + <line_width>5</line_width> + <line_color> + <color name="BLACK-BORDER" red="121" green="121" blue="121"> + </color> + </line_color> + <points> + <point x="0.0" y="0.0"> + </point> + <point x="430.0" y="0.0"> + </point> + </points> + </widget> + <widget type="embedded" version="2.0.0"> + <name>Embedded Display</name> + <macros> + <WIDDev>C</WIDDev> + <WIDDis>Cryo</WIDDis> + <WIDIndex>44200</WIDIndex> + <WIDLabel>ON/OFF Fan</WIDLabel> + <WIDSecSub>CrS-TICP</WIDSecSub> + </macros> + <file>../Controls/Objects/C_Fan_Icon_Right.bob</file> + <x>240</x> + <y>30</y> + <width>70</width> + <height>70</height> + <resize>2</resize> + <transparent>true</transparent> + </widget> + <widget type="embedded" version="2.0.0"> + <name>TT-62109_2</name> + <macros> + <WIDDev>EH</WIDDev> + <WIDDis>Cryo</WIDDis> + <WIDIndex>44200</WIDIndex> + <WIDLabel>ON/OFF Heater</WIDLabel> + <WIDSecSub>CrS-TICP</WIDSecSub> + </macros> + <file>../Controls/Objects/C_Heater_ONOFF_Icon.bob</file> + <x>330</x> + <y>30</y> + <width>70</width> + <height>70</height> + <resize>2</resize> + <transparent>true</transparent> + </widget> + <widget type="label" version="2.0.0"> + <name>Label_28</name> + <text>AIR</text> + <x>151</x> + <y>63</y> + <width>43</width> + <font> + <font name="Fine Print" family="Source Sans Pro" style="REGULAR" size="14.0"> + </font> + </font> + </widget> + <widget type="polygon" version="2.0.0"> + <name>Polygon_9</name> + <x>178</x> + <y>65</y> + <width>17</width> + <height>19</height> + <line_width>0</line_width> + <line_color> + <color name="BLACK" red="0" green="0" blue="0"> + </color> + </line_color> + <background_color> + <color name="BLACK" red="0" green="0" blue="0"> + </color> + </background_color> + <points> + <point x="0.0" y="0.0"> + </point> + <point x="0.0" y="18.0"> + </point> + <point x="16.0" y="9.0"> + </point> + </points> + <actions> + </actions> + </widget> + <widget type="polygon" version="2.0.0"> + <name>Polygon_10</name> + <x>460</x> + <y>80</y> + <width>20</width> + <height>10</height> + <line_width>0</line_width> + <line_color> + <color name="BLACK" red="0" green="0" blue="0"> + </color> + </line_color> + <background_color> + <color name="BLACK" red="0" green="0" blue="0"> + </color> + </background_color> + <points> + <point x="0.0" y="0.0"> + </point> + <point x="10.0" y="10.0"> + </point> + <point x="20.0" y="0.0"> + </point> + </points> + <actions> + </actions> + </widget> + <widget type="polygon" version="2.0.0"> + <name>Polygon_11</name> + <x>520</x> + <y>80</y> + <width>20</width> + <height>10</height> + <line_width>0</line_width> + <line_color> + <color name="BLACK" red="0" green="0" blue="0"> + </color> + </line_color> + <background_color> + <color name="BLACK" red="0" green="0" blue="0"> + </color> + </background_color> + <points> + <point x="0.0" y="0.0"> + </point> + <point x="10.0" y="10.0"> + </point> + <point x="20.0" y="0.0"> + </point> + </points> + <actions> + </actions> + </widget> + <widget type="polygon" version="2.0.0"> + <name>Polygon_13</name> + <x>580</x> + <y>80</y> + <width>20</width> + <height>10</height> + <line_width>0</line_width> + <line_color> + <color name="BLACK" red="0" green="0" blue="0"> + </color> + </line_color> + <background_color> + <color name="BLACK" red="0" green="0" blue="0"> + </color> + </background_color> + <points> + <point x="0.0" y="0.0"> + </point> + <point x="10.0" y="10.0"> + </point> + <point x="20.0" y="0.0"> + </point> + </points> + <actions> + </actions> + </widget> </display> diff --git a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/opi/cryo-10-gas_bag.bob b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/opi/cryo-10-gas_bag.bob index 8347e6a0431f4fbcff9c0b62e09a34f63be2d47d..923a72220ebc02e5d3e7f8be08483105fefcce2d 100644 --- a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/opi/cryo-10-gas_bag.bob +++ b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/opi/cryo-10-gas_bag.bob @@ -101,7 +101,6 @@ <color name="ORANGE" red="254" green="194" blue="81"> </color> </background_color> - <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="rectangle" version="2.0.0"> <name>Rectangle_Dewar</name> @@ -235,7 +234,6 @@ <color name="ORANGE" red="254" green="194" blue="81"> </color> </background_color> - <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="action_button" version="3.0.0"> <name>Action Button_6</name> @@ -260,7 +258,6 @@ <color name="ORANGE" red="254" green="194" blue="81"> </color> </background_color> - <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="polygon" version="2.0.0"> <name>Polygon_16</name> diff --git a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/Fan Left White.png b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/Fan Left White.png new file mode 100644 index 0000000000000000000000000000000000000000..a4ea5b1d1f54d5044d8437b6b06b82ba95634122 Binary files /dev/null and b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/Fan Left White.png differ diff --git a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/Fan Left transp.png b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/Fan Left transp.png new file mode 100644 index 0000000000000000000000000000000000000000..9d84db587da8c3ce4c4615a59c18c556ef81fb30 Binary files /dev/null and b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/Fan Left transp.png differ diff --git a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/Fan Right transp.png b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/Fan Right transp.png new file mode 100644 index 0000000000000000000000000000000000000000..74637ed147d488a33d4f6d4e0774d6177310194a Binary files /dev/null and b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/Fan Right transp.png differ diff --git a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/ambinet heater.png b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/ambinet heater.png new file mode 100644 index 0000000000000000000000000000000000000000..3e48729300f6d206a097a1de2a5b2e1c98872749 Binary files /dev/null and b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/ambinet heater.png differ diff --git a/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/general heater.png b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/general heater.png new file mode 100644 index 0000000000000000000000000000000000000000..4807a63c78c876937b51aa09d3541016fcaf66b2 Binary files /dev/null and b/NON-APPROVED/Cryo/TICP/CrS-TICP_CRYO_ALAT/symbols/PNG/general heater.png differ diff --git a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_Analog_Faceplate.bob b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_Analog_Faceplate.bob index dd6e6789d8f0e06c867974af12bc810f04bc96e4..454ceddc0694ecc45a48ac09e56246dce9246a3c 100644 --- a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_Analog_Faceplate.bob +++ b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_Analog_Faceplate.bob @@ -1906,6 +1906,26 @@ <tooltip></tooltip> <confirm_message></confirm_message> </widget> + <widget type="action_button" version="3.0.0"> + <name>PIDScreen_Button_2</name> + <actions> + <action type="open_display"> + <file>EH_HeaterSupply_PID_Analog_Faceplate.bob</file> + <macros> + <ControlledDevice>${SecSub}:${Dis}-PSU-${Index}:PwrR</ControlledDevice> + </macros> + <target>window</target> + <description>Open Display</description> + </action> + </actions> + <text>ADV (test)</text> + <x>220</x> + <y>595</y> + <width>200</width> + <height>33</height> + <tooltip></tooltip> + <confirm_message></confirm_message> + </widget> </children> </tab> <tab> diff --git a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_PID_Analog_BlockIcon_OnlyText_Vertical_Compact.bob b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_PID_Analog_BlockIcon_OnlyText_Vertical_Compact.bob new file mode 100755 index 0000000000000000000000000000000000000000..757fddc6b50e6a93cde05f448ed984d75b7f04f9 --- /dev/null +++ b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_PID_Analog_BlockIcon_OnlyText_Vertical_Compact.bob @@ -0,0 +1,300 @@ +<?xml version="1.0" encoding="UTF-8"?> +<display version="2.0.0"> + <name>EH_HeaterSupply_PID_Analog_BlockIcon_OnlyText_Vertical_Compact</name> + <width>142</width> + <height>92</height> + <widget type="label" version="2.0.0"> + <name>WID_AUTMANIcon</name> + <text>E</text> + <x>1</x> + <y>26</y> + <width>21</width> + <height>30</height> + <font> + <font family="Source Sans Pro" style="BOLD" size="28.0"> + </font> + </font> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="TextRule" prop_id="text" out_exp="false"> + <exp bool_exp="pv0 == true"> + <value> </value> + </exp> + <exp bool_exp="pv1 == true"> + <value>M</value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:OpMode_Auto</pv_name> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:OpMode_Manual</pv_name> + </rule> + </rules> + <tooltip>Opmode indicator</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>WID_TitleLBL</name> + <text>${WIDDev}-${WIDIndex}</text> + <x>23</x> + <width>117</width> + <height>29</height> + <font> + <font family="Source Sans Pro" style="BOLD" size="20.0"> + </font> + </font> + <background_color> + <color name="ORANGE" red="254" green="194" blue="81"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <tooltip>Device name</tooltip> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>WID_SP</name> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:HeaterSP</pv_name> + <x>23</x> + <y>28</y> + <width>117</width> + <height>30</height> + <font> + <font family="Source Sans Pro" style="REGULAR" size="20.0"> + </font> + </font> + <precision>2</precision> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <wrap_words>false</wrap_words> + <rules> + <rule name="Disconnected" prop_id="background_color" out_exp="false"> + <exp bool_exp="pvInt0 > 0"> + <value> + <color name="Read_Background" red="230" green="235" blue="232"> + </color> + </value> + </exp> + <exp bool_exp="pvInt0 == 0"> + <value> + <color name="INVALID" red="149" green="110" blue="221"> + </color> + </value> + </exp> + <pv_name>CrS-CMS:Cryo-PLC-01:PLCHashCorrectR</pv_name> + </rule> + </rules> + <border_alarm_sensitive>false</border_alarm_sensitive> + <border_width>1</border_width> + <border_color> + <color name="GRAY-BORDER" red="121" green="121" blue="121"> + </color> + </border_color> + </widget> + <widget type="symbol" version="2.0.0"> + <name>WID_AlarmIcon</name> + <symbols> + <symbol>../../symbols/custom_v02/error@32.png</symbol> + </symbols> + <x>2</x> + <y>4</y> + <width>30</width> + <height>30</height> + <actions> + </actions> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == true"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == false"> + <value>false</value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:GroupAlarm</pv_name> + </rule> + </rules> + <tooltip>Alarm event occured!</tooltip> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>WID_HeaterPower</name> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:HeaterMV</pv_name> + <x>23</x> + <y>59</y> + <width>117</width> + <height>30</height> + <font> + <font family="Source Sans Pro" style="REGULAR" size="20.0"> + </font> + </font> + <precision>2</precision> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <wrap_words>false</wrap_words> + <rules> + <rule name="Disconnected" prop_id="background_color" out_exp="false"> + <exp bool_exp="pvInt0 > 0"> + <value> + <color name="Read_Background" red="230" green="235" blue="232"> + </color> + </value> + </exp> + <exp bool_exp="pvInt0 == 0"> + <value> + <color name="INVALID" red="149" green="110" blue="221"> + </color> + </value> + </exp> + <pv_name>CrS-CMS:Cryo-PLC-01:PLCHashCorrectR</pv_name> + </rule> + </rules> + <border_alarm_sensitive>false</border_alarm_sensitive> + <border_width>1</border_width> + <border_color> + <color name="GRAY-BORDER" red="121" green="121" blue="121"> + </color> + </border_color> + </widget> + <widget type="action_button" version="3.0.0"> + <name>WID_OpenFaceplate</name> + <actions> + <action type="execute"> + <script file="EmbeddedJs"> + <text><![CDATA[/* Embedded javascript */ +/* Author: Miklos Boros*/ +/* Function: check if locking is allowed is yes then generate the LockID, after that it opens the Faceplate*/ + + +PVUtil = org.csstudio.display.builder.runtime.script.PVUtil; +logger = org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger(); +PVFactory = org.csstudio.display.builder.runtime.pv.PVFactory; + + +macros = widget.getEffectiveMacros(); +WIDIndex = macros.getValue("WIDIndex"); +WIDSecSub = macros.getValue("WIDSecSub"); +WIDDis = macros.getValue("WIDDis"); +WIDDev = macros.getValue("WIDDev"); + + + +try +{ +P_BlockIcon_LockID = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":P_BlockIcon_LockID",3000); +DevLocked = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":DevLocked",3000); +Inhibit_Lock = PVUtil.createPV( WIDSecSub+":"+WIDDis+"-"+WIDDev+"-"+WIDIndex+":Inhibit_Lock",3000); +} +catch (e) { logger.info(" Cant open Faceplate, IOC is disconnected"); } + + + + + var patience = 500; + while (true) + { + try + { + if (PVUtil.getLong(Inhibit_Lock)!=null) + {break;} + + } + catch (e) {} + patience -=1; + if (patience <= 0) + { + throw "Timeout connecting to PV"; + } + } + + + + if (PVUtil.getLong(Inhibit_Lock)==0) { /*Inibit_Lock, check if the locking is not inhibited*/ + if (PVUtil.getLong(DevLocked)==1) { /*DevLocked, check if the faceplate is locked*/ + + + /*Generate Unique ID for the machine*/ + var UniqueText = ""; + var en = java.net.NetworkInterface.getNetworkInterfaces(); + var inf; + var enumIpAddr; + var Data1 = ""; + var Data2 = ""; + for (en = java.net.NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { + intf = en.nextElement(); + Data1 = intf.getName() + intf.getDisplayName(); + UniqueText = UniqueText + Data1; + for (enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { + Data2 = enumIpAddr.nextElement().toString(); + UniqueText = UniqueText + Data2; + } + } + + var a_table = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D"; + var b_table = a_table.split(' ').map(function(s){ return parseInt(s,16) }); + + function b_crc32 (str) { + var crc = -1; + for(var i=0, iTop=str.length; i<iTop; i++) { + crc = ( crc >>> 8 ) ^ b_table[( crc ^ str.charCodeAt( i ) ) & 0xFF]; + } + return (crc ^ (-1)) >>> 0; + }; + + var crc = b_crc32(UniqueText) ; + if (crc >=2147483647){ crc = crc - 2147483647;} + logger.info(" BlockIcon machine ID: "+crc); + /*Write Block Icon ID to the PV*/ + try + { + P_BlockIcon_LockID.setValue(crc); + } + catch (e) { logger.info(" Locked ID cannot write pv"); } + + } //Check if device is Locked + + } // Locking inhibited + + /* OPEN FACEPLATE*/ + var map = new Object(); + map["Dev"] = WIDDev; + map["Dis"] = WIDDis; + map["Index"] = WIDIndex; + map["SecSub"] = WIDSecSub; + org.csstudio.display.builder.runtime.script.ScriptUtil.openDisplay(widget, "EH_HeaterSupply_PID_Analog_Faceplate.bob", "STANDALONE", map); + + + + +PVFactory.releasePV(P_BlockIcon_LockID); +PVFactory.releasePV(DevLocked); +PVFactory.releasePV(Inhibit_Lock); +]]></text> + </script> + <description>Open Faceplate</description> + </action> + </actions> + <text></text> + <x>1</x> + <width>140</width> + <transparent>true</transparent> + <tooltip>Open faceplate</tooltip> + </widget> + <widget type="symbol" version="2.0.0"> + <name>WID_Interlock</name> + <symbols> + <symbol>../../symbols/custom_v02/interlock_overridden_disabled_cms@32.png</symbol> + </symbols> + <y>56</y> + <width>30</width> + <height>30</height> + <actions> + </actions> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == true"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == false"> + <value>false</value> + </exp> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDDev}-${WIDIndex}:GroupInterlock</pv_name> + </rule> + </rules> + <tooltip>Interlock event occured!</tooltip> + </widget> +</display> diff --git a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_PID_Analog_Faceplate.bob b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_PID_Analog_Faceplate.bob new file mode 100755 index 0000000000000000000000000000000000000000..5d09410500ec94972175debf78ed90f1410ff11e --- /dev/null +++ b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Heaters/EH_HeaterSupply_PID_Analog_Faceplate.bob @@ -0,0 +1,3705 @@ +<?xml version="1.0" encoding="UTF-8"?> +<display version="2.0.0"> + <name>EH Heater Power Supply PID Analog Faceplate</name> + <width>970</width> + <height>825</height> + <widget type="tabs" version="2.0.0"> + <name>Tabs</name> + <tabs> + <tab> + <name>Status</name> + <children> + <widget type="group" version="2.0.0"> + <name>group.status</name> + <x>10</x> + <y>10</y> + <height>300</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.border</name> + <width>300</width> + <height>300</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.background</name> + <x>6</x> + <y>35</y> + <width>288</width> + <height>260</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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="progressbar" version="2.0.0"> + <name>MET_HeaterCurrent_1</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeaterPower</pv_name> + <x>18</x> + <y>76</y> + <width>270</width> + <height>26</height> + <tooltip></tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + <limits_from_pv>false</limits_from_pv> + <maximum>500.0</maximum> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_STATUS</name> + <text>STATUS</text> + <y>1</y> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>MET_HeaterPower</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeaterPower</pv_name> + <x>27</x> + <y>78</y> + <width>251</width> + <height>30</height> + <background_color> + <color red="255" green="254" blue="253"> + </color> + </background_color> + <transparent>true</transparent> + <precision>2</precision> + <show_units>false</show_units> + <tooltip>Calculated Heater Power</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Heater_Power</name> + <text>Measured Heater Power</text> + <x>20</x> + <y>45</y> + <width>228</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="progressbar" version="2.0.0"> + <name>MET_HeaterCurrent</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeaterCurrent</pv_name> + <x>16</x> + <y>139</y> + <width>270</width> + <height>26</height> + <tooltip></tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + <limits_from_pv>false</limits_from_pv> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_HeaterCurrent</name> + <text>Heater Current</text> + <x>18</x> + <y>110</y> + <width>266</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>MET_HeaterCurrent</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeaterCurrent</pv_name> + <x>23</x> + <y>140</y> + <width>260</width> + <background_color> + <color red="250" green="250" blue="250"> + </color> + </background_color> + <transparent>true</transparent> + <precision>2</precision> + <tooltip>Measured heater Current</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="progressbar" version="2.0.0"> + <name>MET_ValvePos_1</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeaterVoltage</pv_name> + <x>15</x> + <y>200</y> + <width>270</width> + <height>26</height> + <tooltip></tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + <limits_from_pv>false</limits_from_pv> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_HeaterVoltage</name> + <text>Heater Voltage</text> + <x>17</x> + <y>171</y> + <width>266</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>MET_HeaterVoltage</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeaterVoltage</pv_name> + <x>21</x> + <y>202</y> + <width>260</width> + <background_color> + <color red="250" green="250" blue="250"> + </color> + </background_color> + <transparent>true</transparent> + <precision>2</precision> + <tooltip>Measured heater Voltage</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Heater_OutPut_Power</name> + <text>Heater Output</text> + <x>18</x> + <y>231</y> + <width>228</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>MET_HeaterMV</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeaterMV</pv_name> + <x>18</x> + <y>259</y> + <width>130</width> + <height>30</height> + <font> + <font family="Source Sans Pro SemiBold" style="REGULAR" size="23.0"> + </font> + </font> + <background_color> + <color red="255" green="254" blue="253"> + </color> + </background_color> + <transparent>true</transparent> + <precision>2</precision> + <show_units>false</show_units> + <tooltip>Calculated Heater Power</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_SP_Regul_Unit_2</name> + <text>Current in percent (%)</text> + <x>148</x> + <y>262</y> + <width>140</width> + <height>30</height> + <font> + <font family="Source Sans Pro" style="BOLD" size="14.0"> + </font> + </font> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + </widget> + <widget type="group" version="2.0.0"> + <name>group.op.modes</name> + <x>320</x> + <y>10</y> + <height>300</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.op.modes.border</name> + <width>300</width> + <height>300</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.op.modes.background</name> + <x>6</x> + <y>35</y> + <width>288</width> + <height>260</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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>LB_OP_MODES</name> + <text>OP MODES</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_Auto</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Auto</pv_name> + <x>113</x> + <y>61</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <tooltip>Operation mode Auto</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_STAT_AUTO</name> + <text>AUTO</text> + <x>148</x> + <y>61</y> + <width>60</width> + <height>25</height> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_Manual</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Manual</pv_name> + <x>113</x> + <y>96</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <tooltip>Operation mode Manual</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_STAT_MANUAL</name> + <text>MANUAL</text> + <x>147</x> + <y>96</y> + <width>60</width> + <height>25</height> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_MESSAGES</name> + <text>MESSAGES</text> + <x>5</x> + <y>155</y> + <width>290</width> + <height>25</height> + <font> + <font family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>MSG_InhibitMan</name> + <text>- Manual mode inhibited</text> + <x>15</x> + <y>190</y> + <width>270</width> + <foreground_color> + <color name="PRIMARY-DARK" red="31" green="83" blue="102"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Visibility rule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Manual</pv_name> + </rule> + </rules> + </widget> + <widget type="label" version="2.0.0"> + <name>MSG_LatchAlarm_DIS</name> + <text>- Alarms latching disabled</text> + <x>15</x> + <y>230</y> + <width>270</width> + <foreground_color> + <color name="PRIMARY-DARK" red="31" green="83" blue="102"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Visibility rule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>false</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:LatchAlarm</pv_name> + </rule> + </rules> + </widget> + <widget type="label" version="2.0.0"> + <name>MSG_LatchAlarm_ENA</name> + <text>- Alarms latching enabled</text> + <x>15</x> + <y>230</y> + <width>270</width> + <foreground_color> + <color name="PRIMARY-DARK" red="31" green="83" blue="102"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Visibility rule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:LatchAlarm</pv_name> + </rule> + </rules> + </widget> + <widget type="label" version="2.0.0"> + <name>MSG_RampingON</name> + <text>- Ramping enabled</text> + <x>15</x> + <y>250</y> + <width>270</width> + <foreground_color> + <color name="PRIMARY-DARK" red="31" green="83" blue="102"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Visibility rule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Ramping</pv_name> + </rule> + </rules> + </widget> + <widget type="label" version="2.0.0"> + <name>MSG_RampingON_1</name> + <text>- Ramping disabled</text> + <x>15</x> + <y>250</y> + <width>270</width> + <foreground_color> + <color name="PRIMARY-DARK" red="31" green="83" blue="102"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Visibility rule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>false</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Ramping</pv_name> + </rule> + </rules> + </widget> + </widget> + <widget type="group" version="2.0.0"> + <name>group.alarms</name> + <x>630</x> + <y>10</y> + <height>300</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.alarms.border</name> + <width>300</width> + <height>300</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.alarms.background</name> + <x>6</x> + <y>35</y> + <width>288</width> + <height>260</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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="led" version="2.0.0"> + <name>LED_ALM_IO_Error</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:IO_Error</pv_name> + <x>50</x> + <y>86</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </on_color> + <tooltip>I/O error</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_IO_Error</name> + <text>I/O Error</text> + <x>85</x> + <y>86</y> + <width>88</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ALM_Input_Module_Error</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Input_Module_Error</pv_name> + <x>50</x> + <y>120</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </on_color> + <tooltip>I/O error</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_Input_Module_Error</name> + <text>Input Module Error</text> + <x>85</x> + <y>120</y> + <width>155</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ILOCK_START</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatInterlock</pv_name> + <x>50</x> + <y>245</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MINOR" red="252" green="242" blue="17"> + </color> + </on_color> + <tooltip>Start interlock</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ILOCK_START</name> + <text>Heater Interlock</text> + <x>85</x> + <y>245</y> + <width>155</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALARMS</name> + <text>ALARMS</text> + <y>5</y> + <width>300</width> + <height>30</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="BackgroundColor" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </value> + </exp> + <exp bool_exp="pv0 == 0"> + <value> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupAlarm</pv_name> + </rule> + </rules> + <tooltip>Group alarm</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_INTERLOCKS</name> + <text>INTERLOCKS</text> + <x>5</x> + <y>197</y> + <width>290</width> + <height>25</height> + <font> + <font family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="BackgroundColor" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value> + <color name="MINOR" red="252" green="242" blue="17"> + </color> + </value> + </exp> + <exp bool_exp="pv0 == 0"> + <value> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupInterlock</pv_name> + </rule> + </rules> + <tooltip>Group interlock</tooltip> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ALM_Discrepancy</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Power_Discrep</pv_name> + <x>50</x> + <y>50</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </on_color> + <tooltip>I/O error</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_Discrepancy</name> + <text>Power discrepancy</text> + <x>85</x> + <y>50</y> + <width>155</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ALM_Output_Module_Error</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Output_Module_Error</pv_name> + <x>50</x> + <y>155</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </on_color> + <tooltip>I/O error</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_Output_Module_Error</name> + <text>Output Module Error</text> + <x>85</x> + <y>153</y> + <width>155</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + </widget> + <widget type="group" version="2.0.0"> + <name>group.ramping</name> + <x>320</x> + <y>320</y> + <height>263</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.ramping.border</name> + <width>300</width> + <height>255</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.ramping.background</name> + <x>5</x> + <y>35</y> + <width>290</width> + <height>213</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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>LB_Ramping</name> + <text>RAMPING STATUS</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_RampTime_1</name> + <text>Actual State:</text> + <x>10</x> + <y>44</y> + <width>135</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>IND_Direction</name> + <text>DISABLED</text> + <x>155</x> + <y>44</y> + <width>135</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </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> + <rules> + <rule name="TextRule" prop_id="text" out_exp="false"> + <exp bool_exp="pv1 == 0"> + <value>IDLE</value> + </exp> + <exp bool_exp="pv0==1"> + <value>Heating</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:HeatingON</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Ramping</pv_name> + </rule> + </rules> + <tooltip>Ramping status</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Ract</name> + <text>Actual Speed:</text> + <x>10</x> + <y>84</y> + <width>135</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_ActRampUPSpeed</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:ActRampSpeed</pv_name> + <x>154</x> + <y>84</y> + <width>136</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <wrap_words>false</wrap_words> + <tooltip>Actual Ramping Speed</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_RAMPON</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_RampON</pv_name> + <text>Ramping ON</text> + <x>16</x> + <y>205</y> + <width>130</width> + <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 1) || (pv1 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 0) && (pv1 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Ramping</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>turn ramping ON</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_RAMPOFF</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_RampOFF</pv_name> + <text>Ramping OFF</text> + <x>157</x> + <y>204</y> + <width>130</width> + <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Ramping</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>turn ramping OFF</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>MSG_RampingNoAllowed</name> + <text>- Ramping Parameters are Zero!</text> + <x>17</x> + <y>178</y> + <width>268</width> + <foreground_color> + <color name="PRIMARY-DARK" red="31" green="83" blue="102"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Visibility rule" prop_id="visible" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>false</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:RampSettingOK</pv_name> + </rule> + </rules> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_MaxRampUPSpeed</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:MaxRampUPSpd</pv_name> + <x>153</x> + <y>118</y> + <width>137</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <wrap_words>false</wrap_words> + <tooltip>Maximum allowed Opening Ramp speed</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Rmax</name> + <text>Allowed Opening:</text> + <x>8</x> + <y>118</y> + <width>140</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_MaxRampDNSpeed</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:MaxRampDNSpd</pv_name> + <x>153</x> + <y>147</y> + <width>137</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <wrap_words>false</wrap_words> + <tooltip>Maximum allowed Opening Ramp speed</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Rmax_1</name> + <text>Allowed Closing:</text> + <x>8</x> + <y>147</y> + <width>140</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + </widget> + <widget type="group" version="2.0.0"> + <name>group.settings</name> + <x>630</x> + <y>320</y> + <height>265</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.settings.border</name> + <width>300</width> + <height>256</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Settings</name> + <text>SETTINGS</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.settings.background</name> + <x>5</x> + <y>35</y> + <width>290</width> + <height>214</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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>LB_RampTime</name> + <text>Time:</text> + <x>8</x> + <y>70</y> + <width>75</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_RampingTime</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_RampUPTIME</pv_name> + <x>68</x> + <y>70</y> + <width>115</width> + <height>30</height> + <format>0</format> + <precision>2</precision> + <tooltip>Tamping UP time</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + <maximum>3600.0</maximum> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_RampingTime</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_RampUPTIME</pv_name> + <x>193</x> + <y>70</y> + <width>95</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>$(pv_name)$(pv_value)</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_RampRange</name> + <text>Range:</text> + <x>8</x> + <y>110</y> + <width>75</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_RampingRange</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_RampUPRANGE</pv_name> + <x>68</x> + <y>110</y> + <width>115</width> + <height>30</height> + <format>0</format> + <precision>2</precision> + <tooltip>Ramping UP range</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_RampingRange</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_RampUPRANGE</pv_name> + <x>193</x> + <y>110</y> + <width>95</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>$(pv_name)$(pv_value)</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_RampTime_2</name> + <text>Time:</text> + <x>8</x> + <y>174</y> + <width>75</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_RampingTime_1</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_RampDNTIME</pv_name> + <x>68</x> + <y>174</y> + <width>115</width> + <height>30</height> + <format>0</format> + <precision>2</precision> + <rules> + <rule name="Enable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + </rule> + </rules> + <tooltip>Ramping DOWN Time</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + <maximum>3600.0</maximum> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_RampingTime_1</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_RampDNTIME</pv_name> + <x>193</x> + <y>174</y> + <width>95</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>$(pv_name)$(pv_value)</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_RampRange_1</name> + <text>Range:</text> + <x>8</x> + <y>214</y> + <width>75</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_RampingRange_1</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_RampDNRANGE</pv_name> + <x>68</x> + <y>214</y> + <width>115</width> + <height>30</height> + <format>0</format> + <precision>2</precision> + <rules> + <rule name="Enable" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + </rule> + </rules> + <tooltip>Ramping DOWN Range</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_RampingRange_1</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_RampDNRANGE</pv_name> + <x>193</x> + <y>214</y> + <width>95</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>$(pv_name)$(pv_value)</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_STS_RdySwitchOn_1</name> + <text>Ramp OPEN parameters</text> + <x>8</x> + <y>39</y> + <width>250</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_STS_RdySwitchOn_2</name> + <text>Ramp CLOSE parameters</text> + <x>7</x> + <y>144</y> + <width>250</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>buttons.bar</name> + <x>10</x> + <y>590</y> + <width>920</width> + <height>80</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_AUTO</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_Auto</pv_name> + <text>AUTO</text> + <x>15</x> + <y>631</y> + <width>200</width> + <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:EnableAutoBtn</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>AUTO operation mode</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_MANUAL</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_Manual</pv_name> + <text>MANUAL</text> + <x>220</x> + <y>631</y> + <width>200</width> + <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:EnableManualBtn</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>MANUAL operation mode</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_ACK</name> + <actions> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_AckAlarm</pv_name> + <value>1</value> + <description>Acknowledge alarms</description> + </action> + </actions> + <text>Acknowledge Alarm</text> + <x>725</x> + <y>631</y> + <width>200</width> + <height>33</height> + <background_color> + <color name="ORANGE" red="254" green="194" blue="81"> + </color> + </background_color> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 1) || (pv2 == 0)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0) && (pv2 == 1)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupAlarm</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:LatchAlarm</pv_name> + </rule> + </rules> + <tooltip>Acknowledge alarms</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_FORCE_UNLOCK</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_ForceUnlock</pv_name> + <value>1</value> + <description>Write ForceUnlock</description> + </action> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_Faceplate_LockID</pv_name> + <value>0</value> + <description>Write zero to P_Faceplate_LockID</description> + </action> + <action type="write_pv"> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + <value>0</value> + <description>Write EnaForceUnlock</description> + </action> + </actions> + <text>FORCE UNLOCK</text> + <x>725</x> + <y>595</y> + <width>200</width> + <height>33</height> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="(pv0 == 0) && (pv1 == 1)"> + <value>true</value> + </exp> + <exp bool_exp="(pv0 == 1) || (pv1 == 0)"> + <value>false</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>Force unlock device</tooltip> + </widget> + <widget type="group" version="2.0.0"> + <name>group.modify</name> + <x>10</x> + <y>320</y> + <height>263</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.modify.border</name> + <width>300</width> + <height>255</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Modify</name> + <text>SETPOINT</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.modify.background_1</name> + <x>5</x> + <y>35</y> + <width>290</width> + <height>213</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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="textupdate" version="2.0.0"> + <name>TU_FB_StepValue</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_Step</pv_name> + <x>195</x> + <y>130</y> + <width>95</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Feedback step value</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_StepValue</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_Step</pv_name> + <x>96</x> + <y>130</y> + <width>92</width> + <height>30</height> + <format>0</format> + <precision>2</precision> + <tooltip>Step value</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + <limits_from_pv>false</limits_from_pv> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_StepValue</name> + <text>Step Value:</text> + <x>7</x> + <y>127</y> + <width>101</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_Setpoint</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_Setpoint</pv_name> + <x>195</x> + <y>77</y> + <width>95</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Feedback modified setpoint</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_ForcePumpSP</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_Setpoint</pv_name> + <x>77</x> + <y>77</y> + <width>111</width> + <height>30</height> + <format>0</format> + <precision>2</precision> + <rules> + <rule name="IncrementRule" prop_id="increment" out_exp="true"> + <exp bool_exp="true"> + <expression>pv0</expression> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:FB_Step</pv_name> + </rule> + </rules> + <tooltip>Modify Setpoint</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + <maximum>99999.0</maximum> + <limits_from_pv>false</limits_from_pv> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_FrcSetpoint</name> + <text>Setpoint:</text> + <x>8</x> + <y>77</y> + <width>71</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="polyline" version="2.0.0"> + <name>Polyline</name> + <x>134</x> + <y>108</y> + <width>41</width> + <line_color> + <color name="WHITE" red="255" green="255" blue="255"> + </color> + </line_color> + <points> + <point x="0.0" y="20.0"> + </point> + <point x="0.0" y="10.0"> + </point> + <point x="40.32786885245899" y="10.0"> + </point> + <point x="40.32786885245899" y="0.0"> + </point> + </points> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_SP_Unit</name> + <text>Setpoint Unit:</text> + <x>8</x> + <y>43</y> + <width>120</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_SP_Regul_Unit</name> + <text>Percent (%)</text> + <x>110</x> + <y>43</y> + <width>120</width> + <height>30</height> + <font> + <font family="Source Sans Pro" style="BOLD" size="16.0"> + </font> + </font> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="Text Rule" prop_id="text" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value>Percent (%)</value> + </exp> + <exp bool_exp="pv1 == 1"> + <value>Power (W)</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:RegMode_OFF</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:RegMode_Power</pv_name> + </rule> + </rules> + </widget> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_PowerRegulation</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_PowerReg</pv_name> + <text>POWER REGULATION</text> + <x>15</x> + <y>595</y> + <width>200</width> + <height>33</height> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0 || pv1 ==0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 ==1 && pv1==1"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:RegMode_OFF</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Manual</pv_name> + </rule> + </rules> + <tooltip>Enable POWER regulation</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_PowerRegulation_1</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_RegOFF</pv_name> + <text>REGULATION OFF</text> + <x>220</x> + <y>595</y> + <width>200</width> + <height>33</height> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0 || pv1 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 ==1 && pv1 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:RegMode_Power</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:OpMode_Manual</pv_name> + </rule> + </rules> + <tooltip>Disable POWER regulation</tooltip> + </widget> + </children> + </tab> + <tab> + <name>Trend</name> + <children> + <widget type="databrowser" version="2.0.0"> + <name>Data Browser</name> + <file>EH_HeaterSupply_Tend.plt</file> + <width>940</width> + <height>687</height> + </widget> + </children> + </tab> + <tab> + <name>Internal PID Status</name> + <children> + <widget type="group" version="2.0.0"> + <name>group.ramping_1</name> + <x>8</x> + <y>11</y> + <height>263</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.ramping.border_1</name> + <width>300</width> + <height>255</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.ramping.background_1</name> + <x>5</x> + <y>35</y> + <width>290</width> + <height>213</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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>LB_Ramping_1</name> + <text>PID STATUS</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_P_Action</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:LMN_P</pv_name> + <x>173</x> + <y>51</y> + <width>110</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Actual calculated P-Action</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_P_Action_1</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:LMN_I</pv_name> + <x>173</x> + <y>91</y> + <width>110</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Actual calculated I-Action</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_P_Action_1</name> + <text>Manipulated P-Action:</text> + <x>18</x> + <y>51</y> + <width>150</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_I_Action_1</name> + <text>Manipulated I-Action:</text> + <x>18</x> + <y>91</y> + <width>150</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_D_Action_1</name> + <text>Manipulated D-Action:</text> + <x>18</x> + <y>131</y> + <width>150</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_D_Action</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:LMN_D</pv_name> + <x>173</x> + <y>131</y> + <width>110</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Actual calculated D-Action</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_DIF</name> + <text>Actual PID error:</text> + <x>8</x> + <y>171</y> + <width>160</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_PID_DIF</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:PID_DIF</pv_name> + <x>173</x> + <y>171</y> + <width>110</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Actual calculated PID error</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_PID_Cycle</name> + <text>Actual PID cycle:</text> + <x>7</x> + <y>211</y> + <width>160</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_PID_Cycle</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:PID_Cycle</pv_name> + <x>172</x> + <y>211</y> + <width>110</width> + <height>30</height> + <vertical_alignment>1</vertical_alignment> + <tooltip>Actual PID cycle time</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + </widget> + <widget type="group" version="2.0.0"> + <name>group.settings_3</name> + <x>318</x> + <y>11</y> + <height>265</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.settings.border_4</name> + <width>300</width> + <height>256</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Settings_4</name> + <text>SETTINGS</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.settings.background_4</name> + <x>5</x> + <y>35</y> + <width>290</width> + <height>214</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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>LB_PID_Gain_5</name> + <text>PID Gain:</text> + <x>29</x> + <y>52</y> + <width>129</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_Gain_5</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_Gain</pv_name> + <x>158</x> + <y>52</y> + <width>128</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Click [APPLY Input] to apply</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_Integration_9</name> + <text>PID Integration time:</text> + <x>18</x> + <y>91</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_Integration_5</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_TI</pv_name> + <x>157</x> + <y>91</y> + <width>128</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Click [APPLY Input] to apply</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_Integration_10</name> + <text>PID Derivative time:</text> + <x>18</x> + <y>131</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_Derivative_5</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_TD</pv_name> + <x>157</x> + <y>131</y> + <width>128</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Click [APPLY Input] to apply</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_DeadBand_4</name> + <text>PID Deadband:</text> + <x>18</x> + <y>171</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_DeadBand_4</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_DEADB</pv_name> + <x>157</x> + <y>171</y> + <width>128</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Click [APPLY Input] to apply</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_LMN_HLIM_1</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_LMN_HLIM</pv_name> + <x>200</x> + <y>211</y> + <width>85</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>PID output MAX Value</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_HLIM_1</name> + <text>LMN Limits:</text> + <x>17</x> + <y>209</y> + <width>87</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_LMN_LLIM_1</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_LMN_LLIM</pv_name> + <x>103</x> + <y>211</y> + <width>82</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>PID output MIN Value</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + </widget> + <widget type="group" version="2.0.0"> + <name>group.alarms_1</name> + <x>628</x> + <y>11</y> + <height>307</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.alarms.border_1</name> + <width>300</width> + <height>300</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.alarms.background_1</name> + <x>5</x> + <y>35</y> + <width>290</width> + <height>260</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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="led" version="2.0.0"> + <name>LED_ALM_IO_Error_1</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:IO_Error</pv_name> + <x>50</x> + <y>109</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </on_color> + <tooltip>Scaling error out of range</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_IO_Error_1</name> + <text>I/O Error</text> + <x>85</x> + <y>109</y> + <width>88</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ALM_Input_Module_Error_1</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Input_Module_Error</pv_name> + <x>50</x> + <y>139</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </on_color> + <tooltip>Siemens Input Module Error</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_Input_Module_Error_1</name> + <text>Input Module Error</text> + <x>85</x> + <y>139</y> + <width>155</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ILOCK_START_1</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:GroupInterlock</pv_name> + <x>50</x> + <y>250</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MINOR" red="252" green="242" blue="17"> + </color> + </on_color> + <tooltip>Move interlock</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ILOCK_START_1</name> + <text>Move Interlock</text> + <x>85</x> + <y>250</y> + <width>155</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALARMS_1</name> + <text>ALARMS</text> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="BackgroundColor" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </value> + </exp> + <exp bool_exp="pv0 == 0"> + <value> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupAlarm</pv_name> + </rule> + </rules> + <tooltip>Group alarm</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_INTERLOCKS_1</name> + <text>INTERLOCKS</text> + <x>5</x> + <y>207</y> + <width>290</width> + <height>25</height> + <font> + <font family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <transparent>false</transparent> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + <rules> + <rule name="BackgroundColor" prop_id="background_color" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value> + <color name="MINOR" red="252" green="242" blue="17"> + </color> + </value> + </exp> + <exp bool_exp="pv0 == 0"> + <value> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:GroupInterlock</pv_name> + </rule> + </rules> + <tooltip>Group interlock</tooltip> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ALM_Output_Module_Error_1</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Output_Module_Error</pv_name> + <x>50</x> + <y>172</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MAJOR" red="252" green="13" blue="27"> + </color> + </on_color> + <tooltip>Siemens Output module error</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_Output_Module_Error_1</name> + <text>Output Module Error</text> + <x>85</x> + <y>171</y> + <width>155</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ALM_LMN_HLIM</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:LMN_HLIM</pv_name> + <x>50</x> + <y>49</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MINOR" red="252" green="242" blue="17"> + </color> + </on_color> + <tooltip>The PID reached the maximum output value</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_ALM_LMN_LLIM</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:LMN_LLIM</pv_name> + <x>50</x> + <y>79</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <on_color> + <color name="MINOR" red="252" green="242" blue="17"> + </color> + </on_color> + <tooltip>The PID reached the minimum output value</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_LMN_HLIM</name> + <text>PID Maximum reached</text> + <x>86</x> + <y>49</y> + <width>194</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_ALM_LMN_LLIM</name> + <text>PID Minimum reached</text> + <x>86</x> + <y>79</y> + <width>155</width> + <height>25</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + </widget> + </children> + </tab> + <tab> + <name>Internal PID Settings</name> + <children> + <widget type="group" version="2.0.0"> + <name>group.settings_2</name> + <x>8</x> + <y>11</y> + <width>415</width> + <height>655</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.settings.border_3</name> + <width>415</width> + <height>645</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Settings_3</name> + <text>SETTINGS</text> + <width>415</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.settings.background_3</name> + <x>6</x> + <y>35</y> + <width>401</width> + <height>603</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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>LB_PID_Gain_4</name> + <text>PID Gain:</text> + <x>32</x> + <y>135</y> + <width>129</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_Gain_4</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_Gain</pv_name> + <x>295</x> + <y>138</y> + <height>30</height> + <precision>4</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>PID Gain Feedback</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_Integration_7</name> + <text>PID Integration time:</text> + <x>21</x> + <y>174</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_Integration_4</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_TI</pv_name> + <x>294</x> + <y>177</y> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>PID Integration Time Feedback</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_Integration_8</name> + <text>PID Derivative time:</text> + <x>21</x> + <y>214</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_Derivative_4</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_TD</pv_name> + <x>294</x> + <y>217</y> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>PID Derivatiove Time Feedback</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_DeadBand_3</name> + <text>PID Deadband:</text> + <x>21</x> + <y>254</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_DeadBand_3</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_DEADB</pv_name> + <x>294</x> + <y>257</y> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>PID Deadband Feedback</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_P_PID_Gain</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:P_Gain</pv_name> + <x>174</x> + <y>138</y> + <height>30</height> + <format>0</format> + <precision>4</precision> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + </rule> + </rules> + <tooltip>PID Gain</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_P_PID_TI</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:P_TI</pv_name> + <x>174</x> + <y>178</y> + <height>30</height> + <format>0</format> + <precision>2</precision> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + </rule> + </rules> + <tooltip>PID Integration Time</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_P_PID_TD</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:P_TD</pv_name> + <x>174</x> + <y>218</y> + <height>30</height> + <format>0</format> + <precision>2</precision> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + </rule> + </rules> + <tooltip>PID Derivative time</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_P_PID_DeadBand</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:P_DEADB</pv_name> + <x>174</x> + <y>258</y> + <height>30</height> + <format>0</format> + <precision>2</precision> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + </rule> + </rules> + <tooltip>PID Deadband</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_HLIM</name> + <text>LMN High Limit:</text> + <x>21</x> + <y>308</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_P_LMN_HLIM</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:P_LMN_HLIM</pv_name> + <x>174</x> + <y>312</y> + <height>30</height> + <format>0</format> + <precision>2</precision> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + </rule> + </rules> + <tooltip>PID Output maximum value</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + <limits_from_pv>false</limits_from_pv> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_LMN_HLIM</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_LMN_HLIM</pv_name> + <x>294</x> + <y>311</y> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>LMN Hogh Limit Feedback</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_LLIM</name> + <text>LMN Low Limit:</text> + <x>20</x> + <y>348</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="spinner" version="2.0.0"> + <name>INP_P_LMN_LLIM</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:P_LMN_LLIM</pv_name> + <x>173</x> + <y>352</y> + <height>30</height> + <format>0</format> + <precision>2</precision> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + </rule> + </rules> + <tooltip>PID Output minimum value</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + <limits_from_pv>false</limits_from_pv> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_FB_LMN_LLIM</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_LMN_LLIM</pv_name> + <x>293</x> + <y>351</y> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>LMN Low Limit Feedback</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_P_Action_ON</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Cmd_P_ON</pv_name> + <text>ON</text> + <x>171</x> + <y>407</y> + <width>102</width> + <height>33</height> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) || (pv1 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_P_ActionState</pv_name> + </rule> + </rules> + <tooltip>Turn ON P-Action</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_P_Action_ON_1</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Cmd_P_OFF</pv_name> + <text>OFF</text> + <x>290</x> + <y>408</y> + <width>102</width> + <height>33</height> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) ||(pv1 == 0)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 1)"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_P_ActionState</pv_name> + </rule> + </rules> + <tooltip>Turn OFF P-Action</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_P_Action</name> + <text>Turn P-Action:</text> + <x>18</x> + <y>408</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_I_Action</name> + <text>Turn I-Action:</text> + <x>18</x> + <y>449</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_I_Action_ON</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Cmd_I_ON</pv_name> + <text>ON</text> + <x>171</x> + <y>448</y> + <width>102</width> + <height>33</height> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) ||(pv1 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_I_ActionState</pv_name> + </rule> + </rules> + <tooltip>Turn ON I-Action</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_I_Action_ON_1</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Cmd_I_OFF</pv_name> + <text>OFF</text> + <x>290</x> + <y>449</y> + <width>102</width> + <height>33</height> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) ||(pv1 == 0)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 1)"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_I_ActionState</pv_name> + </rule> + </rules> + <tooltip>Turn OFF I-Action</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_D_Action</name> + <text>Turn D-Action:</text> + <x>18</x> + <y>489</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_D_Action_ON</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Cmd_D_ON</pv_name> + <text>ON</text> + <x>171</x> + <y>488</y> + <width>102</width> + <height>33</height> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) ||(pv1 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_D_ActionState</pv_name> + </rule> + </rules> + <tooltip>Turn ON D-Action</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_D_Action_ON_1</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Cmd_D_OFF</pv_name> + <text>OFF</text> + <x>290</x> + <y>489</y> + <width>102</width> + <height>33</height> + <rules> + <rule name="Enabled Rule" prop_id="enabled" out_exp="false"> + <exp bool_exp="(pv0 == 0) ||(pv1 == 0)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == 1) && (pv1 == 1)"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_D_ActionState</pv_name> + </rule> + </rules> + <tooltip>Turn OFF I-Action</tooltip> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_PID_Config</name> + <text>PID Configuration:</text> + <x>20</x> + <y>67</y> + <width>140</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <horizontal_alignment>2</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_P_Action_ON_6</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Cmd_EnablePID_Conf</pv_name> + <text>ON</text> + <x>173</x> + <y>66</y> + <width>102</width> + <height>33</height> + <rules> + <rule name="EnabledRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>false</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + </rule> + </rules> + <tooltip>Enable PID Configuration</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_P_Action_ON_7</name> + <actions> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Cmd_DisablePID_Conf</pv_name> + <text>OFF</text> + <x>292</x> + <y>67</y> + <width>102</width> + <height>33</height> + <rules> + <rule name="EnabledRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:EnablePIDConf</pv_name> + </rule> + </rules> + <tooltip>Disable PID Configuration</tooltip> + </widget> + <widget type="led" version="2.0.0"> + <name>LED</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_P_ActionState</pv_name> + <x>25</x> + <y>409</y> + <width>30</width> + <height>30</height> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_1</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_I_ActionState</pv_name> + <x>25</x> + <y>447</y> + <width>30</width> + <height>30</height> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_2</name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:FB_D_ActionState</pv_name> + <x>25</x> + <y>487</y> + <width>30</width> + <height>30</height> + </widget> + </widget> + </children> + </tab> + <tab> + <name>Temperature Sensor Selection</name> + <children> + <widget type="group" version="2.0.0"> + <name>group.status_1</name> + <x>8</x> + <y>11</y> + <height>300</height> + <style>3</style> + <widget type="rectangle" version="2.0.0"> + <name>group.border_1</name> + <width>300</width> + <height>300</height> + <line_width>0</line_width> + <line_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </line_color> + <background_color> + <color name="GROUP-BORDER" red="150" green="155" blue="151"> + </color> + </background_color> + <corner_width>10</corner_width> + <corner_height>10</corner_height> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>group.background_1</name> + <x>6</x> + <y>35</y> + <width>289</width> + <height>260</height> + <line_width>0</line_width> + <line_color> + <color name="PRIMARY-GROUP-BORDER" red="151" green="188" blue="202"> + </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>LB_STATUS_1</name> + <text>SENSOR SELECTION</text> + <y>1</y> + <width>300</width> + <height>35</height> + <font> + <font name="Header 2" family="Source Sans Pro" style="BOLD_ITALIC" size="21.0"> + </font> + </font> + <foreground_color> + <color name="GRAY-TEXT" red="255" green="255" blue="255"> + </color> + </foreground_color> + <background_color> + <color name="GROUP-BACKGROUND" red="200" green="205" blue="201"> + </color> + </background_color> + <horizontal_alignment>1</horizontal_alignment> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Sensor1</name> + <text>Temperature sensor 1:</text> + <x>12</x> + <y>46</y> + <width>178</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_Sensor2</name> + <text>Temperature sensor 2:</text> + <x>11</x> + <y>161</y> + <width>178</width> + <height>30</height> + <foreground_color> + <color name="TEXT" red="25" green="25" blue="25"> + </color> + </foreground_color> + <background_color> + <color name="BLUE-BACKGROUND" red="195" green="226" blue="225"> + </color> + </background_color> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_TempSensor1Name</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:TempSensor1Name</pv_name> + <x>30</x> + <y>80</y> + <width>250</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Temperature Sensor #1 name</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="textupdate" version="2.0.0"> + <name>TU_TempSensor1Name_1</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:TempSensor2Name</pv_name> + <x>30</x> + <y>192</y> + <width>250</width> + <height>30</height> + <precision>2</precision> + <vertical_alignment>1</vertical_alignment> + <tooltip>Temperature Sensor #2 name</tooltip> + <border_alarm_sensitive>false</border_alarm_sensitive> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_SENSOR1</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_SelSensor1</pv_name> + <text>SELECT SENSOR #1</text> + <x>120</x> + <y>120</y> + <width>150</width> + <height>33</height> + <tooltip>Select Sensor #1</tooltip> + <show_confirm_dialog>true</show_confirm_dialog> + <confirm_message>Are your sure you want to change measurement??</confirm_message> + </widget> + <widget type="action_button" version="3.0.0"> + <name>BTN_SENSOR2</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>$(pv_name)</pv_name> + <value>1</value> + <description>Write PV</description> + </action> + </actions> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_SelSensor2</pv_name> + <text>SELECT SENSOR #2</text> + <x>120</x> + <y>230</y> + <width>150</width> + <height>33</height> + <tooltip>Select sensor #2</tooltip> + <show_confirm_dialog>true</show_confirm_dialog> + <confirm_message>Are your sure you want to change measurement?</confirm_message> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_SelSensor1</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:SelSensor1</pv_name> + <x>83</x> + <y>124</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <tooltip>Sensor 1 selected</tooltip> + </widget> + <widget type="led" version="2.0.0"> + <name>LED_SelSensor2</name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:SelSensor2</pv_name> + <x>81</x> + <y>234</y> + <width>25</width> + <height>25</height> + <off_color> + <color name="Grid" red="169" green="169" blue="169"> + </color> + </off_color> + <tooltip>Sensor 2 selected</tooltip> + </widget> + </widget> + </children> + </tab> + </tabs> + <x>10</x> + <y>60</y> + <width>943</width> + <height>720</height> + </widget> + <widget type="rectangle" version="2.0.0"> + <name>Header Bar</name> + <width>963</width> + <height>50</height> + <line_width>0</line_width> + <line_color> + <color red="0" green="0" blue="255" alpha="0"> + </color> + </line_color> + <background_color> + <color name="PRIMARY-HEADER-BACKGROUND" red="151" green="188" blue="202"> + </color> + </background_color> + </widget> + <widget type="label" version="2.0.0"> + <name>LB_HeaderPVName</name> + <text>${SecSub}:${Dis}-${Dev}-${Index}</text> + <x>20</x> + <width>715</width> + <height>50</height> + <font> + <font name="Header 1" family="Source Sans Pro" style="BOLD_ITALIC" size="36.0"> + </font> + </font> + <vertical_alignment>1</vertical_alignment> + </widget> + <widget type="action_button" version="3.0.0"> + <name>ICON_Unlocked</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevUnlock</pv_name> + <value>1</value> + <description>Write CMD_DevUnlock</description> + </action> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevLock</pv_name> + <value>0</value> + <description>Write CMD_DevLock</description> + </action> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:P_Faceplate_LockID</pv_name> + <value>0</value> + <description>Write zero to P_Faceplate_LockID</description> + </action> + </actions> + <text>UNLOCK</text> + <x>851</x> + <y>10</y> + <width>90</width> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="(pv0 == false) || (pv1 == true) || (pv2 == 1)"> + <value>false</value> + </exp> + <exp bool_exp="(pv0 == true) && (pv1 == false) && (pv2 == 0)"> + <value>true</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:DevLocked</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock</pv_name> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + </rule> + </rules> + <tooltip>Unlock this device</tooltip> + </widget> + <widget type="action_button" version="3.0.0"> + <name>ICON_Locked</name> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevUnlock</pv_name> + <value>0</value> + <description>Write CMD_DEVUNLOCK</description> + </action> + <action type="write_pv"> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:Lock(99)</pv_name> + <value>1</value> + <description>Run Lock script</description> + </action> + </actions> + <text>LOCK</text> + <x>850</x> + <y>10</y> + <width>90</width> + <rules> + <rule name="VisibilityRule" prop_id="visible" out_exp="false"> + <exp bool_exp="(pv0 == 0) && (pv1 == 0)"> + <value>true</value> + </exp> + <exp bool_exp="(pv0 == 1) || (pv1 == 1)"> + <value>false</value> + </exp> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:DevLocked</pv_name> + <pv_name>${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock</pv_name> + </rule> + </rules> + <scripts> + <script file="EmbeddedJs"> + <text><![CDATA[/* Embedded javascript */ +/* Author: Miklos Boros*/ +/* Function: generate unique Machine ID from the network adapters to use it for locking mechanism*/ + +PVUtil = org.csstudio.display.builder.runtime.script.PVUtil; +logger = org.csstudio.display.builder.runtime.script.ScriptUtil.getLogger(); + +var Lock = pvs[0];/*loc://${SecSub}:${Dis}-${Dev}-${Index}:Lock*/ +var Cmd_DevLock = pvs[1];/*${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevLock*/ +var P_Faceplate_LockID = pvs[2];/*${SecSub}:${Dis}-${Dev}-${Index}:P_Faceplate_LockID*/ +var Inhibit_Lock = pvs[3];/*${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock*/ +var Faceplate_LockID = pvs[4];/*${SecSub}:${Dis}-${Dev}-${Index}:Faceplate_LockID*/ +var BlockIcon_LockID = pvs[5];/*${SecSub}:${Dis}-${Dev}-${Index}:BlockIcon_LockID*/ +var EnaForceUnlock = pvs[6];/*loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock*/ +var DevLocked = pvs[7];/*${SecSub}:${Dis}-${Dev}-${Index}:DevLocked*/ + + + +var PV1 = PVUtil.getLong(Faceplate_LockID); /*Faceplate_LockID*/ +var PV2 = PVUtil.getLong(BlockIcon_LockID); /*BlockIcon_LockID*/ + +//OnShow +if (PVUtil.getLong(DevLocked) == 1) { /*DevLocked*/ + + if (PV1.toString() == PV2.toString()){ /*FaceplateLockID != BlockIconeLockID*/ + + logger.info(" Owner"); + EnaForceUnlock.setValue(0); /*Write EnaForceUnlock*/ + + } else + { + logger.info(" Faceplate FaceplateLockID "+ PV1); + logger.info(" Faceplate BlockIconeLockID "+ PV2); + + logger.info(" Guest"); + EnaForceUnlock.setValue(1); /*Write EnaForceUnlock*/ + } + + + +} +// OnClick +if (PVUtil.getLong(Lock) != 99) { /*loc://Lock, check if the script was triggered because of a button press or initilization*/ + if (PVUtil.getLong(Inhibit_Lock) == 0) { /*Inhibit_lock, check if locking is inhibited*/ + + var UniqueText = ""; + var en = java.net.NetworkInterface.getNetworkInterfaces(); + var inf; + var enumIpAddr; + for (en = java.net.NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { + intf = en.nextElement(); + UniqueText = UniqueText + intf.getName() + intf.getDisplayName(); + for (enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { + UniqueText = UniqueText + enumIpAddr.nextElement().toString(); + } + } + + + var a_table = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D"; + var b_table = a_table.split(' ').map(function(s){ return parseInt(s,16) }); + function b_crc32 (str) { + var crc = -1; + for(var i=0, iTop=str.length; i<iTop; i++) { + crc = ( crc >>> 8 ) ^ b_table[( crc ^ str.charCodeAt( i ) ) & 0xFF]; + } + return (crc ^ (-1)) >>> 0; + }; + + var crc = b_crc32(UniqueText); + if (crc >=2147483647){ crc = crc - 2147483647;} + + logger.info(" Faceplate machine ID: "+crc); + P_Faceplate_LockID.setValue(crc); /*Write P_Faceplate_LockID*/ + Cmd_DevLock.setValue(1); /*Write Lock*/ + + } /*Lock inhibit*/ +} /*onshow*/ + +]]></text> + <pv_name>loc://${SecSub}:${Dis}-${Dev}-${Index}:Lock</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:Cmd_DevLock</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:P_Faceplate_LockID</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:Inhibit_Lock</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:Faceplate_LockID</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:BlockIcon_LockID</pv_name> + <pv_name trigger="false">loc://${SecSub}:${Dis}-${Dev}-${Index}:EnaForceUnlock</pv_name> + <pv_name trigger="false">${SecSub}:${Dis}-${Dev}-${Index}:DevLocked</pv_name> + </script> + </scripts> + <tooltip>Lock this device</tooltip> + </widget> +</display> diff --git a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/PIDControls/FacePlate_AutoConf.bob b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/PIDControls/FacePlate_AutoConf.bob old mode 100755 new mode 100644 index b8e3871a99f6f501b6fecdc03a8764e27c4d9fbd..26f67424f053e25cf15b4b39ed12136926ff846f --- a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/PIDControls/FacePlate_AutoConf.bob +++ b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/PIDControls/FacePlate_AutoConf.bob @@ -25,7 +25,7 @@ </widget> <widget type="label" version="2.0.0"> <name>LB_Settings_5</name> - <text>SETTINGS</text> + <text>AM SETTINGS</text> <width>470</width> <height>35</height> <font> @@ -76,7 +76,7 @@ <exp bool_exp="pv0 == 1"> <value>true</value> </exp> - <pv_name>${AmConfig}:Cmd_Enable_AutoConf</pv_name> + <pv_name>loc://AMConfig:Unlock</pv_name> </rule> </rules> <border_alarm_sensitive>false</border_alarm_sensitive> @@ -87,6 +87,17 @@ <x>180</x> <y>170</y> <width>250</width> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> <border_alarm_sensitive>false</border_alarm_sensitive> <items> <item>Undefined</item> @@ -145,6 +156,17 @@ <y>225</y> <width>102</width> <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> <tooltip>Apply force value</tooltip> </widget> <widget type="action_button" version="3.0.0"> @@ -162,6 +184,17 @@ <y>225</y> <width>102</width> <height>33</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> <tooltip>Apply force value</tooltip> </widget> <widget type="led" version="2.0.0"> @@ -178,6 +211,17 @@ <x>180</x> <y>270</y> <width>120</width> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> <border_alarm_sensitive>false</border_alarm_sensitive> <items> <item>PT-001</item> @@ -236,6 +280,17 @@ <y>340</y> <width>120</width> <height>30</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="textupdate" version="2.0.0"> @@ -266,6 +321,17 @@ <y>390</y> <width>120</width> <height>30</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="textupdate" version="2.0.0"> @@ -296,6 +362,17 @@ <y>440</y> <width>120</width> <height>30</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="textupdate" version="2.0.0"> @@ -326,6 +403,17 @@ <y>490</y> <width>120</width> <height>30</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> <border_alarm_sensitive>false</border_alarm_sensitive> </widget> <widget type="label" version="2.0.0"> @@ -510,6 +598,17 @@ <text>Set Data</text> <x>320</x> <y>550</y> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> <tooltip>$(actions)</tooltip> </widget> <widget type="action_button" version="3.0.0"> @@ -557,29 +656,43 @@ </widget> <widget type="action_button" version="3.0.0"> <name>BTN_P_Action_ON_8</name> - <actions> + <actions execute_as_one="true"> <action type="write_pv"> - <pv_name>$(pv_name)</pv_name> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDAmConf}:Cmd_Enable_AutoConf</pv_name> <value>1</value> - <description>Write PV</description> + <description>Enable_AutoConf</description> + </action> + <action type="write_pv"> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDAmConf}:Cmd_Get_Data</pv_name> + <value>1</value> + <description>Get Data</description> + </action> + <action type="write_pv"> + <pv_name>loc://AMConfig:Unlock</pv_name> + <value>1</value> + <description>Unlock Conf</description> </action> </actions> - <pv_name>${WIDSecSub}:${WIDDis}-${WIDAmConf}:Cmd_Enable_AutoConf</pv_name> <text>ON</text> <x>180</x> <y>64</y> <width>102</width> <height>33</height> - <tooltip>Apply force value</tooltip> + <tooltip>Configuration ON</tooltip> </widget> <widget type="action_button" version="3.0.0"> <name>BTN_P_Action_ON_9</name> - <actions> + <actions execute_as_one="true"> <action type="write_pv"> <pv_name>$(pv_name)</pv_name> <value>1</value> <description>Write PV</description> </action> + <action type="write_pv"> + <pv_name>loc://AMConfig:Unlock</pv_name> + <value>0</value> + <description>Write PV</description> + </action> </actions> <pv_name>${WIDSecSub}:${WIDDis}-${WIDAmConf}:Cmd_Disable_AutoConf</pv_name> <text>OFF</text> @@ -587,7 +700,27 @@ <y>64</y> <width>102</width> <height>33</height> - <tooltip>Apply force value</tooltip> + <tooltip>Configuration OFF</tooltip> + </widget> + <widget type="textentry" version="3.0.0"> + <name>INP_SSSP_1</name> + <pv_name>${WIDSecSub}:${WIDDis}-${WIDAmConf}:Measuring Device Msg</pv_name> + <x>310</x> + <y>270</y> + <width>120</width> + <height>30</height> + <rules> + <rule name="EnableRule" prop_id="enabled" out_exp="false"> + <exp bool_exp="pv0 == 0"> + <value>false</value> + </exp> + <exp bool_exp="pv0 == 1"> + <value>true</value> + </exp> + <pv_name>loc://AMConfig:Unlock</pv_name> + </rule> + </rules> + <border_alarm_sensitive>false</border_alarm_sensitive> </widget> </widget> </display> diff --git a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/PIDControls/PID_ADVControl_Faceplate_AutoConf_embedded.bob b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/PIDControls/PID_ADVControl_Faceplate_AutoConf_embedded.bob index 4db6f0c9ba0972f3c3fff2b6c99ea79d945d144d..9113c25c999cf82b56c1e0f638095821bdd4e826 100755 --- a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/PIDControls/PID_ADVControl_Faceplate_AutoConf_embedded.bob +++ b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/PIDControls/PID_ADVControl_Faceplate_AutoConf_embedded.bob @@ -145,24 +145,6 @@ </background_color> <vertical_alignment>1</vertical_alignment> </widget> - <widget type="textupdate" version="2.0.0"> - <name>MET_EGU2</name> - <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:ProcValueEGU</pv_name> - <x>157</x> - <y>176</y> - <width>86</width> - <height>30</height> - <font> - <font family="Source Sans Pro" style="REGULAR" size="20.0"> - </font> - </font> - <background_color> - <color red="255" green="254" blue="253"> - </color> - </background_color> - <transparent>true</transparent> - <tooltip>Engineering Unit</tooltip> - </widget> <widget type="label" version="2.0.0"> <name>LB_FrcActPos_1</name> <text>Actual manipulated value (%)</text> @@ -225,7 +207,7 @@ </widget> <widget type="textupdate" version="2.0.0"> <name>MET_ProcessSetpoint_1</name> - <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:PV</pv_name> + <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:Measured_Value_Msg</pv_name> <x>18</x> <y>114</y> <width>133</width> @@ -245,24 +227,6 @@ <tooltip>Measurement Value</tooltip> <border_alarm_sensitive>false</border_alarm_sensitive> </widget> - <widget type="textupdate" version="2.0.0"> - <name>MET_EGU</name> - <pv_name>${SecSubPID}:${Dis}-PID-${IndexPID}:ProcValueEGU</pv_name> - <x>157</x> - <y>118</y> - <width>86</width> - <height>30</height> - <font> - <font family="Source Sans Pro" style="REGULAR" size="20.0"> - </font> - </font> - <background_color> - <color red="255" green="254" blue="253"> - </color> - </background_color> - <transparent>true</transparent> - <tooltip>Engineering Unit</tooltip> - </widget> </widget> <widget type="group" version="2.0.0"> <name>group.op.modes</name> @@ -3748,6 +3712,7 @@ <file>FacePlate_AutoConf.bob</file> <macros> <WIDAmConf>Virt-AMCONF</WIDAmConf> + <WIDDis>Cryo</WIDDis> <WIDSecSub>TS2-010</WIDSecSub> </macros> <x>448</x> @@ -3762,7 +3727,6 @@ <y>60</y> <width>943</width> <height>720</height> - <active_tab>2</active_tab> </widget> <widget type="rectangle" version="2.0.0"> <name>Header Bar</name> diff --git a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Valves/CV_ControlVALVE_Faceplate.bob b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Valves/CV_ControlVALVE_Faceplate.bob old mode 100644 new mode 100755 index 280c5143386334b33a027b12053b86707c62f2bf..09ead7fb151c5d32e3190b8332b15f34ab703a32 --- a/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Valves/CV_ControlVALVE_Faceplate.bob +++ b/NON-APPROVED/ICS_OPI_LIBRARY/DeviceTypes/Valves/CV_ControlVALVE_Faceplate.bob @@ -1948,7 +1948,12 @@ </widget> <widget type="action_button" version="3.0.0"> <name>PIDScreen_Button_1</name> - <actions> + <actions execute_as_one="true"> + <action type="write_pv"> + <pv_name>${WIDSec}:${WIDDis}-${WIDAmConf}:P_Controlled_Devie_Name</pv_name> + <value>${ControlledDevice}</value> + <description>SetControlledDevice</description> + </action> <action type="open_display"> <file>../PIDControls/PID_ADVControl_Faceplate_AutoConf_embedded.bob</file> <target>window</target> diff --git a/NON-APPROVED/TS2/ts2-cryomodule/TS2_main2.bob b/NON-APPROVED/TS2/ts2-cryomodule/TS2_main2.bob old mode 100644 new mode 100755 index 8575697feb05b68df7374d1b7f47d106120ce450..85c748146de3897a6a2da397bf35b0cdc5b733eb --- a/NON-APPROVED/TS2/ts2-cryomodule/TS2_main2.bob +++ b/NON-APPROVED/TS2/ts2-cryomodule/TS2_main2.bob @@ -527,10 +527,12 @@ <ControlledDevice>CV-002</ControlledDevice> <MeasureValue>PT-82301</MeasureValue> <ProcessValue>TS2-010CDL:Cryo-PT-82301</ProcessValue> + <WIDAmConf>Virt-AMCONF</WIDAmConf> <WIDDev>CV</WIDDev> <WIDDis>Cryo</WIDDis> <WIDIndex>002</WIDIndex> <WIDIndexPID>CV02</WIDIndexPID> + <WIDSec>TS2-010</WIDSec> <WIDSecSub>TS2-010CRM</WIDSecSub> <WIDSecSubPID>TS2-010CDL</WIDSecSubPID> </macros> @@ -665,13 +667,16 @@ <name>PV_Valve_BlockIcon_Horizontal_4</name> <file>../../ICS_OPI_LIBRARY/DeviceTypes/Valves/CV_ControlVALVE_BlockIcon_Horizontal_Compact.bob</file> <macros> + <ControlledDevice>CV-001</ControlledDevice> <MeasureValue>LT-001</MeasureValue> <ProcessValue>TS2-010CRM:Cryo-LT-001</ProcessValue> <ProcessValueEGU>%</ProcessValueEGU> + <WIDAmConf>Virt-AMCONF</WIDAmConf> <WIDDev>CV</WIDDev> <WIDDis>Cryo</WIDDis> <WIDIndex>001</WIDIndex> <WIDIndexPID>CV01</WIDIndexPID> + <WIDSec>TS2-010</WIDSec> <WIDSecSub>TS2-010CRM</WIDSecSub> <WIDSecSubPID>TS2-010CDL</WIDSecSubPID> </macros>