diff options
Diffstat (limited to 'guidelines')
-rw-r--r-- | guidelines/ASM/asm-8.5.js | 1 | ||||
-rw-r--r-- | guidelines/ASM/test_L4_LSG_FURN_1.htm | 23151 |
2 files changed, 0 insertions, 23152 deletions
diff --git a/guidelines/ASM/asm-8.5.js b/guidelines/ASM/asm-8.5.js index c74181d..fa3eaf9 100644 --- a/guidelines/ASM/asm-8.5.js +++ b/guidelines/ASM/asm-8.5.js @@ -67,7 +67,6 @@ exports.rule = function (report) { while (found = re.exec(txt)) { matches.push(found[0]); } - // FUUUCCCKKKK return matches; }; diff --git a/guidelines/ASM/test_L4_LSG_FURN_1.htm b/guidelines/ASM/test_L4_LSG_FURN_1.htm deleted file mode 100644 index b4019e2..0000000 --- a/guidelines/ASM/test_L4_LSG_FURN_1.htm +++ /dev/null @@ -1,23151 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML xmlns:v = "urn:schemas-microsoft-com:vml" xmlns:o =
-"urn:schemas-microsoft-com:office:office" xmlns:p =
-"urn:schemas-microsoft-com:office:powerpoint" xmlns:w =
-"urn:schemas-microsoft-com:office:word"><HEAD><TITLE></TITLE>
-<META http-equiv=Content-Type content="text/html; charset=windows-1252">
-<META content=5.4 name=DisplayVersion-PS>
-<META content="Create a blank HMIWeb display." name=HMIWebTemplateDescription>
-<STYLE>v\:* {
- BEHAVIOR: url(#default#VML)
-}
-o\:* {
- BEHAVIOR: url(#default#VML)
-}
-p\:* {
- BEHAVIOR: url(#default#VML)
-}
-w\:* {
- BEHAVIOR: url(#default#VML)
-}
-.shape {
- BEHAVIOR: url(#default#VML)
-}
-</STYLE>
-
-<OBJECT id=HDXPageBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:56144F51-84F2-11D3-8114-00C04F68E0F9></OBJECT>
-<OBJECT id=HDXVectorFactory
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:45A29A51-418F-11D4-816B-00C04F68E0F9></OBJECT>
-<OBJECT id=HDXAlphaBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:00FD97E5-43FE-11D3-964E-00609738C4CB></OBJECT>
-<OBJECT id=HDXPushButtonBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:ACB6C25A-20A8-11D4-B86C-00C04F6022AA></OBJECT>
-<OBJECT id=HSCComboboxBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:87E1DD39-48A6-4188-95F5-26ECF7D6493B></OBJECT>
-<OBJECT id=HSCCheckBoxBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:65CF3A90-0165-4CAE-8DF2-6242FA186238></OBJECT>
-<OBJECT id=HSCIndicatorBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:ABAAEE25-63F3-4F67-9C1C-0AC96A186A73></OBJECT>
-<OBJECT id=HoverBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:51A1B6EC-7507-4A0B-A06D-5FA2742F033D></OBJECT>
-<OBJECT id=HDXPopupBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:034DB16E-AE01-11D3-BE8D-00C04F7915FE></OBJECT>
-<OBJECT id=BindingBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:31C15D64-63ED-11D3-80D0-00C04F6847A2></OBJECT>
-<OBJECT id=HSCShapeLinkBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:0A7E026C-957B-4548-9BB7-7835EF5F8D4D></OBJECT>
-<OBJECT id=HSCActiveXDocumentBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:A4FE97D2-5EC5-4273-A00F-88D8447A0D9A></OBJECT>
-<OBJECT id=HSCBreakpointBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:43C8EF2D-9001-43BA-9ECA-82818E8281D5></OBJECT>
-<OBJECT id=HDXLevelFillBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:9E860844-C032-46A8-A3F7-FB950475A292></OBJECT>
-<OBJECT id=HDXElementsFactory
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:2592890C-11DD-4818-BB62-9640E4A050D1></OBJECT>
-<OBJECT id=AlarmStateIconFactory
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:32C06040-FF05-4F15-90EB-9C56D098D188></OBJECT>
-<OBJECT id=DTFormat
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:9E5DB1FD-CE13-4459-BA06-30845E6633AB></OBJECT>
-<OBJECT id=HSCScriptDataBehavior
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:15C2FF21-998F-4226-A7A9-221580D5F19F></OBJECT>
-<OBJECT id=StnEvtReflector
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:F5585C3E-DFE6-41A7-98EF-FD6E9547809D></OBJECT>
-<OBJECT id=DisplayDataRepository
-style="LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px"
-codeBase="" classid=clsid:0113964D-CFC2-453a-BA5F-DF740C170064></OBJECT>
-<META content="MSHTML 6.00.5730.11" name=GENERATOR><LINK id=HDXStylesheet
-href=".\..\_CSS\HCS.CSS" type=text/css rel=stylesheet>
-<SCRIPT language=VBScript event=onperiodicupdate for=Page defer>call GSH_ONPERIODIC_FOCUSUPDATEHANDLER</SCRIPT>
-
-<SCRIPT language=VBScript defer>Const PAGE_DISPLAYTYPE = 4
-dim g_PageCurrentFocusTag
-g_PageCurrentFocusTag = ""
-dim g_PageShapesInit
-g_PageShapesInit = 0
-dim g_PageCurrentTagLabelVisible
-g_PageCurrentTagLabelVisible = ""</SCRIPT>
-
-<SCRIPT language=VBScript event=onunload for=Page
-defer> call GSH_PageUnload</SCRIPT>
-
-<SCRIPT language=VBScript event=onpagecomplete for=Page defer>on error resume next
-
-Dim sType2FileName,sType3FileName,sType4FileName
-'****************** To Do Begins ****************************************
-'Enter the type of the graphic. Valid entries are 2/3/4
- Const DisplayType = 4
-
-' Enter the default display file names in UPPER case without the .HTM extensions e.g sgType2FileName = "CokeDr_T2"
-' If a file doesn't exist, leave blank (e.g. "")
-
- sType2FileName = "L2_LSG_RXN"
- sType3FileName = "L3_LSG_FURN"
- sType4FileName = "L4_LSG_FURN_1"
-
-'****************** To Do Ends ****************************************
-call GSH_initDisplay (DisplayType, sType2FileName, sType3FileName, sType4FileName, me)</SCRIPT>
-</HEAD>
-<SCRIPT language=VBScript event=onmousedown for=shape071_rec_DataScript defer>If (me.parentElement.parentElement.GetCustomProperty(GSH_CPVALUE,GSH_CPDISPLAYLEVEL) = 2) then - If window.event.button = 2 Then call GSH_TYPE2TABRBUTTONCLICK(me.parentElement.parentElement) else call GSH_NAVTAB_LCLICK (me.parentElement.parentElement) end if -Else - call GSH_NAVTAB_LCLICK (me.parentElement.parentElement) -End if</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=shape001 defer> dim VERSION - VERSION = "1.3.10" - call GSH_PRINT_VERSION(me,VERSION)</SCRIPT>
-
-<SCRIPT language=VBScript id=9AD748A9-63A3-4F20-B029-8144F6FB00EA defer
-shaperefcount="1">'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''' General Script Holder Shape ''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' -' COPYRIGHT (c) 2007, 2008, 2009, 2010 -' Human Centered Solutions, LLP -' -' ALL RIGHTS RESERVED -' -' This software is copyrighted work and the intellectual property of -' Human Centered Solutions, LLP. This software can not be used without -' the expressed written consent of Human Centered Solutions, LLP. -' -' -'Purpose: -' Keeper of constants, functions, sub procedures used -' through out the HCS advanced operator interface displays and shape -' library. -'Standards: -'1. All names of objects in this shape are prefixed with "GSH_" -'2. All constant should be all capital letters -'3. All subroutines/functions related to page display must be put in the "PAGE DISPLAY" section -'4. All subroutines/functions related to faceplate display must be put in the "FACEPLATE DISPLAY" section -'5. All subroutines related to all shapes in general must be put in the "SHAPE GENERAL" section -'6. All subroutines related to SCADA shapes must be put in the "SCADA SPECIFIC" section -'7. All subroutines related to C200 shapes must be put in the "C200 SPECIFIC" section -'8. All subroutines related to TPS shapes must be put in the "TPS SPECIFIC" section -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -''''''''''''''''Debugging tools '''''''''''''''''''''''''''''''''''''''' -'Logging Method Options -'0=None -'1=Msgbox -'2=Logfile at C:\Documents and Settings\All Users\Application Data\Honeywell\HMIWebLog -'3=All of Above -Const GSH_LOGGING_MODE = 2 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure Log Start '''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' Used to Log Information at the beginning of functions or procedures -' must be implemented in each function or procedure -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub gsh_log_s(txt) - gsh_log "START>" & txt -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure Log End '''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' Used to Log Information at the end of functions or procedures -' must be implemented in each function or procedure -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub gsh_log_e(txt) - gsh_log "END>" & txt -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure Log '''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' Used to Log Information to either the server display log file or -' message boxes (alerts) on the GUI. Uses constants to control behavior -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub gsh_log(txt) -Select Case GSH_LOGGING_MODE - Case 1 - msgbox txt - Case 2 - window.external.Parent.LogMessage txt - Case 3 - window.external.Parent.LogMessage txt - msgbox txt - Case else - Exit sub - End Select -end sub - -'COLORS -Const GSH_EMERGCOLOR = "#FF0000" -Const GSH_HIGHCOLOR = "#FFBE00" -Const GSH_LOWCOLOR = "#C800C8" -Const GSH_PRINCIPLEFOCUSCOLOR = "#00008C" -Const GSH_ASSOCIATEDFOCUSCOLOR = "#C8DCFF" -Const GSH_DISPLAYBKGRNDCOLOR = "#EBEBEB" -Const GSH_OBJECTOUTLINECOLOR = "#AAAAAA" -Const GSH_INDICATORFILLCOLOR = "#E2E2E2" -Const GSH_OFFNORMALCOLOR = "#FF00A8" -Const GSH_DISABLEDALARMCOLOR = "#FF00A8" -Const GSH_NORMALCOLOR = "#B4B4B4" -Const GSH_ALARMOUTLINETHICKNESS = 3 -Const GSH_FOCUSOUTLINETHICKNESS = 2 -Const GSH_OUTLINETHICKNESS = 1 -Const GSH_FILLTRANSPARENT = 1 -Const GSH_FILLSOLID = 0 -Const GSH_LEVELINDICATORFLOATHEIGHT = 15 -'GRAY SCALE -Const GSH_LIGHTGRAYCOLOR = "#B4B4B4" -Const GSH_WHITE = "#FFFFFF" -Const GSH_LIGHTLIGHTGRAYCOLOR = "#E1E1E1" -Const GSH_DARKGRAYCOLOR = "#787878" - -'CSS Styles .... must match hcs.css file -'Focus -Const GSH_CSSFOCUSASSOCIATED = "FocusAssociated" -Const GSH_CSSFOCUSASSOCIATEDTABORGANIZER = "FocusAssociatedTabOrganizer" -'TODO:clean up -Const GSH_CSSFOCUSPRINCIPAL = "FocusPrincipal" -Const GSH_CSSFOCUSNONE = "FocusNone" -Const GSH_CSSFOCUSOFFNORMAL = "FocusOffNormal" -Const GSH_CSS_ALARMDISABLED = "AlarmDisabled" -Const GSH_CSSANALOGINDICATORDISABLEDALARM = "AlarmDisabled" -Const GSH_CSSANALOGINDICATORNORMAL = "AnalogIndicatorNormal" -Const GSH_CSSANALOGINDICATOROFFNORMAL = "AnalogIndicatorOffNormal" -Const GSH_CSSBGALARM_NONE = "BarGraphAlarmNone" -Const GSH_CSSBGALARM_ACKEMERG = "BarGraphAlarmEmergencyAcknowledged" -Const GSH_CSSBGALARM_UNACKEMERG = "BarGraphAlarmEmergencyUnAcknowledged" -Const GSH_CSSBGALARM_UNACKHIGH = "BarGraphAlarmHighUnAcknowledged" -Const GSH_CSSBGALARM_ACKHIGH = "BarGraphAlarmHighAcknowledged" -Const GSH_CSSBGALARM_UNACKLOW = "BarGraphAlarmLowUnAcknowledged" -Const GSH_CSSBGALARM_ACKLOW = "BarGraphAlarmLowAcknowledged" -Const GSH_CSSBGALARM_DISABLED = "BarGraphAlarmDisabled" -Const GSH_CSSMOTORINDICATORDISABLEDALARM = "AlarmDisabled"'"MotorIndicatorDisabledAlarm" -Const GSH_CSSMOTORINDICATORNORMAL = "MotorIndicatorNormal" -Const GSH_CSSMOTOROFF = "MotorIndicatorMotorNotRunning" -Const GSH_CSSMOTORON = "MotorIndicatorMotorRunning" -Const GSH_CSSMINIMOTORINDICATORDISABLEDALARM = "MiniMotorIndicatorDisabledAlarm" -Const GSH_CSSMINIMOTORINDICATORNORMAL = "MiniMotorIndicatorNormal" -Const GSH_CSSLEVELINDICATORDISABLEDALARM = "LevelIndicatorDisabledAlarm" -Const GSH_CSSLEVELINDICATORBADPV = "LevelIndicatorBadPV" -Const GSH_CSSLEVELINDICATORNORMAL = "LevelIndicatorNormal" -Const GSH_CSSLEVELINDICATORFLOAT = "LevelIndicatorFloat" -Const GSH_CSSLEVELINDICATORSP = "LevelIndicatorSP" -Const GSH_CSSLEVELINDICATORBADPVTEXT = "LevelIndicatorBadPVText" -Const GSH_CSSLEVELINDICATORNORMALPVTEXT = "LevelIndicatorNormalPVText" -const GSH_CSSLVLINDICATORSMALLALARMWIDTH="LineWidth2" -Const GSH_CSSDIGITALINDICATORDISABLEDALARM = "AlarmDisabled"'"DigitalIndicatorDisabledAlarm" -Const GSH_CSSDIGITALINDICATORNORMAL = "DigitalIndicatorNormal" -Const GSH_CSSDIGITALINDICATOROFFNORMAL = "DigitalIndicatorOffNormal" -Const GSH_CSSDIGITALOUTPUTINDICATORNORMAL = "DigitalOutputIndicatorNormal" -Const GSH_CSSDIGITALOUTPUTINDICATORDISABLEDALARM = "AlarmDisabled"'"DigitalOutputIndicatorDisabledAlarm" -Const GSH_CSSDIGITALOUTPUTINDICATORDEFAULT = "" -Const GSH_CSSGROUPANALOGNORMAL = "GroupAnalogNormal" -Const GSH_CSSGROUPANALOGDISABLEDALARM = "AlarmDisabled"'"GroupAnalogDisabledAlarm" -Const GSH_CSSGROUPDATAENTRY = "Group_DataEntry" -Const GSH_CSSGROUPDIGITALCOMPOSITEDISABLEDALARM = "AlarmDisabled"'"GroupDigitalCompositeDisabledAlarm" -Const GSH_CSSGROUPDIGITALCOMPOSITENORMAL = "GroupDigitalCompositeNormal" -Const GSH_CSSGROUPDIGITALCOMPOSITEDEFAULT = "" -Const GSH_CSSGROUPDIGITALINPUTDISABLEDALARM = "AlarmDisabled"'"GroupDigitalInputDisabledAlarm" -Const GSH_CSSGROUPDIGITALINPUTNORMAL = "GroupDigitalInputNormal" -Const GSH_CSSGROUPDIGITALINPUTDEFAULT = "" -Const GSH_CSSGROUPORSELDISABLEDALARM = "AlarmDisabled"'"GroupOrselDisabledAlarm" -Const GSH_CSSGROUPORSELNORMAL = "GroupOrselNormal" -Const GSH_CSSGROUPORSELDEFAULT = "" -Const GSH_CSSGROUPREGULATORYCONTROLDISABLEDALARM = "AlarmDisabled"'"GroupRegulatoryControlDisabledAlarm" -Const GSH_CSSGROUPREGULATORYCONTROLNORMAL = "GroupRegulatoryControlNormal" -Const GSH_CSSGROUPREGULATORYCONTROLDEFAULT = "" -Const GSH_CSSNUMERICINDICATORNORMAL = "NumericIndicatorNormal" -Const GSH_CSSREGULATORYCONTROLINDICATORDISABLEDALARM = "AlarmDisabled"' "RegulatoryControlIndicatorDisabledAlarm" -Const GSH_CSSREGULATORYCONTROLINDICATORNORMAL = "RegulatoryControlIndicatorNormal" -Const GSH_CSSVALVEDIGITALOPEN = "ValveDigitalOpen" -Const GSH_CSSVALVEDIGITALCLOSED = "ValveDigitalClosed" -Const GSH_CSSVALVEDIGITALTRAVEL = "ValveDigitalTravel" -Const GSH_CSSVALVEDIGITALDISABLEDALARM = "AlarmDisabled"'"ValveDigitalDisabledAlarm" -Const GSH_CSSVALVEREGULATORYCONTROLSATURATED = "RegulatoryControlValveSaturated" -Const GSH_CSSVALVEREGULATORYCONTROLNORMAL = "RegulatoryControlValveNormal" -Const GSH_CSSREGULATORYCONTROLVALVEOFFNORMAL = "RegulatoryControlValveOffNormal" -Const GSH_CSSTABFOCUSNORMAL = "TabFocusNormal" -Const GSH_CSSTABOUTLINENORMAL = "TabOutlineNormal" -Const GSH_CSSTABORGANIZEROUTLINENORMAL = "TabOrganizerOutlineNormal" -Const GSH_CSSValveOutlineBackground= "ValveOutlineBackground" -Const GSH_CSSANALOGOUTPUTINDICATORNORMAL = "AnalogOutputIndicatorNormal" -Const GSH_CSSSENSORNORMAL = "SensorNormal" -Const GSH_CSSWHITE = "White" -Const GSH_CSSFOCUSNONEOFFNORMAL = "FocusNoneOffNormal" -Const GSH_CSSFIRSTOUT_ON = "FirstOutLineOn" -Const GSH_CSSFIRSTOUT_OFF = "FirstoutLineOff" -Const GSH_CSSMOTOROFFNORMALFILL = "OffNormalLineFill" -Const GSH_CSSFRAMEMF = "FrameMF" 'added 07Jan08 for MF Frames when normal and not in focus -Const GSH_CSSSAFILL = "SituationAwarenessOn" 'added 28May09 for SA Frame color -Const GSH_CSSSSOLOUTOFLIMIT = "SOLOutOfLimit" 'added 14Sept09 for SOL color -Const GSH_CSSSSOLINLIMIT = "SOLWithinLimit" 'added 14Sept09 for SOL color -Const GSH_CSSOFFNORMALLINEFILL = "OffNormalLineFill" 'added 7Dec09 for TPS Bypass Status -Const GSH_CSSNORMALLINEFILL = "NormalLineFill" 'NormalLineFill -Const GSH_CSSLINEUTILITY = "LineUtility" 'added 7Dec09 for TPS Bypass Status - - -'Added Nov 19, 2009 for TPS digital color box -Const GSH_FILLEDREDCOLOR = "FilledRed" -Const GSH_FILLEDGREENCOLOR = "FilledGreen" -Const GSH_FILLEDYELLOWCOLOR = "FilledYellow" - -'Alarms -Const GSH_CSSALARMEMERGENCYACK = "AlarmEmergencyAcknowledged" -Const GSH_CSSALARMHIGHACK = "AlarmHighAcknowledged" -Const GSH_CSSALARMLOWACK = "AlarmLowAcknowledged" -Const GSH_CSSALARMEMERGENCYUNACK = "AlarmEmergencyUnAcknowledged" -Const GSH_CSSALARMHIGHUNACK = "AlarmHighUnAcknowledged" -Const GSH_CSSALARMLOWUNACK = "AlarmLowUnAcknowledged" -Const GSH_CSSALARMNONE = "AlarmNone" -Const GSH_CSSSENSORDISABLEDALARM = "SensorAlarmDisabled" -Const GSH_CSSSENSORALARMEMERGENCYACK = "SensorAlarmEmergencyAcknowledged" -Const GSH_CSSSENSORALARMHIGHACK = "SensorAlarmHighAcknowledged" -Const GSH_CSSSENSORALARMLOWACK = "SensorAlarmLowAcknowledged" -Const GSH_CSSSENSORALARMEMERGENCYUNACK = "SensorAlarmEmergencyUnAcknowledged" -Const GSH_CSSSENSORALARMHIGHUNACK = "SensorAlarmHighUnAcknowledged" -Const GSH_CSSSENSORALARMLOWUNACK = "SensorAlarmLowUnAcknowledged" -Const GSH_CSSSENSORALARMNONE = "SensorAlarmNone" - -'Display Static Objects -Const GSH_CSSFOCUSASSOCIATED_COLOUR = "FocusAssociated_Colour" -Const GSH_CSSBLACK = "Black" -Const GSH_CSSDARK_GRAY = "Dark_Gray" -Const GSH_CSSEQUIPMENT_GRAY = "Equipment_Gray" -Const GSH_CSSLIGHT_GRAY = "Light_Gray" -Const GSH_CSSBACKGROUND_GRAY = "Background_Gray" - -'Custom Properties -'Types of CP's -Const GSH_CPVALUE = "Value" -Const GSH_CPPOINT = "Point" -Const GSH_CPPARAMETER = "Parameter" -'Names of CP's .... the values must match those in each shape -Const GSH_CPPOINTTYPE = "PointType" -Const GSH_CPENTITY = "Entity" -Const GSH_CPGROUPPOINT = "GroupPoint" -Const GSH_CPENTITYALARM = "EntityAlarm" -Const GSH_CPASSOCTYPE2 = "AssocLevel2" -Const GSH_CPASSOCTYPE3 = "AssocLevel3" -Const GSH_CPASSOCTYPE4 = "AssocLevel4" -Const GSH_CPDISPLAYLEVEL = "DisplayLevel" -Const GSH_CPDISPLAYNAME = "DisplayName" -Const GSH_CPTABLABEL = "TabLabel" -Const GSH_CPASSOCLEVEL4 = "AssocLevel4" -Const GSH_CPLABEL = "Label" -const GSH_CPRANGEMAX = "RangeMax" -const GSH_CPRANGEMIN = "RangeMin" -Const GSH_CPHIDEPV = "HidePV" -const GSH_CPSALOWERLIMIT = "LowerSALimit" -const GSH_CPSAUPPERLIMIT = "UpperSALimit" - -Const GSH_CPENTITY_ALARMGROUP = "Entity_AlarmGroup" -Const GSH_CPENTITY_LOWTRIP = "EntityLowTrip" -Const GSH_CPENTITY_HIGHTRIP = "EntityHighTrip" -Const GSH_CPENTITY_SPHI = "Entity_SPHi" -Const GSH_CPENTITY_SPLO = "Entity_SPLo" - -Const GSH_CPENTITY_RES = "Entity_Reset" -Const GSH_CPENTITY_SOR = "Entity_SOR" -Const GSH_CPENTITY_MOS = "Entity_MOS" -Const GSH_CPENTITY_HHFF = "Entity_HH_Fail" -Const GSH_CPENTITY_LLFF = "Entity_LL_Fail" -Const GSH_CPENTITY_HHHTRIP = "Entity_HHH_Trip" -Const GSH_CPENTITY_LLLTRIP = "Entity_LLL_Trip" -Const GSH_CPENTITY_HHTRIP = "Entity_HH_Trip" -Const GSH_CPENTITY_LLTRIP = "Entity_LL_Trip" -Const GSH_CPENTITY_DEVIATION = "Entity_Deviation" - -Const GSH_CPPARAM_RES_PARA = "Entity_Reset_Para" -Const GSH_CPPARAM_SOR_PARA = "Entity_SOR_Para" -Const GSH_CPPARAM_MOS_PARA = "Entity_MOS_Para" -'Const GSH_CPPARAM_HHFF_PARA = "Entity_HH_Fail_Para" -'Const GSH_CPPARAM_LLFF_PARA = "Entity_LL_Fail_Para" -Const GSH_CPPARAM_HHHTRIP_PARA = "Entity_HHH_Trip_Para" -Const GSH_CPPARAM_LLLTRIP_PARA = "Entity_LLL_TRIP_Para" -Const GSH_CPPARAM_HHTRIP_PARA = "Entity_HH_Trip_Para" -Const GSH_CPPARAM_LLTRIP_PARA = "Entity_LL_Trip_Para" -Const GSH_CPPARAM_DEVIATION_PARA = "Entity_Deviation_Para" - -Const GSH_CPPARAM_ENTITY_SPHI_PARA = "Entity_SPHi_Para" -Const GSH_CPPARAM_ENTITY_SPLO_PARA = "Entity_SPLo_Para" - -Const GSH_CPX1 = "X1_Position" -Const GSH_CPX2 = "X2_Position" -Const GSH_CPX3 = "X3_Position" -Const GSH_CPDIVERTMIN = "DivertMin" -Const GSH_CPDIVERTMAX = "DivertMax" -Const GSH_CPTHROUGHMIN = "ThroughMin" -Const GSH_CPTHROUGHMAX = "ThroughMax" -Const GSH_CPINPUTDIRECTION = "InputDirection" -Const GSH_CPJUSTIFYLABEL = "JustifyLabel" - -'Point Types ... the values here are the only possibles for the PointType Custom property -'entered by the display designer at design time. -Const GSH_CPPOINTTYPE_SCADA = "SCADA" -Const GSH_CPPOINTTYPE_TPS = "TPS" -Const GSH_CPPOINTTYPE_C200 = "C200" -Const GSH_CPPOINTTYPE_C300 = "C300" - -'PARAMETERS TEMPLATE IS GSH_'<pointtype>_PARAM_<item>' -Const GSH_EXPERION_PARAM_ALARMPRIORITY= "ALARMPRIORITY" -Const GSH_EXPERION_PARAM_UNACKALARMEXISTS = "UNACKALARMEXISTS" -Const GSH_SCADA_PARAM_ALARMDISABLED = "ALARMDISABLED" -const GSH_SCADA_PARAM_ALARMPRIORITY = "ALARMPRIORITY" -Const GSH_SCADA_PARAM_INITIALIZATION = "INITMAN" -Const GSH_SCADA_PARAM_INTRANSMITTERHIGHALARM = "InTransmitterHighAlarm" -Const GSH_SCADA_PARAM_INTRANSMITTERLOWALARM = "InTransmitterLowAlarm" -Const GSH_SCADA_PARAM_INUNREASONABLYHIGHALARM = "InUnreasonablyHighAlarm" -Const GSH_SCADA_PARAM_INUNREASONABLYLOWALARM = "InUnreasonablyLowAlarm" -Const GSH_SCADA_PARAM_MODATTR = "MODATTR" -Const GSH_SCADA_PARAM_MODE = "MODE" -Const GSH_SCADA_PARAM_MODEINERROR = "ModeInError" -Const GSH_SCADA_PARAM_PVINERROR = "PVInError" -Const GSH_SCADA_PARAM_PVSOURCE = "PVSOURCE" -Const GSH_SCADA_PARAM_PVTVINERROR = "PVTVInError" -Const GSH_SCADA_PARAM_OPINERROR = "OutputInError" -Const GSH_SCADA_PARAM_RAMP = "TVPROC" -Const GSH_SCADA_PARAM_REDTAG = "REDTAG" -Const GSH_SCADA_PARAM_SHUTDOWN = "SHUTDOWN" -Const GSH_SCADA_PARAM_SPINERROR = "SetPointInError" -Const GSH_SCADA_PARAM_SSTSMSG = "STSMSG" -Const GSH_SCADA_PARAM_TOTALDISABLEDALARMS ="TOTALDISABLEDALARMS" -const GSH_SCADA_PARAM_UNACKALARMEXISTS = "UNACKALARMEXISTS" -Const GSH_SCADA_PARAM_WINDUP = "ARWOP" -Const GSH_TPS_PARAM_ALARM_ACKNOWLEGED = "ACKSTAT" -Const GSH_TPS_PARAM_ALARM_ENABLED = "ALENBST" -Const GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY = "HIGHALPR" -Const GSH_TPS_PARAM_INITIALIZATION = "INITMAN" -Const GSH_TPS_PARAM_MODATTR = "MODATTR" -Const GSH_TPS_PARAM_MODE = "MODE" -Const GSH_TPS_PARAM_PVINERROR = "PVInError" -Const GSH_TPS_PARAM_PVSOURCE = "PVSOURCE" -Const GSH_TPS_PARAM_RAMP = "TVPROC" -Const GSH_TPS_PARAM_RAMPOPTION ="SPOPT" -Const GSH_TPS_PARAM_RAMPTARGETVALUE = "SPTV" -Const GSH_TPS_PARAM_RAMPTIMEVALUE = "RAMPTIME" -Const GSH_TPS_PARAM_REDTAG = "REDTAG" -Const GSH_TPS_PARAM_SHUTDOWN = "SHUTDOWN" -Const GSH_TPS_PARAM_STATUSMESSAGE = "STSMSG" -Const GSH_TPS_PARAM_TOTALDISABLEDALARMS = "TOTALDISABLEDALARMS" -Const GSH_TPS_PARAM_WINDUP = "ARWOP" -Const GSH_TPS_PARAM_ALARMMSG = "HIGHAL" -Const GSH_C200_PARAM_ALARMDISABLED = "ALMENBSTATE" -Const GSH_C200_PARAM_ALARMMSG ="HIALM.TYPE" -Const GSH_C200_PARAM_BADPVFL = "PVSTSFL.BAD" -Const GSH_C200_PARAM_MODEATTR = "MODEATTR" -Const GSH_C200_PARAM_PVSOURCE = "PVSource" -Const GSH_C200_PARAM_RAMPOPTION ="SPTVOPT" -Const GSH_C200_PARAM_RAMPTIMEVALUE = "SPTVTIME" -Const GSH_C200_PARAM_RAMPTARGETVALUE = "SPTV" -Const GSH_C200_PARAM_WINDUP = "ARWOP" - -Const GSH_CPPARAM_BADMODE = "CP_BADMODE" -Const GSH_CPPARAM_BADOP = "CP_BADOP" -Const GSH_CPPARAM_BADPV = "CP_BadPV" -Const GSH_CPPARAM_BADPVTV = "CP_BADPVTV" -Const GSH_CPPARAM_BADSP = "CP_BADSP" -Const GSH_CPPARAM_HIGHTRIP = "CP_HighTripPV" -Const GSH_CPPARAM_INITIALIZATION = "CP_INITIALIZATION" -Const GSH_CPPARAM_LOWTRIP = "CP_LowTripPV" -Const GSH_CPPARAM_MODATTR = "CP_MODATTR" -Const GSH_CPPARAM_MODE = "CP_Mode" -Const GSH_CPPARAM_MODEATTR = "CP_MODEATTR" -Const GSH_CPPARAM_OFFNORMAL = "CP_OFFNORMAL" -Const GSH_CPPARAM_OP = "CP_OP" -Const GSH_CPPARAM_PV = "CP_PV" -Const GSH_CPPARAM_PVTV = "CP_PVTV" -Const GSH_CPPARAM_RAMP = "CP_RAMP" -Const GSH_CPPARAM_REDTAG = "CP_RedTag" -Const GSH_CPPARAM_STSMSG = "CP_STSMSG" -Const GSH_CPPARAM_SELINPUT = "CP_SELINPUT" -Const GSH_CPPARAM_SELOUT = "CP_SELOUT" -Const GSH_CPPARAM_SHUTDOWN = "CP_SHUTDOWN" -Const GSH_CPPARAM_SP = "CP_SP" -Const GSH_CPPARAM_SPHIGH = "CP_SPHIGH" -Const GSH_CPPARAM_SPLOW = "CP_SPLOW" -Const GSH_CPPARAM_STATUSMSG = "CP_STATUSMSG" -Const GSH_CPPARAM_VLV1 = "CP_VLV1" -Const GSH_CPPARAM_VLV2 = "CP_VLV2" -Const GSH_CPPARAM_WINDUP = "CP_WINDUP" -Const GSH_CPPARAM_LOCALMAN = "CP_LOCALMAN" -Const GSH_CPPARAM_INTERLOCK = "CP_INTERLOCK" -Const GSH_CPPARAM_IP1 = "CP_IP1" -Const GSH_CPPARAM_IP2 = "CP_IP2" -Const GSH_CPPARAM_IP3 = "CP_IP3" -Const GSH_CPPARAM_IP4 = "CP_IP4" -Const GSH_CPTRENDDIR="TrendDir" -'Added for showing alarm lines on C200 SA levels (May 29 2009, CL) -Const GSH_CPPARAM_AlarmPriority1 = "CP_AlarmPriority1" -Const GSH_CPPARAM_AlarmPriority2 = "CP_AlarmPriority2" -Const GSH_CPPARAM_AlarmPriority3 = "CP_AlarmPriority3" -Const GSH_CPPARAM_AlarmPriority4 = "CP_AlarmPriority4" -Const GSH_CPPARAM_AlarmLimit1 = "CP_AlarmLimit1" -Const GSH_CPPARAM_AlarmLimit2 = "CP_AlarmLimit2" -Const GSH_CPPARAM_AlarmLimit3 = "CP_AlarmLimit3" -Const GSH_CPPARAM_AlarmLimit4 = "CP_AlarmLimit4" - -Const GSH_EXPECTEDVAL1 = "CP_ExpectedVal1" -Const GSH_EXPECTEDVAL2 = "CP_ExpectedVal2" - -Const GSH_SCADA_INITIALIZATION_VALUE = -1 -Const GSH_TPS_INITIALIZATION_VALUE = -1 -Const GSH_WINDUP_HI = "HI" -Const GSH_WINDUP_LO = "LO" -Const GSH_WINDUP_HILO = "HILO" -Const GSH_WINDUP_INIT = "INITIALIZATION" -Const GSH_WINDUP_NONE = "NONE" -Const GSH_RAMPING_RUN = "RUN" -Const GSH_RAMPING_PRESET = "PRESET" -Const GSH_RAMPING_NONE = "OFF" -Const GSH_CAS = "CAS" -Const GSH_AUTO = "AUTO" -Const GSH_MAN = "MAN" -Const GSH_OFF = "OFF" -Const GSH_PRESET = "PRESET" -Const GSH_RUN = "RUN" -Const GSH_PROCESSVALUE = "PV" -Const GSH_SETPOINTVALUE = "SP" -Const GSH_OUTPUTVALUE = "OP" -Const GSH_OPHI = "OPHI" 'Added 03Jan2008 - JE for Scada_AO_fp -Const GSH_OPLO = "OPLO" 'Added 03Jan2008 - JE for Scada_AO_fp -Const GSH_PVTVVALUE = "PVTV" -const GSH_MODEVALUE = "MODE" -Const GSH_RAMPVALUE = "SPTV" -Const GSH_INTERLOCK = "SI" -Const GSH_LOCALMAN = "LOCALMAN" -Const GSH_F1_1 = "F1_1" -Const GSH_F1_0 = "F1_0" -Const GSH_F2_1 = "F2_1" -Const GSH_F2_0 = "F2_0" -Const GSH_F3_1 = "F3_1" -Const GSH_F3_0 = "F3_0" -Const GSH_F4_1 = "F4_1" -Const GSH_F4_0 = "F4_0" -'Const GSH_RAMPTARGETVALUE = "SPTV" 'REPLACED BY GSH_C200_PARAM_RAMPTARGETVALUE Apr 18 -'Const GSH_RAMPTIMEVALUE = "SPTVTIME" 'REPLACED BY GSH_C200_PARAM_RAMPTIMEVALUE Apr 18 -'Const GSH_RAMPSTATUSVALUE = "SPTVSTATE" 'not used? - -'ALARMS - -'Alarm Code -Const GSH_NOALARMCODE = "NONE" -Const GSH_ACKLOW = "ACKLOW" -Const GSH_ACKHIGH = "ACKHIGH" -Const GSH_ACKEMERG = "ACKEMERGENGY" -Const GSH_UNACKLOW = "UNACKL0W" -Const GSH_UNACKHIGH = "UNACKHIGH" -Const GSH_UNACKEMERG = "UNACKEMERGENGY" - -const GSH_NOACTION = "NOACTION" -const GSH_EMERGENCY = "EMERGNCY" -const GSH_HIGH = "HIGH" -const GSH_LOW = "LOW" -Const GSH_ON = "ON" -const GSH_NONE = "NONE" -Const GSH_EMPTYSTRING = "" - -const GSH_NOALARM = "NOALARM" -const GSH_UNAKALRM = "UNAKALRM" -const GSH_AKDALRM = "AKDALRM" - -Const GSH_ALARMLIM1 = "alarmlimit1" -Const GSH_ALARMLIM2 = "alarmlimit2" -Const GSH_ALARMLIM3 = "alarmlimit3" -Const GSH_ALARMLIM4 = "alarmlimit4" -Const GSH_ALARMTYPE1 = "alarmtype1" -Const GSH_ALARMTYPE2 = "alarmtype2" -Const GSH_ALARMTYPE3 = "alarmtype3" -Const GSH_ALARMTYPE4 = "alarmtype4" -Const GSH_ALARMPRI1 = "alarm1priority" -Const GSH_ALARMPRI2 = "alarm2priority" -Const GSH_ALARMPRI3 = "alarm3priority" -Const GSH_ALARMPRI4 = "alarm4priority" - -Const GSH_EUHI = "EUHI" -Const GSH_EULO = "EULO" -Const GSH_PVEUHI = "PVEUHI" -Const GSH_PVEULO = "PVEULO" - -Const GSH_TOTALLOWACKALARMS = "TOTALLOWACKALARMS" -Const GSH_TOTALHIGHACKALARMS = "TOTALHIGHACKALARMS" -Const GSH_TOTALURGENTACKALARMS = "TOTALURGENTACKALARMS" -Const GSH_TOTALLOWUNACKALARMS = "TOTALLOWUNACKALARMS" -Const GSH_TOTALHIGHUNACKALARMS = "TOTALHIGHUNACKALARMS " -Const GSH_TOTALURGENTUNACKALARMS = "TOTALURGENTUNACKALARMS" - -'REMOVED CAUSE NOT USED -'const GSH_DISABLED = "ALARM DISABLED" -'const GSH_ENABLED = "ALARM ENABLED" -Const GSH_ENABLE = "ENABLE" -const GSH_BADDATA = "BADDATA" -const GSH_GOODDATA = "GOODDATA" -Const GSH_TRUE = "true" -Const GSH_FALSE = "false" - -'Registy -Const GSH_REGISTRY_BASE = "HKCU\SOFTWARE\HCS\" -Const GSH_REGISTRY_DISPLAYNAMES = "DisplayNames\" -Const GSH_REGISTRY_DISPLAYINFO = "DisplayInformation\" -Const GSH_REGISTRY_DISPLAYCOMM = "HMIDisplay\DisplayCommunication\" -Const GSH_REGISTRY_LOG = "HMIDisplay\Log\" -Const GSH_REGISTRY_OPDEVMONITOR="OPDevMonitor\" -Const GSH_REGISTRY_DEMANDTRD = "HKCU\SOFTWARE\Matrikon\Operator Trend\DemandTrend\" -Const GSH_REGISTRY_SETTINGS = "Settings" -Const GSH_REGISTRY_MENUCONFIG = "MenuConfig\" -Const GSH_REGISTRY_MENUCONFIG_EQUIPMENT = "MenuConfig_Equipment\" -Const GSH_REGISTRY_TAGINFORMATION = "TagInformation\" -Const GSH_REGISTRY_FACEPLATE_TAGS = "HMIDisplay\FaceplateTags\" -Const GSH_REGISTRY_OPERATORTREND = "HKCU\SOFTWARE\Matrikon\Operator Trend\" -Const GSH_REGISTRY_DETAILTREND = "HKCU\SOFTWARE\Matrikon\Operator Trend\DetailTrend\" -Const GSH_REGISTRY_TRENDCONFIG = "HKCU\SOFTWARE\Matrikon\Operator Trend\TrendConfig\" -Const GSH_REGISTRY_STSMSGLISTS = "StatusMessage\" - -Const GSH_REGKEY_ACTIVE = "Active" -Const GSH_REGKEY_AUTOSCALE = "AUTOSCALE" - -'10/06/2008 (CL) -Const GSH_REGKEY_TREND_RANGE_HIGH = "TREND_RANGE_HIGH" -Const GSH_REGKEY_TREND_RANGE_LOW = "TREND_RANGE_LOW" - -Const GSH_REGKEY_CMDSTR = "CmdDspStr" -Const GSH_REGKEY_CMDSTRING = "Command" -Const GSH_REGKEY_FACEPLATE_CURRENT = "current" -Const GSH_REGKEY_FACEPLATE_PRIOR = "prior" -Const GSH_REGKEY_FPPAGEDELAY = "FaceplateFocusUpdateDelay" -Const GSH_REGKEY_FPPAGEDELAY_DEFAULTMS = "3000" -Const GSH_REGKEY_DEMANDTREND = "DemandTrend" -Const GSH_REGKEY_DEMANDTRENDPREV = "DemandTrendPrevious" -Const GSH_REGKEY_DESCR = "Description" -Const GSH_REGKEY_DISPLAYLOC = "DisplayLocation" -Const GSH_REGKEY_FacePlateFN = "faceplateFileName" -Const GSH_REGKEY_FOCUSTAG = "FocusTag" -Const GSH_REGKEY_HDAPATH = "HDA_ITEM_PATH" -'Added 08/21/2008 (CL) to work with Sasol PHD historian interface -'Issue#21: http://wss-edm-1/clients/hcs/services/ISE-HCS8227/ClientProjectAccess/Lists/Issue%20Tracker/DispForm.aspx?ID=21 -Const GSH_REGKEY_USESHORTNAME_FOR_HDAPATH = "USE_SHORTNAME_FOR_HDA_ITEMPATH" -Const GSH_REGKEY_ITEMALIAS = "ITEM_ALIAS" -Const GSH_REGKEY_KEYWORD= "Keyword" -Const GSH_REGKEY_LEVELPAGEDELAY = "LevelPageFocusUpdateDelay" -Const GSH_REGKEY_LEVELPAGEDELAY_DEFAULTMS = "500" -Const GSH_REGKEY_NMODATTR = "NMODATTR" -Const GSH_REGKEY_NMODE = "NMODE" -Const GSH_REGKEY_NUMCMDS = "NoofCommands" -Const GSH_REGKEY_NUMOFT3 = "NumberOfType3" -Const GSH_REGKEY_NUMTRENDPARAMS = "NoOfTrendingParams" -Const GSH_REGKEY_OPCKEY1PREFIX = "OPC_KEY_1_PREFIX" -Const GSH_REGKEY_OPCKEY2PREFIX = "OPC_KEY_2_PREFIX" -Const GSH_REGKEY_OPCITEMPATH = "OPC_ITEM_PATH" -Const GSH_REGKEY_OPC2ITEMPATH = "OPC2_ITEM_PATH" -Const GSH_REGKEY_PATHPREFIX = "PATHPREFIX" -Const GSH_REGKEY_PRIORT3 = "PriorType3" -Const GSH_REGKEY_PRIORT4 = "PriorType4" -Const GSH_REGKEY_PVNORMAL_STATE = "PVNormalState" -Const GSH_REGKEY_OPNORMAL_STATE = "OPNormalState" -Const GSH_REGKEY_PV_NORMAL_STATE = "PVNormalState" -Const GSH_REGKEY_SA_STATE = "SAState" -Const GSH_REGKEY_SOL_HI = "SOLHILimit" -Const GSH_REGKEY_SOL_LO = "SOLLOLimit" -Const GSH_REGKEY_OP_NORMAL_STATE = "OPNormalState" -Const GSH_REGKEY_T1FN = "Type1FileName" -Const GSH_REGKEY_T2FN = "Type2FileName" -Const GSH_REGKEY_T3FN = "Type3FileName" -Const GSH_REGKEY_T4FN = "Type4FileName" -Const GSH_REGKEY_TagFacePlate = "faceplate" -Const GSH_REGKEY_TAGFAM = "TagFamily" -Const GSH_REGKEY_TAGDESCRIPTION = "TagDescription" -Const GSH_REGKEY_TAGEUDESC = "EUDESC" -Const GSH_REGKEY_TAGNAME_ALIAS = "TagName_Alias" -Const GSH_REGKEY_TAGNAMEHDA = "TagName_HDA" -Const GSH_REGKEY_TRENDPARAM = "TrendParam" - -'10/06/2008 (CL) -Const GSH_REGKEY_EUHIGH = "EUHIGH" -Const GSH_REGKEY_EULOW = "EULOW" - -Const GSH_REGKEY_TRENDSTEPPED = "Stepped" -Const GSH_REGKEY_TRENDTRACE = "Trace_" -Const GSH_REGKEY_TREND_YMAX = "Y_MAX" -Const GSH_REGKEY_TREND_YMIN = "Y_MIN" -Const GSH_REGKEY_USET4 = "UseT4Default" -Const GSH_REGKEY_UNITS = "EUDesc" -Const GSH_REGKEY_SAME_SATELLITE_LINK = "SAME_SATELLITE_LINK" - -Const GSH_REGKEY_STSMSGLIST = "StsMsgList" -Const GSH_REGKEY_STATUSMESSAGE = "StatusMessage" -Const GSH_REGKEY_TAGNAMELABLESTATUS = "TagNameLabelVisibilityStatus" - -'registry key for OPDevMonitor shapes -Const GSH_REGKEY_OPDEVMON_NOOFOP="NoOfOPs" -Const GSH_REGKEY_OPDEVMON_DEADBAND="DeadBand" -Const GSH_REGKEY_OPDEVMON_FILTER="Filter" -Const GSH_REGKEY_OPDEVMON_RESETDATE="ResetDate" -Const GSH_REGKEY_OPDEVMON_RESETTIME="ResetTime" -Const GSH_REGKEY_OPDEVMON_DIFF_OLD="Diff_Old" -Const GSH_REGKEY_OPDEVMON_ENTITY="Entity" -Const GSH_REGKEY_OPDEVMON_OPPARAMETER="OPParameter" -Const GSH_REGKEY_OPDEVMON_OPREFVAL="OPRefVal" - -'TODO - CHANGE KEY BELOW FORMAT -Const GSH_PVFORMATKEY = "PVFORMAT" - -Const GSH_DISPLAYDEFAULT_LOC = "" -Const GSH_BINARY = "REG_BINARY" -Const GSH_TEXT = "REG_SZ" -Const GSH_DWORD = "REG_DWORD" -Const GSH_DISPLAYFILEEXTENSION = ".htm" -'Const GSH_CSSTAGNAMELABEL = "TagNameLabel" - -'Station Data Repository -Const GSH_SDR_CURRENTPOINT = "CurrentPoint" -Const GSH_SDR_INTERIMPOINT = "InterimPoint" -' -Const GSH_DEFAULTPVFORMAT = "D1" -Const GSH_DEFAULT_NULL = "default null" -Const GSH_NOT_IMPLEMENTED = "Not Implemented" -'Shape Library Constants - do not modify -Const GSH_SHAPEPREFIX = "shape" 'used when comparing against the prefix of objects on displays -Const GSH_GSHShapeName = "shapegsh" 'name of General Script holder shape, in order to omit on reloading -Const GSH_HIDDEN = "hidden" 'used in object visibility property of any object -Const GSH_VISIBLE = "visible" 'used in object visibility property of any object - -Const GSH_SVIEW_TYPE2 = "Level2Display" -Const GSH_SVIEW_TYPE3 = "Level3Display" -Const GSH_SVIEW_TYPE4 = "Level4Display" -Const GSH_GRPSCRIPT_OBJNAME = "rec_DataScript" - -'Specific to Regulator Control Indicator -Const GSH_REGULATORYCONTORLINDICATOR_RUN = "R" -Const GSH_REGULATORYCONTORLINDICATOR_PRESET = "P" -Const GSH_MODE_AUTO_TEXT_INDICATOR = "A" -Const GSH_MODE_MAN_TEXT_INDICATOR = "M" -Const GSH_MODE_CASC_TEXT_INDICATOR = "C" -Const GSH_MODE_BCAS_TEXT_INDICATOR = "B" -Const GSH_MODE_COMP_TEXT_INDICATOR = "P" -Const GSH_MODE_AUTO = "AUTO" -Const GSH_MODE_MAN = "MAN" -Const GSH_MODE_CASC = "CASC" -Const GSH_MODE_BCAS = "BCAS" -Const GSH_MODE_COMP = "COMP" - -Const GSH_INTERLOCK_TXT = "I" -Const GSH_LOCALMAN_TXT = "L" - -'Specific to Digital Valve -Const GSH_VALVEDIGITALOFFNORMAL = "ValveDigitalOffNormal" -Const GSH_VALVEDIGITALPOSITION_OPEN = "OPEN" -Const GSH_VALVEDIGITALPOSITION_CLOSED = "CLOSED" -Const GSH_VALVEDIGITALPOSITION_TRAVEL = "TRAVEL" - -'Specific to Valve -Const GSH_TRAVEL = "TRAVEL" -Const GSH_MOVING = "MOVING" -Const GSH_MOVING_TEXT = "MOVING" -Const GSH_REDTAG = "REDTAG" -Const GSH_REDTAG_TEXT = "REDTAG" -Const GSH_HANDJACK = "HANDJACK" -Const GSH_HANDJACK_TEXT = "HANDJK" -Const GSH_ISOLATED = "ISOLATED" -Const GSH_ISOLATED_TEXT = "ISOLATD" -Const GSH_BADPV = "BadPV" -Const GSH_SHUTDOWN_TEXT_MESSAGE = "S/D" -Const GSH_BYPASSED = "BYPASSED" -Const GSH_BYPASSED_TEXT_MESSAGE = "BYPASS" -Const GSH_MODE_PROGRAM = "PROGRAM" -Const GSH_MODE_PROGRAM_TEXT = "P-" -const GSH_PVNORMALSTATE_OFFNORMAL = "NONE" -Const GSH_ALLOWOPEDIT_MODE = "MAN" -Const GSH_ALLOWSPEDIT_MODE = "AUTO" -Const GSH_BADPV_TEXT = "---" -Const GSH_BADOP_TEXT = "---" -Const GSH_BADMODE_TEXT = "---" -Const GSH_BADPVTV_TEXT = "---" -Const GSH_NODATA = "1.#QNAN" -Const GSH_LEVELINDICATORDECIMALS = 1 -Const GSH_OUTPUTINDICATORDECIMALS = 1 -Const GSH_SELX1 = 1 -Const GSH_SELX2 = 2 -Const GSH_SELX3 = 3 -Const GSH_CPIN1 = "IN1_Position" -Const GSH_CPIN2 = "IN2_Position" -Const GSH_SELIN1 = "Off" -Const GSH_SELIN2 = "On" -Const GSH_LEFT = "LEFT" -Const GSH_RIGHT = "RIGHT" -Const GSH_CENTER = "CENTER" - -'Groups Timeout (Seconds) -Const GSH_GroupTimeout = 10 - -'Faceplates -Const GSH_FacePlateTagNameTimeout = 10 -'Const GSH_FPTIMEOUT = 7 -'10/01/2008 Changed to 12 to give operator more time as requested by Sasol (CL) -Const GSH_FPTIMEOUT = 12 -Const GSH_FP_TAGNAMEENTRY_TIMEOUT = 20 -Const GSH_DETAILTRENDUPDATEPERIOD_SECS = 5 -Const GSH_FP_SHOWNAMESBTNUPDATEPERIOD_SECS = 10 -Const GSH_FP_DEFAULTFACEPLATE = "GENERAL_FP" -Const GSH_FP_PVHH = 9 -Const GSH_FP_PVHH_LABEL = "HiHi" -Const GSH_FP_PVH = 7 -Const GSH_FP_PVH_LABEL = "Hi" -Const GSH_FP_PVL = 6 -Const GSH_FP_PVL_LABEL = "Lo" -Const GSH_FP_PVLL = 8 -Const GSH_FP_PVLL_LABEL = "LoLo" - -'Global Variables - -dim GSH_DetailTrendUpdateTimerId -dim GSH_GroupTimerId -dim GSH_FPTimerId -dim GSH_FP_ShowNamesBtnTimerId -dim changeOP,mode,mdfcs,countOP,countSP, IgnoreServerDelects -dim g_PageLoadCompleted -dim g_PageLoadTimerID - -changeOP=false -mode=100 -mdfcs=true -countOP=0 -countSP=0 -SpHitLimit = 0 -RiseUpDown = 0 -IgnoreServerDelects = 0 -g_PageLoadCompleted = false - -Const GSH_C200_DEVCTLA_STATENUMOFFSET = 4 - -'Used for all Digital Shapes -Const GSH_STATETXT_DOESNOTEXIST_LBL = "---" - -'Test: Make WshShell create once on page load. -'Will remove it at onpageunload -dim WshShell -set WshShell = CreateObject("WScript.Shell") - -sub GSH_PageUnload - set WshShell = Nothing -end sub -'-------------------------------------START SHAPE GENERAL----------------------------------------------' -' .oooooo. oooo -'d8P' `Y8b `888 -'888 .ooooo. ooo. .oo. .ooooo. oooo d8b .oooo. 888 -'888 d88' `88b `888P"Y88b d88' `88b `888""8P `P )88b 888 -'888 ooooo 888ooo888 888 888 888ooo888 888 .oP"888 888 -'`88. .88' 888 .o 888 888 888 .o 888 d8( 888 888 -' `Y8bood8P' `Y8bod8P' o888o o888o `Y8bod8P' d888b `Y888""8o o888o -'------------------------------------------------------------------------------------------------------- -'''''''''''''''''''''''''''''''''''''''''''''''''' -' Error handling function -' How to use: -' sub/function sub/functionName(args) -' on error resume next -' ...........do something. -' if Err then -' call GSH_SHAPE_ERROR_HANDLING("sub/functionName",oShape) -' end if -' end sub/function -' -'''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHAPE_ERROR_HANDLING(subName,oShape) - oShape.title = "Shape contains Error. Please check log file for details" - gsh_log("ERROR: " &Err.description &" at " &subName &" for " &oShape.id) - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL -' msgbox("ERROR: " &Err.description &" at " &subName &" for " &oShape.id) - Err.clear -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''' -' Error handling function -' How to use: -' sub/function sub/functionName(args) -' on error resume next -' ...........do something. -' if Err then -' call GSH_ERROR_HANDLING("sub/functionName") -' end if -' end sub/function -' -'''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ERROR_HANDLING(subName) - gsh_log("ERROR: " &Err.description &" at " &subName) - Err.clear -end sub -'''''''''''''''''''''''''''''''''''''''''' -'GSH_PRINT_VERSION -' Require -'''''''''''''''''''''''''''''''''''''''''' -sub GSH_PRINT_VERSION(oShape, versionString) -on error resume next - dim tempString, strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_LOG & "VERSION_LOG" - tempString = GSH_READREGISTRY(strRegLocation,defaultString) - If(StrComp(tempString,"On",vbtextcompare) = 0) then - gsh_log("VERSION> shapeID = " &oShape.id &", Shape File = " &oShape.src &" version_" &versionString) - end if - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_PRINT_VERSION",oShape) - end if -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_SETTOOLTIP''''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape - object whose tool tip is being set -'Action: Determines if the custom property Entity exists. Sets the Tag -' name alias as the tool tip, but if the alias does not exist then -' displays tagname as tool tip -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETTOOLTIP(oShape) - dim sEntityPoint - sEntityPoint = UCASE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY)) - if strcomp(sEntityPoint, "", vbtextcompare) <> 0 then - oShape.title = GSH_READTAGINFORMATIONKEYVALUE(sEntityPoint, GSH_REGKEY_TAGNAME_ALIAS, sEntityPoint) - end if -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Read Registry'''''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' strRegLocation - Path of Registry Item -' defaultString - Default Value if error of nothing found -'Returns: -' value of registry item or parameter of defaultString -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_READREGISTRY(strRegLocation, defaultString) -'gsh_log_s("GSH_READREGISTRY strRegLocation=" & strRegLocation & ",defaultString=" & defaultString) -on error resume next -' dim WshShell, - dim tempString, tempReturn -' set WshShell = CreateObject("WScript.Shell") - tempString = WshShell.RegRead (cstr(strRegLocation)) - if strcomp(tempString,"",vbtextcompare)=0 or tempString = null then - tempReturn = defaultString - else - tempReturn = tempString - End If -' set WshShell = Nothing - GSH_READREGISTRY = tempReturn - - -'gsh_log_e("GSH_READREGISTRY returning >>>" & tempReturn&"<<< Time <<" &RegistryReadTime) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: Write toRegistry'''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' strRegLocation - Path of Registry item -' strValue - Registry item value -' strType - type of Registry item (use constants defined: GSH_BINARY, GSH_TEXT,GSH_DWORD) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_WRITETOREGISTRY(strRegLocation,strValue,strType) -'gsh_log_s("GSH_WRITETOREGISTRY " & "strRegLocation=" & strRegLocation & ",strValue=" & strValue & ",strType=" & strType ) - -' dim WshShell -' set WshShell = CreateObject("WScript.Shell") - WshShell.RegWrite cstr(strRegLocation), cstr(strValue), cstr(strType) -' set WshShell = Nothing -'gsh_log_e("GSH_WRITETOREGISTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Read Tag Information Key Value'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' strTagName - Part of path to Registry Item in "TagInformation" -' strKey - Part of path to Registry Item -' defaultString - Default Value if error or nothing found -'Returns: -' value of registry item or parameter of defaultString -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_READTAGINFORMATIONKEYVALUE(strTagName, strKey, defaultString) -'gsh_log_s("GSH_READTAGINFORMATIONKEYVALUE" & " strTagName=" & strTagName & ",strKey=" & strKey & ",defaultString=" & defaultString) -on error resume next - dim tempString, strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_BASE & "TagInformation\" &strTagName & "\" & strKey -' gsh_log ("GSH_READTAGINFORMATIONKEYVALUE checkPoint strRegLocation=" & strRegLocation) - tempString = GSH_READREGISTRY(strRegLocation,defaultString) - if strcomp(tempString,"",vbtextcompare)=0 then - tempReturn = defaultString - else - tempReturn = tempString - End If - GSH_READTAGINFORMATIONKEYVALUE = tempReturn -'gsh_log_e("GSH_READTAGINFORMATIONKEYVALUE returning >>> " & tempReturn&"<<<" ) -end function -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Read Display Information Key Value'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' strTagName - Part of path to Registry Item in "TagInformation" -' strKey - Part of path to Registry Item -' defaultString - Default Value if error or nothing found -'Returns: -' value of registry item or parameter of defaultString -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_READDISPLAYINFO(strTagName, strKey, defaultString) -'gsh_log_s("GSH_READDISPLAYINFO" & " strTagName=" & strTagName & ",strKey=" & strKey & ",defaultString=" & defaultString) - dim tempString, strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_DISPLAYINFO &strTagName & "\" & strKey - 'gsh_log("GSH_READDISPLAYINFO checkPoint strRegLocation=" & strRegLocation) - tempString = GSH_READREGISTRY( strRegLocation,defaultString) - if tempString = "" then - tempReturn = defaultString - else - tempReturn = tempString - End If - GSH_READDISPLAYINFO = tempReturn -'gsh_log_e("GSH_READDISPLAYINFO returning >>> " & tempReturn&"<<<" ) -end function -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'SHOULD RENAME -' -'Function: GSH_READDISPLAYNAMES'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sdefaultLocation - Default OS Path if error or nothing found -'Returns: -' String, OS path of display files -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_READDISPLAYNAMES(sdefaultLocation) -'gsh_log_s("GSH_READDISPLAYNAMES" & " sdefaultLocation=" & sdefaultLocation) - dim tempString, tempReturn - 'gsh_log("GSH_READDISPLAYNAMES checkPoint strRegLocation=" & GSH_REGISTRY_BASE & GSH_REGISTRY_DISPLAYNAMES & GSH_REGKEY_DISPLAYLOC) - tempString = GSH_READREGISTRY ( GSH_REGISTRY_BASE & GSH_REGISTRY_DISPLAYNAMES & GSH_REGKEY_DISPLAYLOC,"" ) - if tempString = "" then - tempReturn = sdefaultLocation - else - tempReturn = tempString - End If - GSH_READDISPLAYNAMES = tempReturn -'gsh_log_e("GSH_READDISPLAYNAMES returning >>>" & tempReturn&"<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: READ DISPLAY COMMUNICATION KEY VALUE ''''''''''''''''''''''''' -'Parameters: -' strKey - Part of path to Registry Item -' defaultString - Default Value if error or nothing found -'Returns: -' value of registry item or parameter of defaultString -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_READDISPLAYCOMMUNICATIONKEYVALUE(strKey, defaultString) -'gsh_log_s("GSH_READDISPLAYCOMMUNICATIONKEYVALUE" & " strKey=" & strKey & ",defaultString=" & defaultString ) - dim tempString, strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_DISPLAYCOMM & strKey - 'gsh_log("GSH_GETDISPLAYCOMMUNICATIONKEY checkPoint strRegLocation=" & strRegLocation) - tempString = GSH_READREGISTRY(strRegLocation,defaultString) - if tempString = "" then - tempReturn = defaultString - else - tempReturn = tempString - End If - GSH_READDISPLAYCOMMUNICATIONKEYVALUE = tempReturn -'gsh_log_e("GSH_READDISPLAYCOMMUNICATIONKEYVALUE returning >>>" & tempReturn&"<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_READSTSMSGLISTSKEYVALUE ''''''''''''''''''''''''' -'Parameters: -' strKey - Part of path to Registry Item (ex. RegCtl\StatusMessage1 -' defaultString - Default Value if error or nothing found -'Returns: -' value of registry item or parameter of defaultString -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_READSTSMSGLISTSKEYVALUE(strKey, defaultString) -'gsh_log_s("GSH_READSTSMSGLISTSKEYVALUE" & " strKey=" & strKey & ",defaultString=" & defaultString ) - dim tempString, strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_STSMSGLISTS & strKey -' gsh_log("GSH_READSTSMSGLISTSKEYVALUE checkPoint strRegLocation=" & strRegLocation) - tempString = GSH_READREGISTRY(strRegLocation,defaultString) - if tempString = "" then - tempReturn = defaultString - else - tempReturn = tempString - End If - GSH_READSTSMSGLISTSKEYVALUE = tempReturn -'gsh_log_e("GSH_READSTSMSGLISTSKEYVALUE returning >>>" & tempReturn&"<<<") -end function - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE''''''''''''''''''''''''''''''' -'Parameters: -' strKey - Part of path to Registry Item -' strValue - Value of string key -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE(strKey, strValue) -'gsh_log_s("GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE " & "strKey=" & strKey & ",strValue=" & strValue ) - dim strRegLocation - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_DISPLAYCOMM & strKey - 'gsh_log("GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE checkPoint strRegLocation=" & strRegLocation) - GSH_WRITETOREGISTRY strRegLocation,strValue,"REG_SZ" -'gsh_log_e("GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: GSH_WRITEDISPLAYINFORMATION''''''''''''''''''''''''''''''''' -'Parameters: -' strTagName - Part of path to Registry Item -' strKey - Part of path to Registry Item -' strValue - Value of string key -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_WRITEDISPLAYINFORMATION(strTagName, strKey, strValue) -'gsh_log_s("GSH_WRITEDISPLAYINFORMATION " & "strTagName=" & strTagName & ",strKey=" & strKey & ",strValue=" & strValue ) - dim strRegLocation - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_DISPLAYINFO &strTagName& "\" & strKey -' gsh_log("GSH_WriteDisplayInformation checkPoint strRegLocation=" & strRegLocation) - GSH_WRITETOREGISTRY strRegLocation,strValue,"REG_SZ" -'gsh_log_e("GSH_WRITEDISPLAYINFORMATION") -end sub - - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: GSH_HIDESUBSHAPE'''''''''''''''''''''''''''''''''''''''''''' -' Hides the sub shapes within the HCS Shape -'Parameters: -' oShape - object to hide -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_HIDESUBSHAPE(oObject) -'gsh_log_s("GSH_HIDESUBSHAPE "& "oObject=" & oObject.id) - oObject.style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_HIDESUBSHAPE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: GSH_SHOWSUBSHAPE'''''''''''''''''''''''''''''''''''''''''''' -' Shows the sub shapes within the HCS Shape -'Parameters: -' oObject - object to show -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHOWSUBSHAPE(oObject) -'gsh_log_s("GSH_SHOWSUBSHAPE "& "oObject=" & oObject.id) - oObject.style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_SHOWSUBSHAPE") -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: Shape Clicked -' Called when user clicks HCS shape on display -'Parameters: -' oShape - HCS Shape (Example: Analog Indicator -'Sept 30, 2009 - Added associated Level 2 support for loading Level2 from L1 shapes (CL) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHAPECLICKED(oShape) -on error resume next - Dim sAssocDispT2, sAssocDispT3, sAssocDispT4 - - 'Determine what is the associated display Type3 - sAssocDispT2 = UCase(oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPASSOCTYPE2)) - - 'Determine what is the associated display Type3 - sAssocDispT3 = UCase(oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPASSOCTYPE3)) - 'Determine what is the associated display Type4 from the shape custom property - sAssocDispT4 = Ucase(oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPASSOCTYPE4)) - 'call GSH_SHAPECLICKEDPARAMETERS(oShape, sAssocDispT3, sAssocDispT4) - call GSH_SHAPECLICKEDPARAMETERS1(oShape, sAssocDispT2, sAssocDispT3, sAssocDispT4) -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: Shape Clicked No Assoc Display -' Called when user clicks HCS shape on display -'Parameters: -' oShape - HCS Shape (Example: Analog Indicator -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHAPECLICKEDNOASSOCDISP(oShape) -on error resume next - call GSH_SHAPECLICKEDPARAMETERS1(oShape, "", "", "") -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: Shape Clicked Parameters -' Called when user clicks HCS shape on display -'Parameters: -' oShape - HCS Shape (Example: Analog Indicator -' sAssocDispT3 - Associated Display Type 3 -' sAssocDispT4 - Associated Display Type 4 -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHAPECLICKEDPARAMETERS(oShape, sAssocDispT3, sAssocDispT4) -on error resume next -'gsh_log_s("Performance Time: GSH_SHAPECLICKED "& "oShape=" & oShape.id &" , sAssocDispT3="&sAssocDispT3) - Dim sOnDispT2, shapeTagName, vTagFamily, iPageNavigateDelayMs - 'Determine what is on display Type2 from Display Communication Mailbox - sOnDispT2 = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T2FN,"") - shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - call GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(GSH_FALSE) 'Reset all tagname labels to hidden - 'Store Tag Name in Display Communication Mailbox - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_FOCUSTAG,shapeTagName - 'Get Tag Family using Tag Information in Registry - vTagFamily = GSH_READTAGINFORMATIONKEYVALUE(shapeTagName, GSH_REGKEY_TAGFAM, "") - 'Store Tag Family in Display Communication Mailbox - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_TAGFAM,vTagFamily - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE "AssocDisplay3",sAssocDispT3 - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE "AssocDisplay4",sAssocDispT4 - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_USET4,"NO" 'Ensure that T4Default is not on. Assume there will always be an AssocL3 and L4 specified together. - iPageNavigateDelayMs = cint(GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_FPPAGEDELAY,GSH_REGKEY_FPPAGEDELAY_DEFAULTMS)) - call setTimeout ("GSH_UpdateFaceplate()", iPageNavigateDelayMs) - call window.external.RaiseCustomEvent("ShapeClicked","OnShapeClickEvent",sAssocDispT3&"%"&sAssocDispT4) -'gsh_log_e("Performance Time:GSH_SHAPECLICKED iPageNavigateDelayMs="& iPageNavigateDelayMs) -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: GSH_SHAPECLICKEDPARAMETERS1 -' Called when user clicks HCS shape on display -'Parameters: -' oShape - HCS Shape (Example: Analog Indicator -' sAssocDispT2 - Associated Display Type 2 -' sAssocDispT3 - Associated Display Type 3 -' sAssocDispT4 - Associated Display Type 4 -'Sept 30, 2009 - Added associated Level 2 support for loading Level2 from L1 shapes (CL) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHAPECLICKEDPARAMETERS1(oShape, sAssocDispT2, sAssocDispT3, sAssocDispT4) -on error resume next -'gsh_log_s("Performance Time: GSH_SHAPECLICKEDPARAMETERS1 "& "oShape=" & oShape.id) - Dim sOnDispT2 - Dim sOnDispT3 - Dim sOnDispT4 - Dim vTagFamily - Dim sTemp - Dim sErrorMsg - Dim shapeTagName - Dim objShpFocus - Dim sFaceplate -'initialize local variables - - If(g_PageLoadCompleted) then - - g_PageLoadCompleted = false - window.clearTimeout g_PageLoadTimerID - g_PageLoadTimerID=window.setTimeout("g_PageLoadCompleted = true",1500) - - shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - - 'Determine what is on display Type3 from Display Communication Mailbox - sOnDispT2 = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T2FN,"") - - 'Determine what is on display Type3 from Display Communication Mailbox - sOnDispT3 = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T3FN,"") - 'Determine what is on display Type4 - sOnDispT4 = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T4FN,"") - sDisplayLocation = GSH_READDISPLAYNAMES("") - call GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(GSH_FALSE) 'Reset all tagname labels to hidden - 'Store Tag Name in Display Communication Mailbox - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_FOCUSTAG,shapeTagName - - 'Get Tag Family using Tag Information in Registry - vTagFamily = GSH_READTAGINFORMATIONKEYVALUE(shapeTagName, GSH_REGKEY_TAGFAM, "") - 'Store Tag Family in Display Communication Mailbox - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_TAGFAM,vTagFamily - call GSH_UpdateFaceplate() - - If strcomp(sAssocDispT2,"",vbtextcompare)<>0 and strcomp(Ucase(sOnDispT2),sAssocDispT2,vbtextcompare)<>0 Then - sTemp = sDisplayLocation & sAssocDispT2 & GSH_DISPLAYFILEEXTENSION - 'call GSH_WRITEDISPLAYINFORMATION ("", GSH_REGKEY_PRIORT2, sAssocDispT2) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T2FN,sAssocDispT2) - window.navigate(sTemp) - End If - - If strcomp(sAssocDispT3,"",vbtextcompare)<>0 and strcomp(Ucase(sOnDispT3),sAssocDispT3,vbtextcompare)<>0 Then - sTemp = sDisplayLocation & sAssocDispT3 & GSH_DISPLAYFILEEXTENSION - call GSH_WRITEDISPLAYINFORMATION (sOnDispT2, GSH_REGKEY_PRIORT3, sAssocDispT3) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T3FN,sAssocDispT3) - window.navigate(sTemp) - End If - - If strcomp(sAssocDispT4,"",vbtextcompare)<>0 Then - If Ucase(sOnDispT4) <> sAssocDispT4 Then - sTemp = sDisplayLocation & sAssocDispT4 & GSH_DISPLAYFILEEXTENSION - ''25June08 - JE - 'call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sPriorT4) - 'Should be this line instead - call GSH_WRITEDISPLAYINFORMATION (sOnDispT2, GSH_REGKEY_PRIORT4, sAssocDispT4) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sAssocDispT4) - window.navigate(sTemp) - End if - ' Else - '''Should not need to set this to on - 25June08 - JE - ''' GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_USET4,"YES" - End If - - else -' gsh_log("GSH_SHAPECLICKEDPARAMETERS1:gPageLoadcompleted = false") - End If -'gsh_log_e("Performance Time:GSH_SHAPECLICKEDPARAMETERS1") -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: GSH_ONSHAPECLICKEVENTHANDLER -' Event Handling routine on each Level Display for the CustomEvent "OnShapeClickEvent" -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ONSHAPECLICKEVENTHANDLER -'gsh_log_s "GSH_ONSHAPECLICKEVENTHANDLER >>> "& PAGE_DISPLAYTYPE - dim sAssocDisp, sOnDisp, sOnDispT2 - 'Determine what is on display Type2 from Display Communication Mailbox - sOnDispT2 = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T2FN,"") - 'Determine what is on display from Display Communication Mailbox - sOnDisp = GSH_READDISPLAYCOMMUNICATIONKEYVALUE("Type"&cstr(PAGE_DISPLAYTYPE)&"Filename","") - if (PAGE_DISPLAYTYPE = 2) then - GSH_UPDATESHAPESONDISPLAY sOnDisp&GSH_DISPLAYFILEEXTENSION - else - sAssocDisp = GSH_READDISPLAYCOMMUNICATIONKEYVALUE("AssocDisplay"&cstr(PAGE_DISPLAYTYPE),"") - If strcomp(sAssocDisp,"",vbtextcompare) <> 0 Then - If strcomp(sOnDisp,sAssocDisp,vbtextcompare)<>0 Then - dim iPageNavigateDelayMs - call GSH_WRITEDISPLAYINFORMATION (sOnDispT2, "PriorType"&cstr(PAGE_DISPLAYTYPE), sAssocDisp) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE ("Type"&cstr(PAGE_DISPLAYTYPE)&"Filename",sAssocDisp) - iPageNavigateDelayMs = cint(GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_LEVELPAGEDELAY,GSH_REGKEY_LEVELPAGEDELAY_DEFAULTMS)) - call setTimeout ("GSH_UPDATEDISPLAYPAGE()", iPageNavigateDelayMs) - Else - GSH_UPDATESHAPESONDISPLAY sOnDisp&GSH_DISPLAYFILEEXTENSION - End If - Else - GSH_UPDATESHAPESONDISPLAY sOnDisp&GSH_DISPLAYFILEEXTENSION 'Update all shapes on Display Type4 - End If - End if -'gsh_log_e "GSH_ONSHAPECLICKEVENTHANDLER iPageNavigateDelayMs="&iPageNavigateDelayMs -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: GSH_ONPERIODIC_FOCUSUPDATEHANDLER -' Event Handling routine on each Level Display for the CustomEvent "OnShapeClickEvent" -' 06/20/2007 Added a check to see if the TagNameLabelVisible tag has changed -' if so then update the TagNameLabelShapes with GSH_UPDATETAGNAMELABELONDISPLAY -' 06/27/07 calls GSH_UPDATEPAGELINKONDISPLAY when the PageLinkAlarmGroup has changed -' 07/25/07 only calls GSH_UPDATEPAGELINKONDISPLAY when the PAGE_DISPLAYTYPE = 2 -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ONPERIODIC_FOCUSUPDATEHANDLER -On error resume next -'gsh_log_s "GSH_ONPERIODIC_FOCUSUPDATEHANDLER >>> "& PAGE_DISPLAYTYPE & "," & g_PageShapesInit - - if g_PageShapesInit = 1 then - dim sOnDisp, sFocusTagName, sRegPageLinkAlarmGroup - sFocusTagName = GSH_READDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_FOCUSTAG,"NoTag") -' gsh_log "sFocusTagName ="&sFocusTagName&", g_PageCurrentFocusTag = "&g_PageCurrentFocusTag - if strcomp(sFocusTagName,g_PageCurrentFocusTag,vbtextcompare) <> 0 then - 'Determine what is on display from Display Communication Mailbox - sOnDisp = GSH_READDISPLAYCOMMUNICATIONKEYVALUE ("Type"&cstr(PAGE_DISPLAYTYPE)&"Filename","") - if (strcomp(sOnDisp,"",vbtextcompare) <> 0) or (PAGE_DISPLAYTYPE = 1) then - GSH_UPDATESHAPESONDISPLAY sOnDisp - End if - g_PageCurrentFocusTag = sFocusTagName - End If - - dim currentTagLabelVisible - currentTagLabelVisible = GSH_TAGNAMELABEL_GET_VISIBILITYSTATUS - if strcomp(currentTagLabelVisible,g_PageCurrentTagLabelVisible,vbtextcompare) <> 0 then - GSH_UPDATETAGNAMELABELONDISPLAY sOnDisp - g_PageCurrentTagLabelVisible = currentTagLabelVisible - End if - if (PAGE_DISPLAYTYPE = 2) then - sRegPageLinkAlarmGroup = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_PAGELINKALARMGROUP,"NoPgLink") - if strcomp(sRegPageLinkAlarmGroup,g_PageCurrentPageLink,vbtextcompare) <> 0 and (PAGE_DISPLAYTYPE = 2) then - GSH_UPDATEPAGELINKONDISPLAY sOnDisp - g_PageCurrentPageLink = sRegPageLinkAlarmGroup - End if - end if - End If -'gsh_log_e "GSH_ONPERIODIC_FOCUSUPDATEHANDLER " -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Is Alarming Enabled -'Parameters: -' oDataBoundObject - HCS Group Shape -' pointName - the point name -' parameter - Alarm disabled paramter. i.e.: -' GSH_SCADA_PARAM_ALARMDISABLED for SCADA points -' GSH_C200_PARAM_ALARMDISABLED for C200 points -' GSH_TPS_PARAM_ALARMDISABLED for TPS points -' and so on -'Returns: -' boolean -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_ISALARMINGENABLED(oDataBoundObject, pointName, parameter) -'gsh_log_s("GSH_ISALARMINGENABLED oDataBoundObject=" & oDataBoundObject.id & ", pointName=" & pointName &", parameter = " ¶meter) -on error resume next - - Dim tempReturn - - if (GSH_GETPARAMETERVALUE(oDataBoundObject, pointName, parameter) <> 0) then - tempReturn = true - else - tempReturn = false - end if - GSH_ISALARMINGENABLED = tempReturn - -'gsh_log_e("GSH_ISALARMINGENABLED returning >>>" & cstr(tempReturn) & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Is TPS Alarming Enabled -' TPS point is different: -' ALENBST = 0 -> enabled -' ALENBST = 1 -> disabled -' ALENBST = 0 -> inhibit -'Parameters: -' oDataBoundObject - HCS Group Shape -' pointName - the point name -' -'Returns: -' boolean -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_TPS_ISALARMINGENABLED(oDataBoundObject, pointName, parameter) -'gsh_log_s("GSH_TPS_ISALARMINGENABLED oDataBoundObject=" & oDataBoundObject.id & ", pointName=" & pointName &", parameter = " ¶meter) -on error resume next - - Dim tempReturn - - if (GSH_GETPARAMETERVALUE(oDataBoundObject, pointName, parameter) <> 0) then - tempReturn = false - else - tempReturn = true - end if - GSH_TPS_ISALARMINGENABLED = tempReturn - -'gsh_log_e("GSH_TPS_ISALARMINGENABLED returning >>>" & cstr(tempReturn) & "<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Is Alarming Disabled -'Parameters: -' oDataBoundObject - HCS Group Shape -' pointName - the point name -' parameter - Alarm disabled paramter. i.e.: -' GSH_SCADA_PARAM_ALARMDISABLED for SCADA points -' GSH_C200_PARAM_ALARMDISABLED for C200 points -' GSH_TPS_PARAM_ALARMDISABLED for TPS points -' and so on -'Returns: -' boolean -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_ISALARMINGDISABLED(oDataBoundObject, pointName, parameter) -'gsh_log_s("GSH_ISALARMINGDISABLED oDataBoundObject=" & oDataBoundObject.id & ", pointName=" & pointName &", parameter = " ¶meter) -on error resume next - - Dim tempReturn - - if (GSH_GETPARAMETERVALUE(oDataBoundObject, pointName, parameter) <> 0) then - tempReturn = true - else - tempReturn = false - end if - GSH_ISALARMINGDISABLED = tempReturn - -'gsh_log_e("GSH_ISALARMINGDISABLED returning >>>" & cstr(tempReturn) & "<<<") -end function - - -'---------------------- START REGULATORY CONTROL INDICATOR GENERAL ----------------- - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SETREGULATORYCONTROLINDICATORFOCUS'''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETREGULATORYCONTROLINDICATORFOCUS(oDataBoundObject) -'gsh_log_s("GSH_SETREGULATORYCONTROLINDICATORFOCUS oDataBoundObject=" & oDataBoundObject.id) -on error resume next - call GSH_SETSHAPEFOCUS(oDataBoundObject) - if (not(oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, outline must be transparent - 'alert(1) - oDataBoundObject.objects("outline").fillstyle = GSH_FILLTRANSPARENT -'added 17july2008 - else - oDataBoundObject.objects("outline").fillstyle = GSH_FILLSOLID - end if -'gsh_log_e("GSH_SETREGULATORYCONTROLINDICATORFOCUS") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SETREGULATORYCONTROLINDICATORMODE''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETREGULATORYCONTROLINDICATORMODE(oDataBoundObject) -'gsh_log_s("GSH_SETREGULATORYCONTROLINDICATORMODE oDataBoundObject=" & oDataBoundObject.id) -on error resume next -dim sMode, tempText - sMode = "MODE" 'default - Select Case GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,GSH_CPPOINTTYPE,GSH_CPVALUE) - Case GSH_CPPOINTTYPE_SCADA - sMode = GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE) - Case GSH_CPPOINTTYPE_TPN - sMode = GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_TPN_PARAM_MODE) - Case GSH_CPPOINTTYPE_C200 - sMode = GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_TPN_PARAM_MODE) - CASE GSH_CPPOINTTYPE_C300 -' sMode = GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_TPN_PARAM_MODE) - End Select - Select Case sMode - Case GSH_MODE_AUTO - tempText = GSH_MODE_AUTO_TEXT_INDICATOR - Case GSH_MODE_MAN - tempText = GSH_MODE_MAN_TEXT_INDICATOR - Case GSH_MODE_CASC - tempText = GSH_MODE_CASC_TEXT_INDICATOR - Case GSH_MODE_BCAS - tempText = GSH_MODE_BCAS_TEXT_INDICATOR - Case GSH_MODE_COMP - tempText = GSH_MODE_COMP_TEXT_INDICATOR - End Select -oDataBoundObject.parentelement.parentelement.objects("txt_mode").value = tempText -'gsh_log_e("GSH_SETREGULATORYCONTROLINDICATORMODE set mode indicator to >>" & tempText & "<<") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGULATORYCONTROLINDICATORSHOWNORMAL''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' mode = -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGULATORYCONTROLINDICATORSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_REGULATORYCONTROLINDICATORSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'Disable Alarms - call GSH_SHOWNOALARM(oDataBoundObject) - oDataBoundObject.objects("txt_AnalogValue").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("txt_Initialization").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_ramp").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_mode").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_REGULATORYCONTROLINDICATORShowNormal") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGULATORYCONTROLINDICATORSHOWOFFNORMAL'''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGULATORYCONTROLINDICATORSHOWOFFNORMAL(oDataBoundObject) -'gsh_log_s("GSH_REGULATORYCONTROLINDICATORSHOWOFFNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - if (oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if -'gsh_log_e("GSH_REGULATORYCONTROLINDICATORSHOWOFFNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGULATORYCONTROLINDICATORSHOWBADPV'''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGULATORYCONTROLINDICATORSHOWBADPV(oDataBoundObject) -'gsh_log_s("GSH_REGULATORYCONTROLINDICATORSHOWBADPV oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("txt_Analogvalue").value = GSH_BADPV_TEXT - oDataBoundObject.objects("txt_AnalogValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_REGULATORYCONTROLINDICATORSHOWBADPV") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGULATORYCONTROLINDICATORSHOWCOMMUNICATIONERROR''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGULATORYCONTROLINDICATORSHOWCOMMUNICATIONERROR(oDataBoundObject) -'gsh_log_s("GSH_REGULATORYCONTROLINDICATORSHOWCOMMUNICATIONERROR oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'SAME BEHAVIOR AS BAD PV - GSH_REGULATORYCONTROLINDICATORSHOWBADPV(oDataBoundObject) -'gsh_log_e("GSH_REGULATORYCONTROLINDICATORSHOWCOMMUNICATIONERROR") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGULATORYCONTROLINDICATORSHOWDISABLEDALARM'''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGULATORYCONTROLINDICATORSHOWDISABLEDALARM(oDataBoundObject) -'gsh_log_s("GSH_REGULATORYCONTROLINDICATORSHOWDISABLEDALARM oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'Change focus outline color - oDataBoundObject.objects("outline").styleClass = GSH_CSSREGULATORYCONTROLINDICATORDISABLEDALARM -'gsh_log_e("GSH_REGULATORYCONTROLINDICATORSHOWDISABLEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGULATORYCONTROLINDICATORSHOWINITIALIZATION''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGULATORYCONTROLINDICATORSHOWINITIALIZATION(oDataBoundObject) -'gsh_log_s("GSH_REGULATORYCONTROLINDICATORSHOWINITIALIZATION oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("txt_Intialization").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_REGULATORYCONTROLINDICATORSHOWINITIALIZATION") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGULATORYCONTROLINDICATORSHOW_RAMP'''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' txtValue = text to be shown in RAMP shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGULATORYCONTROLINDICATORSHOW_RAMP(oDataBoundObject,txtValue) -'gsh_log_s("GSH_REGULATORYCONTROLINDICATORSHOW_RAMP oDataBoundObject=" & oDataBoundObject.id & ",txtValue =" &txtValue ) -on error resume next - oDataBoundObject.objects("txt_ramp").value = txtValue - oDataBoundObject.objects("txt_ramp").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_REGULATORYCONTROLINDICATORSHOW_RAMP") -end sub - -'---------------------- END REGULATORY CONTROL INDICATOR GENERAL ----------------- - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_ISDATABAD -'Parameters: -' oDataScriptObject - data bound object within HCS shape -' bCheckNAN - check for PV value that is not a number -' bCheckPVSts - check if PVSts indicate that PV value is bad -'Returns: -' true of false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_ISDATABAD(oDataScriptObject, parameter, bCheckNAN, bCheckPVSts) -'gsh_log_s("GSH_ISDATABAD " & "oDataScriptObject=" & oDataScriptObject.ID &" parameter = " ¶meter) -on error resume next - Dim bValueIsNAN, bPVInError, bAllTests - bValueIsNAN = false - bPVInError = false - -' gsh_log_e("bValueIsNAN " & oDataScriptObject.IsNan(GSH_CPENTITY & "." & parameter)) - if bCheckNAN then - if oDataScriptObject.IsNan(GSH_CPENTITY & "." & parameter) then bValueIsNAN = true - end if - -' gsh_log_e("bCheckPVSts " &GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_CPPARAM_BADPV)) - if bCheckPVSts then - if (GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_CPPARAM_BADPV)<> 0) then - bPVInError = true - end if - end if - - bAllTests = ( bValueIsNAN or bPVInError ) - -'gsh_log_e("GSH_ISDATABAD returing " & bAllTests ) -GSH_ISDATABAD = bAllTests -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_Show_StatusMessageFlag'''''''''''''''''''''''''''''''''''''''''' -'Show Status Message flag on a C200/TPS Regulatory Control shapes. -' stsMsg_flag = 0 => Off (No Message shown) - Default -' stsMsg_flag = 1 => Bypass (shown as Bypass) -' stsMsg_flag = 2 => HandJack (shown as Hand) -' stsMsg_flag = 3 => Isolated (shown as Isolate) -'08/08/07 - Created the sub routine (Cuong Ly) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_Show_StatusMessageFlag(oShape, stsMsg_flag) - - if IsNumeric(stsMsg_flag) then - - Select Case stsMsg_flag - Case 0 - 'hide the message - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN - Case 1 - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_BYPASSED_TEXT_MESSAGE) - Case 2 - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_HANDJACK_TEXT) - Case 3 - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_ISOLATED_TEXT) - Case else - 'hide the message - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN - End Select - end if - -end sub - - - - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: GSH_UPDATEDISPLAYPAGE -' Used in conjunction with GSH_ONSHAPECLICKEVENTHANDLER to launch associated page -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_UPDATEDISPLAYPAGE - Dim sOnDisp - sOnDisp = GSH_READDISPLAYCOMMUNICATIONKEYVALUE("Type"&cstr(PAGE_DISPLAYTYPE)&"Filename","") - if strcomp(sOnDisp, "", vbtextcompare) <> 0 then - window.navigate( sOnDisp & GSH_DISPLAYFILEEXTENSION ) - end if -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_UpdateFaceplate -' Launches new faceplate based on Registry Display Communication info -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_UpdateFaceplate() -'gsh_log_s("GSH_UpdateFaceplate") -dim sTagname, sTagFaceplate - - sTagname = GSH_READDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_FOCUSTAG ,"") - sTagFaceplate = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_TagFacePlate, "") -' GSH_UpdateFaceplate_Old(sTagName) - -' gsh_log("sTagName="&sTagname) -' gsh_log("sTagFaceplate="&sTagFaceplate) - - if strcomp(sTagFaceplate,"",vbtextcompare) <> 0 then - HDXPopupbehavior.CreatePopupWindow Ucase(sTagFaceplate) & GSH_DISPLAYFILEEXTENSION&"?"&"currentpoint="&sTagname,10,10,1 - else - HDXPopupbehavior.CreatePopupWindow GSH_READDISPLAYNAMES("") & GSH_FP_DEFAULTFACEPLATE & GSH_DISPLAYFILEEXTENSION&"?"&"currentpoint="&sTagname,10,10,1 - end if -'gsh_log_e("GSH_UpdateFaceplate sTagFaceplate = "&sTagFaceplate&", sTagname ="&sTagname) -end sub - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: Set Shape Focus -' Determines proper focusing for shape -'Parameters: -' oShape - HCS Shape that needs to test for focusing, must have shp_focus sub shape -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETSHAPEFOCUS(oShape) -'gsh_log_s("GSH_SETSHAPEFOCUS " & "oShape=" & oShape.id) -On error resume next - call GSH_SHOWSUBSHAPE(oShape.objects("focus")) - Dim shapeTag, shapeFocusStyle - shapeTag = GSH_GETSHAPETAG(oShape) - If GSH_DOESSHAPEREQUIRESPRINCIPLEFOCUS(shapeTag) then - shapeFocusStyle = GSH_CSSFOCUSPRINCIPAL - else if GSH_DOESSHAPEREQUIRESASSOCIATEDFOCUS(shapeTag) then - shapeFocusStyle = GSH_CSSFOCUSASSOCIATED - else - shapeFocusStyle = GSH_CSSFOCUSNONE - end if - end if - 'apply focus style - oShape.objects("focus").styleClass = shapeFocusStyle -'gsh_log_e("GSH_SETSHAPEFOCUS shapeFocusStyle, err = " &shapeFocusStyle & ", " & err) -end sub - -sub GSH_SETSASHAPEFOCUS(oShape, objectName) -'gsh_log_s("GSH_SETSHAPEFOCUS " & "oShape=" & oShape.id) -On error resume next - call GSH_SHOWSUBSHAPE(oShape.objects(objectName)) - Dim shapeTag, shapeFocusStyle - shapeTag = GSH_GETSHAPETAG(oShape) - If GSH_DOESSHAPEREQUIRESPRINCIPLEFOCUS(shapeTag) then - shapeFocusStyle = GSH_CSSFOCUSASSOCIATED -' gsh_log "Pfocus" - else if GSH_DOESSHAPEREQUIRESASSOCIATEDFOCUS(shapeTag) then - shapeFocusStyle = GSH_CSSFOCUSASSOCIATED -' gsh_log "Afocus" - else - shapeFocusStyle = GSH_CSSFOCUSNONE -' GSH_LOG "Nofocus" - end if - end if -'apply focus style - oShape.objects(objectName).styleClass = shapeFocusStyle -'gsh_log_e("GSH_SETSHAPEFOCUS shapeForcusStyle = " &shapeFocusStyle) -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function Does Shape Require Principle Focus -' Determines if shape tag matches tag currently in focus -'Parameters: -' shapeTag - tagname -'Returns: -' true (tagname passed in matches focusTag in Registry) -' false (tagnmae passed in does not match focusTag in Registry) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_DOESSHAPEREQUIRESPRINCIPLEFOCUS(shapeTag) -'gsh_log_s("GSH_DOESSHAPEREQUIRESPRINCIPLEFOCUS " & "shapeTag=" & shapeTag) -On error resume next - Dim tempReturn,currentFocusTag - tempReturn = false 'default - currentFocusTag = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_FOCUSTAG,"") - 'gsh_log("GSH_DOESSHAPEREQUIRESPRINCIPLEFOCUS comparing currentFocusTag="¤tFocusTag&" to shapeTag="&shapeTag) - if (strComp(currentFocusTag,shapeTag,vbTextCompare)=0) then - tempReturn = true - end if - GSH_DOESSHAPEREQUIRESPRINCIPLEFOCUS = tempReturn -'gsh_log_e("GSH_DOESSHAPEREQUIRESPRINCIPLEFOCUS retruning >>> " & cstr(tempReturn) & "<<<") -end function - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function Does Shape Require Associated Focus -' Determines if tag family or tag passed in matches current tag family -' in registry -'Parameters: -' shapeTag - tagname -'Returns: -' true (tagFamily information of tagname passed in matches tagFamily in Registry) -' false (tagFamily information of tagname passed in does not matche tagFamily in Registry) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_DOESSHAPEREQUIRESASSOCIATEDFOCUS(shapeTag) -'gsh_log_s("GSH_DOESSHAPEREQUIRESASSOCIATEDFOCUS " & "shapeTag=" & shapeTag) -on error resume next - Dim tempReturn,shapeTagFamily, currentTagFamily - tempReturn = false 'default - currentTagFamily = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_TAGFAM,"") - shapeTagFamily = GSH_READTAGINFORMATIONKEYVALUE(shapeTag,GSH_REGKEY_TAGFAM,"") - 'gsh_log("GSH_DOESSHAPEREQUIRESASSOCIATEDFOCUS comparing currentTagFamily="¤tTagFamily&" to shapeTagFamily="&shapeTagFamily) - if shapeTagFamily <> "" then - if (strComp(currentTagFamily, shapeTagFamily, vbTextCompare) = 0) then - tempReturn = true - end if - end if - GSH_DOESSHAPEREQUIRESASSOCIATEDFOCUS = tempReturn -'gsh_log_e("GSH_DOESSHAPEREQUIRESASSOCIATEDFOCUS retruning >>> " & cstr(tempReturn) & "<<<") -end function - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function Get Shape Tag -' Gets the tag associated with the Shape (a custom property) -'Parameters: -' oShape - HCS Shape with a custom property of type 'Point' and named 'Entity' -'Returns: -' Shape Custom property GSH_CPENTITY ("Entity") -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETSHAPETAG(oShape) -'gsh_log_s("GSH_GETSHAPETAG " & "oShape=" & oShape.id) -on error resume next - Dim tempReturn - tempReturn = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPENTITY, GSH_CPPOINT) - GSH_GETSHAPETAG = tempReturn -'gsh_log_e("GSH_GETSHAPETAG returning >>>" & tempReturn & "<<<" ) -end function - - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Is Alarming Disabled -'Parameters: -' oDataBoundObject - HCS Group Shape -'Returns: -' boolean -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_ISALARMINGDISABLED(oDataBoundObject) -'gsh_log_s("GSH_SCADA_ISALARMINGDISABLED oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim tempReturn - tempReturn = GSH_SCADA_ISALARMINGDISABLEDPARAMETER(oDataBoundObject, GSH_CPENTITY) -GSH_SCADA_ISALARMINGDISABLED = tempReturn -'gsh_log_e("GSH_SCADA_ISALARMINGDISABLED returning >>>" & cstr(tempReturn) & "<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Is Alarming Disabled Parameter -'Parameters: -' oDataBoundObject - HCS Group Shape -' paramName - Parameter Name -'Returns: -' boolean -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_ISALARMINGDISABLEDPARAMETER(oDataBoundObject, pointName) -'gsh_log_s("GSH_ISALARMINGDISABLEDPARAMETER oDataBoundObject=" & oDataBoundObject.id & ", pointName=" & pointName) -on error resume next -Dim tempReturn -tempReturn = false -Select Case GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,GSH_CPPOINTTYPE,GSH_CPVALUE) - Case GSH_CPPOINTTYPE_SCADA - if (GSH_GETPARAMETERVALUE(oDataBoundObject, pointName, GSH_SCADA_PARAM_ALARMDISABLED) <> 0) then - tempReturn = true - end if - Case GSH_CPPOINTTYPE_C200 - tempReturn = false - Case GSH_CPPOINTTYPE_C300 - tempReturn = false - case else - tempReturn = false - End Select -GSH_ISALARMINGDISABLEDPARAMETER = tempReturn -'gsh_log_e("GSH_ISALARMINGDISABLEDPARAMETER returning >>>" & cstr(tempReturn) & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Is Alarming Disabled Parameter -'Parameters: -' oDataBoundObject - HCS Group Shape -' paramName - Parameter Name -'Returns: -' boolean -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_ISALARMINGDISABLEDPARAMETER(oDataBoundObject, pointName) -'gsh_log_s("GSH_SCADA_ISALARMINGDISABLEDPARAMETER oDataBoundObject=" & oDataBoundObject.id & ", pointName=" & pointName) -on error resume next -Dim tempReturn -tempReturn = false - if (GSH_GETPARAMETERVALUE(oDataBoundObject, pointName, GSH_SCADA_PARAM_ALARMDISABLED) <> 0) then - tempReturn = true - end if -GSH_SCADA_ISALARMINGDISABLEDPARAMETER = tempReturn -'gsh_log_e("GSH_SCADA_ISALARMINGDISABLEDPARAMETER returning >>>" & cstr(tempReturn) & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Get Shape Custom Property -'Parameters: -' oShape - HCS Shape -'Returns: -' The value of the Custom Property -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,propertyName, propertyType) -'gsh_log_s("GSH_GETSHAPE_CUSTOM_PROPERTY " & "oShape=" & oShape.id & ",propertyName=" & propertyName& ",propertyType=" & propertyType) -on error resume next - Dim tempReturn - tempReturn = oShape.GetCustomProperty(propertyType,propertyName) - GSH_GETSHAPE_CUSTOM_PROPERTY = tempReturn -'gsh_log_e("GSH_GETSHAPE_CUSTOM_PROPERTY returning >>>" & tempReturn&"<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Get Shape Custom Property -'Parameters: -' oShape - HCS Shape -'Returns: -' The value of the Custom Property -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETSHAPE_CUSTOM_PROPERTY(oShape,propertyName, propertyType, propertyValue) -'gsh_log_s("GSH_SETSHAPE_CUSTOM_PROPERTY " & "oShape=" & oShape.id & ",propertyName=" & propertyName& ",propertyType=" & propertyType & ",propertyValue=" & propertyValue) -on error resume next - - oShape.SetCustomProperty propertyType, propertyName, propertyValue - -'gsh_log_e("GSH_SETSHAPE_CUSTOM_PROPERTY returning >>>" & tempReturn&"<<<") -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Is PV Data Bad -'Parameters: -' oDataScriptObject - data bound object within HCS shape -' bCheckNAN - check for PV value that is not a number -' bCheckTransmitter - check device sending data for errors -' bCheckRange - check PV value for value way out of range (station configurable unreasonably hi / lo alarm -'Returns: -' true of false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_ISDATABAD(oDataScriptObject,bCheckNAN,bCheckTransmitter,bCheckRange) -'gsh_log_s("GSH_SCADA_ISDATABAD " & "oDataScriptObject=" & oDataScriptObject.ID) -on error resume next - Dim bPVInError -' , bInUnreasonablyLowAlarm, bInUnreasonablyHighAlarm, bInTransmitterLowAlarm, bInTransmitterHighAlarm - bPVInError = false -' bInUnreasonablyLowAlarm = false -' bInUnreasonablyHighAlarm = false -' bInTransmitterLowAlarm = false -' bInTransmitterHighAlarm = false - if bCheckNAN then - if GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_CPPARAM_BADPV)<> 0 then - bPVInError = true - end if - end if - 'gsh_log ("PVInError"&bPVInError) -' if bCheckTransmitter then -' bInTransmitterLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_SCADA_PARAM_INTRANSMITTERLOWALARM)) -' bInTransmitterHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_SCADA_PARAM_INTRANSMITTERHIGHALARM)) -' end if -' if bCheckRange then -' bInUnreasonablyLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_SCADA_PARAM_INUNREASONABLYLOWALARM)) -' bInUnreasonablyHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_SCADA_PARAM_INUNREASONABLYHIGHALARM)) -' end if -' bAllTests = bPVInError -' bAllTests = ( bPVInError or bInUnreasonablyLowAlarm or bInUnreasonablyHighAlarm or bInTransmitterLowAlarm or bInTransmitterHighAlarm ) -'GSH_SCADA_ISDATABAD = bAllTests -GSH_SCADA_ISDATABAD = bPVInError -'gsh_log_e("GSH_SCADA_ISDATABAD returing " & bAllTests ) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_FP_SCADA_IsDataBad -'Parameters: -' oDataScriptObject - data bound object within HCS shape -' bCheckNAN - check for PV value that is not a number -' bCheckTransmitter - check device sending data for errors -' bCheckRange - check PV value for value way out of range (station configurable unreasonably hi / lo alarm -'Returns: -' true of false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_FP_SCADA_IsDataBad(oDataScriptObject,bCheckNAN,bCheckTransmitter,bCheckRange) -'gsh_log_s("GSH_FP_SCADA_IsDataBad " & "oDataScriptObject=" & oDataScriptObject.ID) -on error resume next - Dim bPVInError, bInUnreasonablyLowAlarm, bInUnreasonablyHighAlarm, bInTransmitterLowAlarm, bInTransmitterHighAlarm - bPVInError = false - bInUnreasonablyLowAlarm = false - bInUnreasonablyHighAlarm = false - bInTransmitterLowAlarm = false - bInTransmitterHighAlarm = false - if bCheckNAN then - if (oDataScriptObject.DataValue(GSH_SDR_CURRENTPOINT&"."&GSH_SCADA_PARAM_PVINERROR)<> 0) then : bPVInError = true: end if - end if - if bCheckTransmitter then - 'bInTransmitterLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_SCADA_PARAM_INTRANSMITTERLOWALARM)) - 'bInTransmitterHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_SCADA_PARAM_INTRANSMITTERHIGHALARM)) - end if - if bCheckRange then - 'bInUnreasonablyLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_SCADA_PARAM_INUNREASONABLYLOWALARM)) - 'bInUnreasonablyHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_SCADA_PARAM_INUNREASONABLYHIGHALARM)) - end if - bAllTests = ( bPVInError or bInUnreasonablyLowAlarm or bInUnreasonablyHighAlarm or bInTransmitterLowAlarm or bInTransmitterHighAlarm ) -GSH_FP_SCADA_IsDataBad = bAllTests -'gsh_log_e("GSH_FP_SCADA_IsDataBad returning " & bAllTests ) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Compare Highest Alarm Priority '''''''''''''''''''''''''''''' -'Parameters: -' iAlarmCode1 = Alarm Code 1 -' iAlarmCode2 = Alarm Code 2 -'Returns: Alarm Code = GSH_ACKLOW, GSH_ACKHIGH, GSH_ACKEMERG, -' GSH_UNACKLOW, GSH_UNACKHIGH, GSH_UNACKEMERG, GSH_NOALARMCODE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_COMPAREHIGHESTALARMPRIORITY(iAlarmCode1, iAlarmCode2) -'gsh_log_s("GSH_COMPAREHIGHESTALARMPRIORITY iAlarmCode1=" & iAlarmCode1 & ", iAlarmCode2=" & iAlarmCode2) -on error resume next - -Dim iAlarmCode - - iAlarmCode = GSH_NOALARMCODE - - if ((iAlarmCode1 = GSH_UNACKEMERG) or (iAlarmCode2 = GSH_UNACKEMERG)) then - iAlarmCode = GSH_UNACKEMERG - elseif ((iAlarmCode1 = GSH_UNACKHIGH) or (iAlarmCode2 = GSH_UNACKHIGH)) then - iAlarmCode = GSH_UNACKHIGH - elseif ((iAlarmCode1 = GSH_UNACKLOW) or (iAlarmCode2 = GSH_UNACKLOW)) then - iAlarmCode = GSH_UNACKLOW - elseif ((iAlarmCode1 = GSH_ACKEMERG) or (iAlarmCode2 = GSH_ACKEMERG)) then - iAlarmCode = GSH_ACKEMERG - elseif ((iAlarmCode1 = GSH_ACKHIGH) or (iAlarmCode2 = GSH_ACKHIGH)) then - iAlarmCode = GSH_ACKHIGH - elseif((iAlarmCode1 = GSH_ACKLOW) or (iAlarmCode2 = GSH_ACKLOW)) then - iAlarmCode = GSH_ACKLOW - end if - - - GSH_COMPAREHIGHESTALARMPRIORITY = iAlarmCode -'gsh_log_e("GSH_COMPAREHIGHESTALARMPRIORITY returing " & iAlarmCode) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Get Highest Alarm Priority '''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = data bound object within an HCS shape -'Returns: Alarm Code = GSH_ACKLOW, GSH_ACKHIGH, GSH_ACKEMERG, -' GSH_UNACKLOW, GSH_UNACKHIGH, GSH_UNACKEMERG, GSH_NOALARMCODE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETHIGHESTALARMPRIORITY(oDataBoundObject) -'gsh_log_s("GSH_GETHIGHESTALARMPRIORITY oDataBoundObject=" & oDataBoundObject.id) -on error resume next - -Dim iAlarmCode - - iAlarmCode = GSH_GETHIGHESTALARMPRIORITYPARAMETER(oDataBoundObject, GSH_CPENTITY) - GSH_GETHIGHESTALARMPRIORITY = iAlarmCode -'gsh_log_e("GSH_GETHIGHESTALARMPRIORITY returing " & iAlarmCode) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'TODO: hardcoded to fix. -'Function: Get Highest Alarm Priority Parameter''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = data bound object within an HCS shape -' paraName - Script Data parameter Name -'Returns: Alarm Code = GSH_ACKLOW, GSH_ACKHIGH, GSH_ACKEMERG, -' GSH_UNACKLOW, GSH_UNACKHIGH, GSH_UNACKEMERG, GSH_NOALARMCODE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETHIGHESTALARMPRIORITYPARAMETER(oDataBoundObject, pointName) -'gsh_log_s("GSH_GETHIGHESTALARMPRIORITYPARAMETER oDataBoundObject=" & oDataBoundObject.id & ", pointName=" & pointName) -on error resume next - Dim iAlarmCode, iAlarmSeverity, iUnackAlarmExists - iUnackAlarmExists = 0 - iAlarmSeverity = 0 - - '0 = no, 1 = low, 2= high, 3= urgent - iAlarmSeverity = oDataBoundObject.AlarmSeverity(pointName & "." & GSH_CPPARAM_PV) - - if oDataBoundObject.UnacknowledgedAlarm(pointName & "." & GSH_CPPARAM_PV) then - iUnackAlarmExists = 1 - else - iUnackAlarmExists = 0 - end if - iAlarmCode = GSH_NOALARMCODE - -' gsh_log "GSH_GETHIGHESTALARMPRIORITYPARAMETER error Alarm Severity = " & iAlarmSeverity & ", Unacknowledged Alarm = " & oDataBoundObject.UnacknowledgedAlarm(pointName & "." & GSH_CPPARAM_PV) - - select case(2*iAlarmSeverity+iUnackAlarmExists) - case 0 - iAlarmCode = GSH_NOALARMCODE - case 1 - iAlarmCode = GSH_NOALARMCODE - case 2 - iAlarmCode = GSH_ACKLOW - case 3 - iAlarmCode = GSH_UNACKLOW - case 4 - iAlarmCode = GSH_ACKHIGH - case 5 - iAlarmCode = GSH_UNACKHIGH - case 6 - iAlarmCode = GSH_ACKEMERG - case 7 - iAlarmCode = GSH_UNACKEMERG - case else - 'gsh_log "GSH_GETHIGHESTALARMPRIORITYPARAMETER error Alarm Severity = " & iAlarmSeverity & ", Unacknowledged Alarm = " & oDataBoundObject.UnacknowledgedAlarm(pointName & "." & GSH_CPPARAM_PV) - end select - 'return alarm code - GSH_GETHIGHESTALARMPRIORITYPARAMETER = iAlarmCode -'gsh_log "GSH_GETHIGHESTALARMPRIORITYPARAMETER info Alarm Severity = " & iAlarmSeverity & ", Unacknowledged Alarm = " & oDataBoundObject.UnacknowledgedAlarm(pointName & "." & GSH_CPPARAM_PV) -'gsh_log_e("GSH_GETHIGHESTALARMPRIORITYPARAMETER returing " & iAlarmCode) -end function - - - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_GETHIGHESTALARMPRIORITY_OP '''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = data bound object within an HCS shape -'Returns: Alarm Code = GSH_ACKLOW, GSH_ACKHIGH, GSH_ACKEMERG, -' GSH_UNACKLOW, GSH_UNACKHIGH, GSH_UNACKEMERG, GSH_NOALARMCODE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETHIGHESTALARMPRIORITY_OP(oDataBoundObject) -'gsh_log_s("GSH_GETHIGHESTALARMPRIORITY_OP oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim iAlarmCode - iAlarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oDataBoundObject, GSH_CPENTITY, GSH_CPPARAM_OP) - GSH_GETHIGHESTALARMPRIORITY_OP = iAlarmCode -'gsh_log_e("GSH_GETHIGHESTALARMPRIORITY_OP returing " & iAlarmCode) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = data bound object within an HCS shape -' paraName - Script Data parameter Name -'Returns: Alarm Code = GSH_ACKLOW, GSH_ACKHIGH, GSH_ACKEMERG, -' GSH_UNACKLOW, GSH_UNACKHIGH, GSH_UNACKEMERG, GSH_NOALARMCODE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oDataBoundObject, pointName, parameter) -'gsh_log_s("GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER oDataBoundObject=" & oDataBoundObject.id & ", paraName=" & pointName & "." ¶meter) -on error resume next - Dim iAlarmCode, iAlarmSeverity, iUnackAlarmExists - '0 = no, 1 = low, 2= high, 3= urgent - - iAlarmSeverity = oDataBoundObject.AlarmSeverity(pointName & "." & parameter) - - if oDataBoundObject.UnacknowledgedAlarm(pointName & "." & parameter) then - iUnackAlarmExists = 1 - else - iUnackAlarmExists = 0 - end if - iAlarmCode = GSH_NOALARMCODE - - select case(2*iAlarmSeverity+iUnackAlarmExists) - case 0 - iAlarmCode = GSH_NOALARMCODE - case 1 - iAlarmCode = GSH_NOALARMCODE - case 2 - iAlarmCode = GSH_ACKLOW - case 3 - iAlarmCode = GSH_UNACKLOW - case 4 - iAlarmCode = GSH_ACKHIGH - case 5 - iAlarmCode = GSH_UNACKHIGH - case 6 - iAlarmCode = GSH_ACKEMERG - case 7 - iAlarmCode = GSH_UNACKEMERG - case else - - end select - 'return alarm code -' gsh_log "GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER info Alarm Severity = " & iAlarmSeverity & ", Unacknowledged Alarm = " & oDataBoundObject.UnacknowledgedAlarm(pointName & "." & parameter) -' gsh_log_e("GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER returing " & iAlarmCode) - - GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER = iAlarmCode -end function - -function GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oDataBoundObject, pointName, parameter) -'gsh_log_s("GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER oDataBoundObject=" & oDataBoundObject.id & ", paraName=" & pointName & "." ¶meter) -on error resume next - Dim iAlarmCode, iAlarmPriority, iUnackAlarmExists - '0 = no, 1 = low, 2= high, 3= urgent - - iAlarmPriority = oDataBoundObject.DataValue(pointName & "." & parameter) - - if oDataBoundObject.UnacknowledgedAlarm(pointName & "." & parameter) then - iUnackAlarmExists = 1 - else - iUnackAlarmExists = 0 - end if - iAlarmCode = GSH_NOALARMCODE - - select case(2*iAlarmPriority+iUnackAlarmExists) - case 0 - iAlarmCode = GSH_NOALARMCODE - case 1 - iAlarmCode = GSH_NOALARMCODE - case 2 - iAlarmCode = GSH_ACKLOW - case 3 - iAlarmCode = GSH_UNACKLOW - case 4 - iAlarmCode = GSH_ACKHIGH - case 5 - iAlarmCode = GSH_UNACKHIGH - case 6 - iAlarmCode = GSH_ACKEMERG - case 7 - iAlarmCode = GSH_UNACKEMERG - case else -' gsh_log "GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER error Alarm Severity = " & iAlarmSeverity & ", Unacknowledged Alarm = " & oDataBoundObject.UnacknowledgedAlarm(pointName & "." & parameter) - end select - 'return alarm code - 'gsh_log "GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER info iAlarmPriority = " & iAlarmPriority & ", Unacknowledged Alarm = " &iUnackAlarmExists - - GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER = iAlarmCode -'gsh_log_e("GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER returing " & iAlarmCode) -end function - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Get Point PVSource ''''''''' '''''''''''''''''''''''''''''''''' -'Parameters: -' oShape - data bound object within an HCS Shape -'Returns: GSH_AUTO, GSH_MAN -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'return: GSH_AUTO, GSH_MAN -'Might be able to OMIT! -function GSH_GET_POINT_PVSOURCE(oDataBoundObject) -'gsh_log_s("GSH_GET_POINT_PVSOURCE " & "oDataBoundObject=" & oDataBoundObject.id) -on error resume next - dim tempReturn - Select Case GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject,GSH_CPVALUE,GSH_CPPOINTTYPE) - Case GSH_CPPOINTTYPE_SCADA - select case oDataBoundObject.DataValue(GSH_CPENTITY&"."&GSH_SCADA_PARAM_PVSOURCE) - case 0 - tempReturn = GSH_MAN - case 1 - tempReturn = GSH_AUTO - case else - tempReturn = GSH_AUTO 'Default - end select - Case GSH_CPPOINTTYPE_TPN - select case oDataBoundObject.DataValue(GSH_CPENTITY&"."&GSH_TPN_PARAM_PVSOURCE) - case 0 - tempReturn = GSH_MAN - case 1 - tempReturn = GSH_AUTO - case else - tempReturn = GSH_AUTO 'Default - end select - Case GSH_CPPOINTTYPE_C200 - tempReturn = GSH_NONE - CASE GSH_CPPOINTTYPE_C300 - tempReturn = GSH_NONE - End Select - GSH_GET_POINT_PVSOURCE = tempReturn -'gsh_log_e("GSH_GET_POINT_PVSOURCE returning >>>"&tempReturn&"<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Format Decimal Points''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject - data bound alphanumeric of HCS shape -'Returns: -' variant of formatted text to correct decimal places -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FORMATDECIMALPOINTS(oDataBoundObject) -'gsh_log_s("GSH_FORMATDECIMALPOINTS " & "oDataBoundObject=" & oDataBoundObject.id) -on error resume next - dim temp - temp = Right(GSH_READTAGINFORMATIONKEYVALUE(oDataBoundObject.parentElement.parentElement.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - oDataBoundObject.numericDisplayFormat = "%." & Right(GSH_READTAGINFORMATIONKEYVALUE(oDataBoundObject.parentElement.parentElement.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) & "f" -'gsh_log_e("GSH_FORMATDECIMALPOINTS decimal points=" & temp) -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Format State Descriptor''''''''''''''''''''''''''''''''''''''' -'Parameters: stateValue - Value -'Returns: State value with 1st letter upper case and rest lowercase -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_FORMATSTATEDESCRIPTOR(sValue) -'gsh_log_s("GSH_FORMATSTATEDESCRIPTOR " & "sValue= " & sValue) -on error resume next - Dim formatValue - formatValue = Ucase(Left(sValue, 1)) & LCase(Right(sValue, len(sValue) - 1)) - GSH_FORMATSTATEDESCRIPTOR = formatValue -'gsh_log_e("GSH_FORMATSTATEDESCRIPTOR returns "& formatValue) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Get Parameter Value -'Parameters: -' oDataBoundObject - HCS Shape with Entity (of type Point)Custom Property and Scripted Data tab -' enabled with parameters of entity (point) -' pointName - Name of the point -' pointParameter - parameter of point (must be set up in scripted data tab -'Returns: -' DataValue of pointName.pointParameter from Experion point database -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETPARAMETERVALUE(oDataBoundObject, pointName, pointParameter) -'gsh_log_s("GSH_GETPARAMETERVALUE " & "oDataBoundObject=" & oDataBoundObject.id & ",pointName=" & pointName & ",pointParameter=" & pointParameter) - Dim tempReturn -' gsh_log("GSH_GETPARAMETERVALUE>>" & oDataBoundObject.DataValue(pointName&"."&pointParameter)) - tempReturn = oDataBoundObject.DataValue(pointName&"."&pointParameter) - GSH_GETPARAMETERVALUE = tempReturn -'gsh_log_e("GSH_GETPARAMETERVALUE returning >>>" & tempReturn&"<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: Get Entity Parameter Value -'Parameters: -' oDataBoundObject - HCS Shape with Entity (of type Point) Custom Property and Scripted Data tab -' enabled with parameters of entity (point) -' parameter - parameter of point (must be set up in scripted data tab -'Returns: -' DataValue of GSH_CPENTITY("Entity").parameter from Experion point database -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,parameter) -'gsh_log_s("GSH_GETENTITYPARAMETERVALUE " & "oDataBoundObject=" & oDataBoundObject.id & ",parameter=" & parameter) - Dim tempReturn -' gsh_log("GSH_GETENTITYPARAMETERVALUE>>" & oDataBoundObject.DataValue(GSH_CPENTITY&"."¶meter)) - - tempReturn = oDataBoundObject.DataValue(GSH_CPENTITY&"."¶meter) - If (StrComp(tempReturn,"1.#QNAN",vbTextCompare)=0) then - tempReturn = GSH_BADPV_TEXT - end If - - GSH_GETENTITYPARAMETERVALUE = tempReturn -'gsh_log_e("GSH_GETENTITYPARAMETERVALUE returning >>>" & tempReturn&"<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: Show High Alarm -' sets the common High Alarm behaviour of HCS Shapes by using CSS -'Parameters: -' oShape - HCS Shape with 'shp_outline (object) with internal object named 'outline' -' shp_EAlarm, shp_HAlarm, shp_LAlarm -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHOWHIGHALARM(oShape,unAcknowledged) -'gsh_log_s("GSH_SHOWHIGHALARM oShape=" & oShape.id & ",unAcknowledged=" & cstr(unAcknowledged)) -on error resume next - oShape.objects("outline").style.visibility = GSH_VISIBLE -' oShape.objects("outlinestatic").style.visibility = GSH_VISIBLE - oShape.objects("txt_HAlarm").style.visibility = GSH_VISIBLE - oShape.objects("rec_HAlarm").style.visibility = GSH_VISIBLE - if unAcknowledged then oShape.objects("outline").styleClass = GSH_CSSALARMHIGHUNACK else oShape.objects("outline").styleClass = GSH_CSSALARMHIGHACK end if - oShape.objects("txt_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ovl_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("plg_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_EAlarm").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_SHOWHIGHALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: Show Low Alarm -' sets the common Low Alarm behaviour of HCS Shapes by using CSS -'Parameters: -' oShape - HCS Shape with 'shp_outline (object) with internal object named 'outline' -' shp_EAlarm, shp_HAlarm, shp_LAlarm -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHOWLOWALARM(oShape,unAcknowledged) -'gsh_log_s("GSH_SHOWLOWALARM oShape=" & oShape.id & ",unAcknowledged=" & cstr(unAcknowledged)) -on error resume next - - oShape.objects("txt_LAlarm").style.visibility = GSH_VISIBLE - oShape.objects("ovl_LAlarm").style.visibility = GSH_VISIBLE - if unAcknowledged then oShape.objects("outline").styleClass = GSH_CSSALARMLOWUNACK else oShape.objects("outline").styleClass = GSH_CSSALARMLOWACK end if - oShape.objects("txt_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("rec_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("plg_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("outline").style.visibility = GSH_VISIBLE -' oShape.objects("outlinestatic").style.visibility = GSH_VISIBLE - -'gsh_log_e("GSH_SHOWLOWALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: Show Emergency Alarm -' sets the common Emergency Alarm behaviour of HCS Shapes by using CSS -'Parameters: -' oShape - HCS Shape with 'shp_outline (object) with internal object named 'outline' -' shp_EAlarm, shp_HAlarm, shp_LAlarm -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHOWEMERGENCYALARM(oShape,unAcknowledged) -'gsh_log_s("GSH_SHOWEMERGENCYALARM oShape=" & oShape.id & ",unAcknowledged=" & cstr(unAcknowledged)) -on error resume next - oShape.objects("outline").style.visibility = GSH_VISIBLE -' oShape.objects("outlinestatic").style.visibility = GSH_VISIBLE - oShape.objects("txt_EAlarm").style.visibility = GSH_VISIBLE - oShape.objects("plg_EAlarm").style.visibility = GSH_VISIBLE - if unAcknowledged then oShape.objects("outline").styleClass = GSH_CSSALARMEMERGENCYUNACK else oShape.objects("outline").styleClass = GSH_CSSALARMEMERGENCYACK end if - oShape.objects("txt_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("rec_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ovl_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_LAlarm").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_SHOWEMERGENCYALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: Show No Alarm -' sets the common Alarm objects to not visible when point is not in alarm. -'Parameters: -' oShape - HCS Shape with 'shp_outline (object) with internal object named 'outline' -' shp_EAlarm, shp_HAlarm, shp_LAlarm -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHOWNOALARM(oShape) -'gsh_log_s("GSH_SHOWNOALARM oShape=" & oShape.id) -on error resume next - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("outline").styleClass = GSH_CSSALARMNONE -' oShape.objects("outlinestatic").style.visibility = GSH_HIDDEN - oShape.objects("txt_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("plg_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("rec_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ovl_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_LAlarm").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_SHOWNOALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'INIT DISPLAY '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_INITDISPLAY(DisplayType, sT2FileName, sT3FileName, sT4FileName, displayObject) -on error resume next -'gsh_log_s("GSH_INITDISPLAY " & "DisplayType=" & DisplayType & ",sT2FileName=" & sT2FileName & ",sT3FileName=" & sT3FileName & ",sT4FileName=" & sT4FileName & ",displayObject=" & displayObject.id) - Dim sDisplayLocation - Dim sTemp - Dim sUseT4Default - sDisplayLocation = GSH_READDISPLAYNAMES(GSH_DISPLAYDEFAULT_LOC) - Select Case DisplayType - Case 2 - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_T2FN,sT2FileName - Case 3 - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_T3FN,sT3FileName - GSH_WRITEDISPLAYINFORMATION sT2FileName, GSH_REGKEY_PRIORT3, sT3FileName - -''' was commented out 1June08 - but lost the right click to level 4n from tabs - JE - sUseT4Default = GSH_READDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_USET4,"NO") - If sUseT4Default = "YES" And sT4FileName <> "" Then - sTemp = sDisplayLocation & sT4FileName & GSH_DISPLAYFILEEXTENSION - 'GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_T4FN,sT4FileName - - 'Sept 12, 2008 - use window.external.CurrentPage instread of using safeview (CL) - 'because the safeview's function SetFocus does not work. - 'window.navigate call does not work either as it will display L4 on L3 place. - window.external.CurrentPage = sTemp - 'GSH_INVOKEDISPLAY GSH_SVIEW_TYPE4,sTemp - 'window.navigate(sTemp) - - - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_USET4,"NO" - End If -'' to here - Case 4 - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_T4FN,sT4FileName - GSH_WRITEDISPLAYINFORMATION sT2FileName, GSH_REGKEY_PRIORT4, sT4FileName - End Select - g_PageCurrentFocusTag = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_FOCUSTAG,"") - g_PageShapesInit = 1 - - g_PageLoadTimerID=window.setTimeout("g_PageLoadCompleted = true",1500/DisplayType) -'gsh_log_e("GSH_INITDISPLAY DisplayType=" & DisplayType) -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'INIT Faceplate ''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_INITFACEPLATE(sFaceplateFileName, displayObject) -'gsh_log_s("GSH_INITFACEPLATE " & "sFaceplateFileName=" & sFaceplateFileName & ",displayObject=" & displayObject.id) -on error resume next - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_FacePlateFN,sFaceplateFileName - txt_Description.value = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_REGKEY_DESCR, defaultString) - txt_Keyword.value = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_REGKEY_KEYWORD, defaultString) - txt_Units.value = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_REGKEY_UNITS, defaultString) - txt_alarmlim1.value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_ALARMLIM1) - txt_alarmlim2.value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_ALARMLIM2) - txt_alarmlim3.value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_ALARMLIM3) - txt_alarmlim4.value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_ALARMLIM4) - txt_euhi.value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_EUHI) - txt_eulo.value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_EULO) - -'Setup Alarm Limits -call showAlarmLimits - - call FP_RetrieveRegistryValues - call GSH_DetailTrendInitialize(ConAlpTagname.value) - call GSH_STARTDETAILTRENDTIMER(ConAlpTagname) -'gsh_log_e("GSH_INITFACEPLATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_INVOKEDISPLAY -'Use this function to open a URL in a specified Safeview Window -'sWindowType = SafeView Window Type -'sURL = URL of the Display -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_INVOKEDISPLAY (sWindowType, sURL) -'gsh_log_s("GSH_INVOKEDISPLAY sWindowType="&sWindowType&", sURL="&sURL) - dim sview - set sview = GetObject("" ,"Honeywell.Workspace.Client") - If sview.IsManagerActive = true then - 'dim bResult - 'bResult = sview.SetOutputFocus(sWindowType) - 'Sept12,2008 - Comment out because bResult is alway false (CL) - 'gsh_log("SetOutputFocus result "&bResult) - 'if bResult then - ' window.external.CurrentPage = sURL - 'end if - End if - window.external.CurrentPage = sURL - 'window.navigate(sURL) - set sview = nothing -'gsh_log_e("GSH_INVOKEDISPLAY") -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_UPDATESHAPESONDISPLAY -' This function fires the focus.onupdate event for all shapes' on the page -' It is called from the GSH_ONSHAPECLICKEVENTHANDLER on the page level -'***Assumes that the shape structure contains an object called -'*** focus -'sURL = URL of the Display -'06/07/07 removed check for shapename; now shapes can be renamed on the display -'06/07/07 use rec_datascript.onupdate instead of focus.update because it's -' still performant and has consistent updates for all shapes e.g. valves and levels -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_UPDATESHAPESONDISPLAY (sURL) -'gsh_log_s("GSH_UPDATESHAPESONDISPLAY sURL="&sURL) - -on error resume next - -Dim tempShape - For k=0 To (window.external.Page.children.length - 1) - set tempShape = window.external.Page.children(k).Objects("focus") -' set tempShape = window.external.Page.children(k).Objects("rec_datascript") - if tempShape then - tempShape.onupdate - end if - Next -set tempShape = nothing -'gsh_log_e("GSH_UPDATESHAPESONDISPLAY Focus SuppressedOnPgInit sURL="&sURL) -end sub - -' -'-------------------------------------END SHAPE GENERAL----------------------------------------------' -' - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' GSH_UPDATETAGNAMELABELONDISPLAY -' Updates the state of the TagNameLabel shape based on TagNameLabelVisible flag -' in the StationDataRespository -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_UPDATETAGNAMELABELONDISPLAY (sURL) -'gsh_log_s("GSH_UPDATETAGNAMELABELONDISPLAY sURL="&sURL) -on error resume next -Dim tempShape - For k=0 To (window.external.Page.children.length - 1) - set tempShape = window.external.Page.children(k).Objects("TagNameLabel_Script") - if tempShape then - tempShape.onupdate - end if - Next -set tempShape = nothing -'gsh_log_e("GSH_UPDATETAGNAMELABELONDISPLAY sURL="&sURL) -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' GSH_UPDATE_OPDEVMON_ONDISPLAY -' Updates the state of the OPDevMonitor shapes -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_UPDATE_OPDEVMON_ONDISPLAY (sURL) -'gsh_log_s("GSH_UPDATE_OPDEVMON_ONDISPLAY sURL="&sURL) -on error resume next -Dim tempShape - For k=0 To (window.external.Page.children.length - 1) - set tempShape = window.external.Page.children(k).Objects("OPDevMonitor_Script") - if tempShape then - tempShape.onupdate - end if - Next -set tempShape = nothing -'gsh_log_e("GSH_UPDATE_OPDEVMON_ONDISPLAY sURL="&sURL) -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' GSH_UPDATEPAGELINKONDISPLAY -' Updates the state of the GEN_PageLink shape based on PageLinkAlarmGroup -' in the Registry -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_UPDATEPAGELINKONDISPLAY (sURL) -'gsh_log_s("GSH_UPDATEPAGELINKONDISPLAY sURL="&sURL) -on error resume next -Dim tempShape - For k=0 To (window.external.Page.children.length - 1) - set tempShape = window.external.Page.children(k).Objects("PageLink_Script") - if tempShape then - tempShape.onupdate - end if - Next -set tempShape = nothing -'gsh_log_e("GSH_UPDATEPAGELINKONDISPLAY sURL="&sURL) -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GETDEMANDTREND''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sSection - registry section -' sKey - registry subkey -' sDefaultString - Default string if error of nothing found -'Returns: -' String, value of specified Demand\Trend subkey -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETDEMANDTREND(strSection,strKey,defaultString) -'gsh_log_s("GSH_GETDEMANDTREND " & "strSection=" & strSection & ",strKey=" & strKey & ",defaultString=" & defaultString ) -on error resume next - dim strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_DEMANDTRD & strSection & "\" & strKey - tempReturn = GSH_READREGISTRY(strRegLocation,defaultString) - GSH_GETDEMANDTREND = tempReturn -'gsh_log_e("GSH_GETDEMANDTREND returning " & tempReturn) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SETDEMANDTREND''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sSection - registry section -' sKey - registry subkey -' sDefaultString - Default string if error of nothing found -'Returns: -' String, value of specified Demand\Trend subkey -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETDEMANDTREND(strSection,strKey,strValue) -'gsh_log_s("GSH_SETDEMANDTREND " & "strSection=" & strSection & ",strKey=" & strKey & ",strValue=" & strValue ) -on error resume next - dim strRegLocation - strRegLocation = GSH_REGISTRY_DEMANDTRD & strSection & "\"& strKey -' 'gsh_log("GSH_SETDEMANDTREND checkPoint strRegLocation=" & strRegLocation) - GSH_WRITETOREGISTRY strRegLocation,strValue,"REG_SZ" -'gsh_log_e("GSH_SETDEMANDTREND") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SETANYTREND''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sTrendApp - trend application name -' sSection - registry section -' sKey - registry subkey -' sDefaultString - Default string if error of nothing found -'Returns: -' String, value of specified Demand\Trend subkey -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETANYTREND(strTrendApp,strSection,strKey,strValue) -'gsh_log_s("GSH_SETANYTREND " & "strTrendApp=" & strTrendApp & ", strSection=" & strSection & ", strKey=" & strKey & ", strValue=" & strValue ) -on error resume next - dim strRegLocation - strRegLocation = GSH_REGISTRY_OPERATORTREND & "\" & strTrendApp & "\" & strSection & "\"& strKey -' gsh_log("GSH_SETANYTREND checkPoint strRegLocation=" & strRegLocation) - GSH_WRITETOREGISTRY strRegLocation,strValue,"REG_SZ" -'gsh_log_e("GSH_SETANYTREND") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GETMENUCONFIG''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sKey - registry subkey -' sDefaultString - Default string if error of nothing found -'Returns: -' String, value of specified MenuConfig subkey -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETMENUCONFIG(strKey,defaultString) -'gsh_log_s("GSH_GETMENUCONFIG " & "strKey=" & strKey & ",defaultString=" & defaultString ) -on error resume next - dim strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_MENUCONFIG & strKey - 'gsh_log("GSH_GETMENUCONFIG checkPoint strRegLocation=" & strRegLocation) - tempReturn = GSH_READREGISTRY(strRegLocation,defaultString) - GSH_GETMENUCONFIG = tempReturn -'gsh_log_e("GSH_GETMENUCONFIG returning & " & tempReturn) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GETMENUCONFIG_EQUIPMENT''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sKey - registry subkey -' sDefaultString - Default string if error of nothing found -'Returns: -' String, value of specified MenuConfig subkey -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETMENUCONFIG_EQUIPMENT(strKey,defaultString) -'gsh_log_s("GSH_GETMENUCONFIG_EQUIPMENT " & "strKey=" & strKey & ",defaultString=" & defaultString ) -on error resume next - dim strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_MENUCONFIG_EQUIPMENT & strKey -' gsh_log("GSH_GETMENUCONFIG_EQUIPMENT checkPoint strRegLocation=" & strRegLocation) - tempReturn = GSH_READREGISTRY(strRegLocation,defaultString) - GSH_GETMENUCONFIG_EQUIPMENT = tempReturn -'gsh_log_e("GSH_GETMENUCONFIG_EQUIPMENT returning " & tempReturn) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_RIGHTCLICK '''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_RIGHTCLICK(oDataBoundObject) -'gsh_log_s("GSH_RIGHTCLICK " & "oDataBoundObject=" & oDataBoundObject) -Dim sTagName - sTagName = oDataBoundObject.getCustomProperty("point","Entity") - call GSH_RIGHTCLICKTAGNAME(oDataBoundObject, sTagName) -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_RIGHTCLICKTAGNAME ''''''''''''''''''''''''''''''''''''''''''''''''' -'06/01/07 Added sTagNameHDA from the TagInformation because the Historian names do not match the tagname -'06/01/07 parse out the function block for storing the itemAlias -'08/21/2008 (CL) Add a check to determine if we should use shortname for HDA Item path in order to work with Sasol PHD historian interface (Issue#21) -'10/06/2008 (CL) Add writing value of tag euhigh and eulow to trend range high and trend range low to allow the trend use -' the range from registry when the range is not available from the historian -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_RIGHTCLICKTAGNAME(oDataBoundObject, sTagName) -'gsh_log_s("GSH_RIGHTCLICKTAGNAME " & "oDataBoundObject=" & oDataBoundObject & " sTagName=" & sTagName) -Dim DispStr(), asCommandStr(), asTrendParams(),asDeleteParams(8), asTraceNames(8), asStepped(8),asPVFormat(8), asActive(8), asTrendParamShort(8), asEUHIGH(8), asEULOW(8) -Dim nRetVal,nNumTrendParams, nNumCommands, nCount, nIndex, nAddIndex, nDeleteIndex, nCommandIndex, nCancelIndex, istrLen, iPosition -Dim nNumTrends, vTrendAvail, sParseStr, sTemp, nActiveCount, sPathPrefix, sPVFormat, sTagNameAlias, sPVeuhigh, sPVeulow - 'Check Registry for Tag Name Alias - sTagNameAlias = GSH_READTAGINFORMATIONKEYVALUE(sTagName, GSH_REGKEY_TAGNAME_ALIAS, sTagName) - nIndex = 0 - nNumTrends = 8 - nNumTrendParams = GSH_READTAGINFORMATIONKEYVALUE(sTagName, "NoOfTrendingParams", 0) - nNumCommands = GSH_GETMENUCONFIG(GSH_REGKEY_NUMCMDS, 0) - sPVFormat = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT) - sPathPrefix = GSH_GETDEMANDTREND (GSH_REGISTRY_SETTINGS,GSH_REGKEY_PATHPREFIX, "") - - '10/06/2008 CL - sPVeuhigh = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_EUHIGH, 0) - sPVeulow = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_EULOW, 0) - - If nNumTrendParams > 0 Then - ReDim asTrendParams(nNumTrendParams-1) - End If - - If nNumCommands > 0 Then - ReDim asCommandStr(nNumCommands-1) - End If - - nActiveCount = 0 - For nCount = 1 To nNumTrends Step 1 - asTraceNames(nCount) = GSH_GETDEMANDTREND (GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, "") - asActive(nCount) = GSH_GETDEMANDTREND (GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, "OFF") - asDeleteParams(nCount) = "" - If asActive(nCount) <> "OFF" Then - nActiveCount = nActiveCount + 1 - asDeleteParams(nCount) = asTraceNames(nCount) - End If - Next - - If (nNumTrendParams > 0) Then - For nCount = 1 To nNumTrendParams Step 1 - asTrendParams(nCount-1) = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TRENDPARAM & nCount, "") - istrLen = len(asTrendParams(nCount-1)) - iPosition= Instr(1, asTrendParams(nCount-1) , ".",vbtextcompare) - asTrendParamShort(nCount-1) = right(asTrendParams(nCount-1), istrLen - iPosition) - asStepped(nCount) = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TRENDSTEPPED & nCount, "OFF") - Select Case asTrendParamShort(nCount-1) -' Select Case asTrendParams(nCount-1) - Case "PV" - asPVFormat(nCount) = sPVFormat - - '10/06/2008 CL - asEUHIGH(nCount) = sPVeuhigh - asEULOW(nCount) = sPVeulow - Case "SP" - asPVFormat(nCount) = sPVFormat - asEUHIGH(nCount) = sPVeuhigh - asEULOW(nCount) = sPVeulow - Case "OP" - asPVFormat(nCount) = "D1" - asEUHIGH(nCount) = 106.9 - asEULOW(nCount) = -6.9 - Case Else - asPVFormat(nCount) = "D1" - asEUHIGH(nCount) = 100 - asEULOW(nCount) = 0 - End Select - Next - End If - - If (nNumCommands > 0) Then - For nCount = 1 To nNumCommands Step 1 - asCommandStr(nCount-1) = GSH_GETMENUCONFIG(GSH_REGKEY_CMDSTR & nCount, "") - Next - End If - - dim tempNumber - tempNumber = nNumTrendParams + 5 + nNumCommands + nActiveCount - - ReDim DispStr(tempNumber) - DispStr(nIndex) = "Tag : " & sTagNameAlias - nIndex = nIndex + 1 - DispStr(nIndex) = "" - nIndex = nIndex + 1 - If (nNumTrendParams > 0) Then - nAddIndex = nIndex - For nCount = 0 To UBound(asTrendParams) Step 1 - DispStr(nIndex) = "Add Trace " & sTagNameAlias & "." & asTrendParams(nCount) - nIndex = nIndex + 1 - Next - End If - If (nActiveCount > 0) Then - DispStr(nIndex) = "" - nIndex = nIndex + 1 - nDeleteIndex = nIndex - For nCount = 1 To nNumTrends Step 1 - If asDeleteParams(nCount) <> "" Then - DispStr(nIndex) = "Delete Trace " & asDeleteParams(nCount) - nIndex = nIndex + 1 - End If - Next - DispStr(nIndex) = "" - nIndex = nIndex + 1 - Else - DispStr(nIndex) = "" - nIndex = nIndex + 1 - End If - If (nNumCommands > 0) Then - nCommandIndex = nIndex - For nCount = 0 To UBound(asCommandStr) Step 1 - DispStr(nIndex) = asCommandStr(nCount) - nIndex = nIndex + 1 - Next - End If - nCancelIndex = nIndex - - If nNumCommands = 0 Then - nCommandIndex = nCancelIndex - End If - - 'CallAgain: - nRetVal = 0 - do while nRetVal = 0 - - Dim ArrMenu ' As ArrPopupMenuX - Set ArrMenu = CreateObject("ArrPopupMenuXControl.ArrPopupMenuX") - ArrMenu.ShowMenuArr DispStr - nRetVal = ArrMenu.Item - If nActiveCount = 0 Then 'added this to handle case when all traces are inactive - nDeleteIndex = nAddIndex + nNumTrendParams - End If - loop - Set ArrMenu = Nothing - Dim sOPC1_PathPrefix,sOPC2_PathPrefix, sTagNameHDA, bUseShortNameForHDA - sOPC1_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY1PREFIX,"") - sOPC2_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY2PREFIX,"") - bUseShortNameForHDA = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_USESHORTNAME_FOR_HDAPATH,"") - - If ((nRetVal >= nAddIndex) And (nRetVal < nDeleteIndex)) Then - For nCount = 1 To nNumTrends Step 1 - If asActive(nCount) = GSH_OFF Then - sTagNameHDA = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TAGNAMEHDA, sTagName) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, sTagNameAlias & "." & asTrendParamShort(nRetVal - nAddIndex) - - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPCITEMPATH, sOPC1_PathPrefix & sTagName & "." & asTrendParams(nRetVal - nAddIndex) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPC2ITEMPATH, sOPC2_PathPrefix & sTagName & "." & asTrendParams(nRetVal - nAddIndex) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, GSH_ON - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TRENDSTEPPED, asStepped(nRetVal - nAddIndex + 1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_PVFORMATKEY, asPVFormat(nRetVal - nAddIndex + 1) - - 'Added 10/06/2008 (CL) add to allows trend to use range from registry if they are not available from historian - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_HIGH, asEUHIGH(nRetVal - nAddIndex + 1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_LOW, asEULOW(nRetVal - nAddIndex + 1) - - 'Added 08/21/2008 (CL) to work with Sasol PHD historian interface - 'Issue#21: http://wss-edm-1/clients/hcs/services/ISE-HCS8227/ClientProjectAccess/Lists/Issue%20Tracker/DispForm.aspx?ID=21 - If(UCASE(bUseShortNameForHDA) = "ON") then - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTrendParamShort(nRetVal - nAddIndex) - - Else - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTrendParams(nRetVal - nAddIndex) - End If - - Exit Sub - End If - Next - msgbox "Sorry ! No Traces available. Please delete a Trace before adding a new one." & Chr(13),,"HMI Operator Interface" - ElseIf ((nRetVal >= nDeleteIndex) And (nRetVal < nCommandIndex)) Then - nCount = nRetVal - nDeleteIndex + 1 - nDelete = 1 - For n = 1 To nNumTrends ' Step 1 - 'gsh_log("nCount"&nCount&",n"&n&", nDelete"&nDelete) - If asActive(n) <> GSH_OFF Then - If nDelete = nCount Then - 'gsh_log ("DELETE TRACE_"&n) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE&n,GSH_REGKEY_ACTIVE, GSH_OFF - Exit Sub - End If - nDelete = nDelete + 1 - End If - Next - - ElseIf (nRetVal >= nCommandIndex) And (nRetVal < nCancelIndex) Then - 'gsh_log("GSH_RIGHTCLICKTAGNAME nRetVal=" & nRetVal) - Dim nLen, nTemp, sCommandLeft, sCommandRight, sCommand - sParseStr = GSH_GETMENUCONFIG(GSH_REGKEY_CMDSTRING & ((nRetVal-nCommandIndex)+1), "") - nLen = Len(sParseStr) - nTemp = Instr(1,sParseStr,"XXXXXX",1) - - If nTemp = 0 Then ' do not need to add tag name to command - sCommand = sParseStr - Else - sCommandLeft = left(sParseStr,(nTemp - 1)) - nTemp = nLen - nTemp - 5 - If nTemp < 1 Then - sCommandRight = "" - Else - sCommandRight = right(sParseStr,(nTemp)) - End If - sCommand = sCommandLeft & sTagName & sCommandRight - End If - 'gsh_log("GSH_RIGHTCLICKTAGNAME sCommand=" & sCommand) - id = window.parent.external.shell(sCommand,1) - ElseIf (nRetVal = nCancelIndex) Then -' gsh_log_e("GSH_RIGHTCLICKTAGNAME1") - Exit Sub - End If -' gsh_log_e("GSH_RIGHTCLICKTAGNAME2") - Exit Sub -'gsh_log_e("GSH_RIGHTCLICKTAGNAME3") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_RIGHTCLICKEQUIPMENTNAME ''''''''''''''''''''''''''''''''''''''''''''''''' -'25Mar2008 created for Sasol - JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_RIGHTCLICKEQUIPMENTNAME(oDataBoundObject) -'gsh_log_s("GSH_RIGHTCLICKEQUIPMENTNAME ") -Dim DispStr(), asCommandStr() -Dim nRetVal, nNumCommands, nCount, nIndex, nCommandIndex, nCancelIndex, istrLen, iPosition -Dim sParseStr, sTemp, sPathPrefix, sEquipmentName, sSearchstring - - sEquipmentName = oDataBoundObject.GetCustomProperty("Value","TxtLabel") - sSearchstring = oDataBoundObject.GetCustomProperty("Value","Searchstring") - - nIndex = 0 - nNumCommands = GSH_GETMENUCONFIG_EQUIPMENT(GSH_REGKEY_NUMCMDS, 0) -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME sEquipmentName=" & sEquipmentName & ",nIndex=" & nIndex & ",nNumCommands=" & nNumCommands) - - nActiveCount = 0 - If nNumCommands > 0 Then - ReDim asCommandStr(nNumCommands-1) - For nCount = 1 To nNumCommands Step 1 - asCommandStr(nCount-1) = GSH_GETMENUCONFIG_EQUIPMENT(GSH_REGKEY_CMDSTR & nCount, "") - Next - End If - - dim tempNumber - tempNumber = 5 + nNumCommands -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME tempNumber=" &tempNumber) - - ReDim DispStr(tempNumber) -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME Dim of DispStr=" & UBound(DispStr)) - DispStr(nIndex) = "Tag : " & sEquipmentName - nIndex = nIndex + 1 - DispStr(nIndex) = "" - nIndex = nIndex + 1 -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME nIndex=" &nIndex) - - If (nNumCommands > 0) Then - nCommandIndex = nIndex - For nCount = 0 To UBound(asCommandStr) Step 1 - DispStr(nIndex) = asCommandStr(nCount) - nIndex = nIndex + 1 - Next - End If -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME after nNumCommands nIndex=" &nIndex) - nCancelIndex = nIndex -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME DispStr populated: nIndex=" & nIndex) - - 'Debugging -' For nCount = 0 To nIndex Step 1 -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME nCount=" &nCount&"DispStr(nCount)"& DispStr(nCount)) -' Next -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME nCommandIndex=" &nCommandIndex) - - If nNumCommands = 0 Then - nCommandIndex = nCancelIndex - End If - - 'CallAgain: - nRetVal = 0 - do while nRetVal = 0 - - Dim ArrMenu ' As ArrPopupMenuX - Set ArrMenu = CreateObject("ArrPopupMenuXControl.ArrPopupMenuX") - ArrMenu.ShowMenuArr DispStr - nRetVal = ArrMenu.Item -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME nRetVal=" & nRetVal) - loop - Set ArrMenu = Nothing - If (nRetVal >= nCommandIndex) And (nRetVal < nCancelIndex) Then -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME nRetVal=" & nRetVal) - Dim nLen, nTemp, sCommandLeft, sCommandRight, sCommand - sParseStr = GSH_GETMENUCONFIG_EQUIPMENT(GSH_REGKEY_CMDSTRING & ((nRetVal-nCommandIndex)+1), "") - nLen = Len(sParseStr) - nTemp = Instr(1,sParseStr,"XXXXXX",1) - - If nTemp = 0 Then ' do not need to add search string to command - sCommand = sParseStr - Else - sCommandLeft = left(sParseStr,(nTemp - 1)) - nTemp = nLen - nTemp - 5 - If nTemp < 1 Then - sCommandRight = "" - Else - sCommandRight = right(sParseStr,(nTemp)) - End If - sCommand = sCommandLeft & sSearchString & sCommandRight - End If -' gsh_log("GSH_RIGHTCLICKEQUIPMENTNAME sCommand=" & CStr(sCommand) & " sCommandLeft=" & sCommandLeft &" sCommandRight=" & sCommandRight) - id = window.parent.external.shell(CStr(sCommand),1) - ElseIf (nRetVal = nCancelIndex) Then -' gsh_log_e("GSH_RIGHTCLICKEQUIPMENTNAME1") - Exit Sub - End If -' gsh_log_e("GSH_RIGHTCLICKEQUIPMENTNAME2") - Exit Sub -'gsh_log_e("GSH_RIGHTCLICKEQUIPMENTNAME3") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GET_POINT_RAMPING_VALUE'''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = grp subshape name or me, if calling within subshape -'Returns GSH_RAMPING_NONE or GSH_RAMPING_RUN or GSH_RAMPING_PRESET or value from control database -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GET_POINT_RAMPING_VALUE(oDataBoundObject) -'gsh_log_s("GSH_GET_POINT_RAMPING_VALUE oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim tempReturn -tempReturn = GSH_RAMPING_NONE - Select Case GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_RAMP) - Case GSH_RAMPING_RUN - tempReturn = GSH_RAMPING_RUN - Case GSH_RAMPING_PRESET - tempReturn = GSH_RAMPING_PRESET - Case else - tempReturn = GSH_RAMPING_NONE - End Select -GSH_GET_POINT_RAMPING_VALUE = tempReturn -'gsh_log_e("GSH_GET_POINT_RAMPING_VALUE returning >>>" & tempReturn & "<<<") -end function - -function GSH_SHOWWINDUPSTATUS(sWindupCode,oShape) -'gsh_log_s("GSH_SHOWWINDUPSTATUS " & "sWindupCode=" & sWindupCode & ",oShape=" & oShape.id) -dim tempReturn: tempReturn = true - Select Case sWindupCode - Case GSH_WINDUP_LO - oShape.objects("plg_OpLow").style.visibility = GSH_VISIBLE - Case GSH_WINDUP_HI - oShape.objects("plg_OpHigh").style.visibility = GSH_VISIBLE - Case GSH_WINDUP_INIT - oShape.objects("txt_Initialization").style.visibility = GSH_VISIBLE - Case else - tempReturn = false 'do nothing because visibility is hidden by default and in Show Normal - end Select -GSH_SHOWWINDUPSTATUS = tempReturn -'gsh_log_e("GSH_SHOWWINDUPSTATUS returns >>>>>>>>> "&tempReturn) -end function -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_C200_ISALARMINGDISABLEDPARAMETER -'Parameters: -' oDataBoundObject - HCS Group Shape -' pointName - point Name -'Returns: -' boolean -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_ISALARMINGDISABLEDPARAMETER(oDataBoundObject, pointName) -'gsh_log_s("GSH_C200_ISALARMINGDISABLEDPARAMETER oDataBoundObject=" & oDataBoundObject.id & ", pointName=" & pointName) -on error resume next - Dim tempReturn - tempReturn = GSH_GETPARAMETERVALUE(oDataBoundObject, pointName, GSH_C200_PARAM_ALARMDISABLED) - if ( tempReturn = 0) then: tempReturn = true: else: tempReturn = false: end if -GSH_C200_ISALARMINGDISABLEDPARAMETER = tempReturn -'gsh_log_e("GSH_C200_ISALARMINGDISABLEDPARAMETER returning >>>" & cstr(tempReturn) & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_ANALOG_POINT_IS_OFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oDataBoundObject,sPointName,sOffNormalParam) -'gsh_log_s("GSH_C200_ANALOG_POINT_IS_OFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ",sOffNormalParam=" & sOffNormalParam ) -on error resume next -Dim tempReturn - -'''''Jamie Jan. 24, 2010''''' - - tempReturn = false - temp = GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam) - if strComp(temp,GSH_NODATA,vbTextCompare)<> 0 then - if strComp(temp,GSH_AUTO,vbTextCompare) <> 0 then - tempReturn = true - end if - end if -GSH_C200_ANALOG_POINT_IS_OFFNORMAL = tempReturn -'gsh_log_e("GSH_C200_ANALOG_POINT_IS_OFFNORMAL returning >>>" & tempReturn & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITAL_POINT_IS_OFFNORMAL''''''''''''''''''''''''''''''''' -'Function: only checks if Digital State is offnormal -'Parameters: -' oDataBoundObject = id of object with script data tab -' sPointName = Point name from to access tagname -' sDigitalStateTxt = string value to compare to registry tag info to determine if its offnormal -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oDataBoundObject,sPointName, sDigitalStateTxt) -'gsh_log_s("GSH_C200_DIGITAL_POINT_IS_OFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName) -on error resume next - Dim sTagname, sIsDigitalStateOffnormal - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - sIsDigitalStateOffnormal = GSH_DIGITAL_GETOFFNORMALSTATUS(sTagname, GSH_REGKEY_PVNORMAL_STATE, sDigitalStateTxt) - GSH_C200_DIGITAL_POINT_IS_OFFNORMAL = sIsDigitalStateOffnormal -'gsh_log_e("GSH_C200_DIGITAL_POINT_IS_OFFNORMAL returning >>>" & sIsDigitalStateOffnormal & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITAL_POINT_OP_ISOFFNORMAL''''''''''''''''''''''''''''''''' -'Function: only checks if Digital State is offnormal -'Parameters: -' oDataBoundObject = id of object with script data tab -' sPointName = Point name from to access tagname -' sDigitalStateTxt = string value to compare to registry tag info to determine if its offnormal -'Returns true or false -'Author: Didi Ekaette - August 1, 2007 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_DIGITAL_POINT_OP_ISOFFNORMAL(oDataBoundObject,sPointName, sDigitalStateTxt) -'gsh_log_s("GSH_C200_DIGITAL_POINT_OP_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName) -on error resume next - Dim sTagname, sIsDigitalStateOffnormal - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - sIsDigitalStateOffnormal = GSH_DIGITAL_GETOFFNORMALSTATUS(sTagname, GSH_REGKEY_OPNORMAL_STATE, sDigitalStateTxt) - GSH_C200_DIGITAL_POINT_OP_ISOFFNORMAL = sIsDigitalStateOffnormal -'gsh_log_e("GSH_C200_DIGITAL_POINT_IS_OFFNORMAL returning >>>" & sIsDigitalStateOffnormal & "<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITAL_GETOFFNORMALSTATUS''''''''''''''''''''''''''''''''' -'Parameters: -' sTagname = tag to access registry info for -' sRegKey = where to access registry tag information(GSH_REGKEY_PV_NORMAL_STATE, GSH_REGKEY_NMODATTR, GSH_REGKEY_NMODE) -' sParameterValue = string value to compare to registry tag info to determine if its offnormal -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_DIGITAL_GETOFFNORMALSTATUS(sTagname, sRegKey, sParameterValue) -'gsh_log_s("GSH_DIGITAL_GETOFFNORMALSTATUS sTagname="&sTagname&", sRegKey="&sRegKey&", sParameterValue="&sParameterValue) -on error resume next - Dim sOffNormalIndicatorStatus, sPVNormalState: sOffNormalIndicatorStatus = false - sPVNormalState = GSH_READTAGINFORMATIONKEYVALUE(sTagname, sRegKey, GSH_NONE) - if (strComp(sPVNormalState,GSH_NONE,vbTextCompare) <> 0) then 'if Registry key is not None - if (strComp(sParameterValue,sPVNormalState,vbTextCompare) <> 0) then - sOffNormalIndicatorStatus = true - end if - end if -GSH_DIGITAL_GETOFFNORMALSTATUS = sOffNormalIndicatorStatus -'gsh_log_e("GSH_DIGITAL_GETOFFNORMALSTATUS returning >>>" & sOffNormalIndicatorStatus & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_DIGITAL_GETOFFNORMALINDSTATUS''''''''''''''''''''''''''''''''' -'Parameters: -' sTagname = tag to access registry info for -' sRegKey = where to access registry tag information(GSH_REGKEY_PV_NORMAL_STATE, GSH_REGKEY_NMODATTR, GSH_REGKEY_NMODE) -' sParameterValue = string value to compare to registry tag info to determine if its offnormal -'Returns GSH_HIDDEN or GSH_VISIBLE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_FP_DIGITAL_GETOFFNORMALINDSTATUS(sTagname, sRegKey, sParameterValue) -'gsh_log_s("GSH_FP_DIGITAL_GETOFFNORMALINDSTATUS sTagname="&sTagname&", sParameterValue="&sParameterValue) -on error resume next - Dim sOffNormalIndicatorStatus, sPVNormalState: sOffNormalIndicatorStatus = GSH_HIDDEN - sPVNormalState = GSH_READTAGINFORMATIONKEYVALUE(sTagname, sRegKey, GSH_NONE) - if (strComp(sPVNormalState,GSH_NONE,vbTextCompare) <> 0) then 'if Registry key is not None - if (strComp(sParameterValue,sPVNormalState,vbTextCompare) <> 0) then - sOffNormalIndicatorStatus = GSH_VISIBLE - end if - end if -GSH_FP_DIGITAL_GETOFFNORMALINDSTATUS = sOffNormalIndicatorStatus -'gsh_log_e("GSH_FP_DIGITAL_GETOFFNORMALINDSTATUS returning >>>" & sOffNormalIndicatorStatus & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITAL_OP_POINT_IS_OFFNORMAL''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Returns true or false -'06/09/07 not needed for digital output indicator -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'function GSH_C200_DIGITAL_OP_POINT_IS_OFFNORMAL(oDataBoundObject,sPointName) -'gsh_log_s("GSH_C200_DIGITAL_OP_POINT_IS_OFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName) -'on error resume next - 'Dim tempReturn,shapePoint, bOffNormalTest1, sPVNormalState - 'shapePoint = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - 'tempReturn = false - 'bOffNormalTest1 = false - 'sPVNormalState = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_PV_NORMAL_STATE, GSH_PVNORMALSTATE_OFFNORMAL) - 'if (strComp(sPVNormalState,GSH_PVNORMALSTATE_OFFNORMAL,vbTextCompare) <> 0) then 'if Registry PVNormalState is None - 'if (strComp(GSH_GETPARAMETERVALUE(oDataBoundObject,sPointName, GSH_CPPARAM_OP),sPVNormalState,vbTextCompare) <> 0) then - 'bOffNormalTest1 = true - 'end if - 'end if -'GSH_C200_DIGITAL_OP_POINT_IS_OFFNORMAL = bOffNormalTest1 -'gsh_log_e("GSH_C200_DIGITAL_OP_POINT_IS_OFFNORMAL returning >>>" & bOffNormalTest1 & "<<<") -'end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_REGCTL_POINT_ISOFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -' In addition to Analog point off normal check, checks other RegCtl offnormal conditions -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -' sParamName = Name of the param to check isNAN -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_REGCTL_POINT_ISOFFNORMAL(oDataBoundObject,sPointName,sOffNormalParam) -'gsh_log_s("GSH_C200_REGCTL_POINT_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ",sOffNormalParam=" & sOffNormalParam ) -on error resume next -Dim tempReturn,shapePoint, bOffNormalTest1,bOffNormalTest2, bOffNormalTest3 -Dim sNModAttr, sNMode - shapePoint = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - bOffNormalTest1 = false - bOffNormalTest2 = false - bOffNormalTest3 = false - tempReturn = false 'default - -'''''Jamie Jan. 24, 2010''''' - temp = GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam) - if strComp(temp,GSH_NODATA,vbTextCompare)<> 0 then - if strComp(temp,GSH_AUTO,vbTextCompare) <> 0 then - bOffNormalTest1 = true - end if - end if -' if (strcomp(GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam),GSH_AUTO,vbtextcompare)<>0) then -' bOffNormalTest1 = true -' end if - sNModAttr = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODATTR, GSH_NONE) - dim modAttr - modAttr = GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR) - if (strComp(sNModAttr,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NModAttr is None - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR),sNModAttr,vbTextCompare) <> 0) then - bOffNormalTest2 = true - end if - end if - sNMode = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODE, GSH_NONE) - if (strComp(sNMode,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NMode key is "None" - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE),sNMode,vbTextCompare) <> 0) then - bOffNormalTest3 = true - end if - end if - tempReturn = ( ( bOffNormalTest1 ) or ( bOffNormalTest2) or (bOffNormalTest3) ) - GSH_C200_REGCTL_POINT_ISOFFNORMAL = tempReturn -'gsh_log_e("GSH_C200_REGCTL_POINT_ISOFFNORMAL returning >>>"&bOffNormalTest1& " " & bOffNormalTest2 & " " & bOffNormalTest3 & cstr(tempReturn) & "<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_ValveREGCTL_POINT_ISOFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -' In addition to Analog point off normal check, checks other RegCtl offnormal conditions -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -' sParamName = Name of the param to check isNAN -'Returns true or false -'13/08/07 - Create the function to handle the cases where Mode and ModeAttr can be blank. -' In those cases, their values should not be used for checking offnormal. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_ValveREGCTL_POINT_ISOFFNORMAL(oDataBoundObject,sPointName,sOffNormalParam) -'gsh_log_s("GSH_C200_ValveREGCTL_POINT_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ",sOffNormalParam=" & sOffNormalParam ) -on error resume next -Dim tempReturn,shapePoint, bOffNormalTest1,bOffNormalTest2, bOffNormalTest3 -Dim sNModAttr, sNMode -Dim sModAttr, sMode - - shapePoint = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - bOffNormalTest1 = false - bOffNormalTest2 = false - bOffNormalTest3 = false - tempReturn = false 'default - if (strcomp(GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam),GSH_AUTO,vbtextcompare)<>0) then - bOffNormalTest1 = true - end if - - 'Check for ModeAttr - sNModAttr = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODATTR, GSH_NONE) - - sModAttr = GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR) - if (strComp(sNModAttr,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NModAttr is None - if (strComp(sModAttr,GSH_NODATA,vbTextCompare) <> 0 and strComp(sModAttr,sNModAttr,vbTextCompare) <> 0) then - bOffNormalTest2 = true - end if - end if - - sNMode = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODE, GSH_NONE) - sMode = GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE) - - if (strComp(sNMode,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NMode key is "None" - if (strComp(sModAttr,GSH_NODATA,vbTextCompare) <> 0 and strComp(sMode,sNMode,vbTextCompare) <> 0) then - bOffNormalTest3 = true - end if - end if - - tempReturn = ( ( bOffNormalTest1 ) or ( bOffNormalTest2) or (bOffNormalTest3) ) - - GSH_C200_ValveREGCTL_POINT_ISOFFNORMAL = tempReturn - -' gsh_log("sNModAttr = " &sNModAttr &" sModAttr = " &sModAttr) -' gsh_log_e("GSH_C200_ValveREGCTL_POINT_ISOFFNORMAL returning >>>"&bOffNormalTest1& " " & bOffNormalTest2 & " " & bOffNormalTest3 & cstr(tempReturn) & "<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_ANALOG_MODE_ISOFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -' In addition to Analog point off normal check, checks other RegCtl offnormal conditions -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -' sParamName = Name of the param to check isNAN -'Returns true or false -'Author: Didi Ekaette - Aug 3, 2007 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_ANALOG_MODE_ISOFFNORMAL(oDataBoundObject,sPointName) -'gsh_log_s("GSH_C200_ANALOG_MODE_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName ) -on error resume next -Dim tempReturn,shapePoint, bOffNormalTest1, bOffNormalTest2 -Dim sNModAttr, sNMode - shapePoint = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - bOffNormalTest1 = false - bOffNormalTest2 = false - tempReturn = false 'default - sNModAttr = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODATTR, GSH_NONE) - - if (strComp(sNModAttr,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NModAttr is None - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR),sNModAttr,vbTextCompare) <> 0) then - bOffNormalTest1 = true - end if - end if - sNMode = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODE, GSH_NONE) - if (strComp(sNMode,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NMode key is "None" - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE),sNMode,vbTextCompare) <> 0) then - bOffNormalTest2 = true - end if - end if - tempReturn = ( ( bOffNormalTest1) or (bOffNormalTest2) ) -GSH_C200_ANALOG_MODE_ISOFFNORMAL = tempReturn -'gsh_log_e("GSH_C200_ANALOG_MODE_ISOFFNORMAL returning >>>" & bOffNormalTest1 & " " & bOffNormalTest2 & cstr(tempReturn) & "<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -' In addition to Analog point off normal check, checks other RegCtl offnormal conditions -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL(oDataBoundObject,sPointName) -'gsh_log_s("GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ",sOffNormalParam=" & sOffNormalParam ) -on error resume next -Dim tempReturn,shapePoint, bOffNormalTest1,bOffNormalTest2 -Dim sNModAttr, sNMode - shapePoint = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - bOffNormalTest1 = false - bOffNormalTest2 = false - tempReturn = false 'default - sNModAttr = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODATTR, GSH_NONE) - if (strComp(sNModAttr,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NModAttr is None - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR),sNModAttr,vbTextCompare) <> 0) then - bOffNormalTest1 = true - end if - end if - sNMode = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODE, GSH_NONE) - if (strComp(sNMode,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NMode key is "None" - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE),sNMode,vbTextCompare) <> 0) then - bOffNormalTest2 = true - end if - end if - tempReturn = ( ( bOffNormalTest1 ) or ( bOffNormalTest2) ) -GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL = tempReturn -'gsh_log_e("GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL returning >>>"&bOffNormalTest1& " " & bOffNormalTest2 & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''GSH_SCADA_POINT_MODE_ISOFFNORMAL '''''''''''''''''''''''''' -'''''' Check if the given object is off normal in term of MODE ''''' -''parameter: oScriptDataObject: the data object to be checked '''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_POINT_MODE_ISOFFNORMAL(oScriptDataObject) - - dim shapePoint, offNormalTest, sNMode - - shapePoint = GSH_GETSHAPETAG(oScriptDataObject.parentElement.parentElement) - offNormalTest = false - sNMode = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODE, GSH_NONE) - - if (strComp(sNMode,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NMode key is "None" - if (strComp(GSH_GETENTITYPARAMETERVALUE(oScriptDataObject,GSH_CPPARAM_MODE),sNMode,vbTextCompare) <> 0) then - offNormalTest = true - end if - end if - - GSH_SCADA_POINT_MODE_ISOFFNORMAL = offNormalTest -end function - - -'GSH_C200_AUTOMAN_POINT_ISOFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_AUTOMAN_POINT_ISOFFNORMAL(oDataBoundObject,sPointName) -'gsh_log_s("GSH_C200_AUTOMAN_POINT_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName ) -on error resume next -Dim tempReturn,shapePoint, bOffNormalTest1,bOffNormalTest2 -Dim sNModAttr, sNMode - shapePoint = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - bOffNormalTest1 = false:bOffNormalTest2 = false: tempReturn = false 'default - sNModAttr = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODATTR, GSH_NONE) - if (strComp(sNModAttr,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NModAttr is None - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR),sNModAttr,vbTextCompare) <> 0) then - bOffNormalTest1 = true - end if - end if - sNMode = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODE, GSH_NONE) - if (strComp(sNMode,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NMode key is "None" - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE),sNMode,vbTextCompare) <> 0) then - bOffNormalTest2 = true - end if - end if - tempReturn = ( bOffNormalTest1 ) or ( bOffNormalTest2) -GSH_C200_AUTOMAN_POINT_ISOFFNORMAL = tempReturn -'gsh_log_e("GSH_C200_AUTOMAN_POINT_ISOFFNORMAL returning >>>"&bOffNormalTest1& " " & bOffNormalTest2 & " " & cstr(tempReturn) & "<<<") -end function -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_REGCTLGAP_DACA_POINT_ISOFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -' In addition to Analog point off normal check, checks other RegCtl offnormal conditions -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -' sParamName = Name of the param to check isNAN -' 08/13/07 - Add the check if sModAttr <> "" then do check for modeAttr. Reference issue #439 (Cuong Ly) -' 09/06/07 - Remove ModeAttr check because DACA function block does not has ModeAttr parameter. -' and rename function to GSH_C200_REGCTLGAP_DACA_POINT_ISOFFNORMAL (CL) -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_REGCTLGAP_DACA_POINT_ISOFFNORMAL(oDataBoundObject,sPointName,sOffNormalParam) -'gsh_log_s("GSH_C200_REGCTLGAP_DACA_POINT_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ",sOffNormalParam=" & sOffNormalParam ) -on error resume next -Dim tempReturn, bOffNormalTest1 - - bOffNormalTest1 = false - tempReturn = false 'default - if (strcomp(GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam),GSH_AUTO,vbtextcompare)<>0) then - bOffNormalTest1 = true - end if - - - tempReturn = bOffNormalTest1 -GSH_C200_REGCTLGAP_DACA_POINT_ISOFFNORMAL = tempReturn -'gsh_log_e("GSH_C200_REGCTLGAP_DACA_POINT_ISOFFNORMAL returning >>>"&bOffNormalTest1& " " & bOffNormalTest2 &" " & cstr(tempReturn) & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL(oDataBoundObject,sPointName,sOffNormalParam, sDigitalStateText) -'gsh_log_s("GSH_C200_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ",sOffNormalParam=" & sOffNormalParam & ",sDigitalStateText=" & sDigitalStateText) -on error resume next - Dim tempReturn,sTagname, bOffNormalTest1,bOffNormalTest2, bOffNormalTest3, sPVNormalState,sNModAttr - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - tempReturn = false: bOffNormalTest1 = false: bOffNormalTest2 = false: bOffNormalTest3 = false - if (strcomp(GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam),GSH_AUTO,vbTextCompare)<>0) then - bOffNormalTest1 = true - end if - bOffNormalTest2 = GSH_DIGITAL_GETOFFNORMALSTATUS(sTagname, GSH_REGKEY_PVNORMAL_STATE, sDigitalStateText) - bOffNormalTest3 = GSH_DIGITAL_GETOFFNORMALSTATUS(sTagname, GSH_REGKEY_NMODATTR, GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR)) - 'gsh_log("bOffNormalTest1="& bOffNormalTest1 &",bOffNormalTest2="&bOffNormalTest2& ",bOffNormalTest3="&bOffNormalTest3) - tempReturn = (bOffNormalTest1 or bOffNormalTest2 or bOffNormalTest3) -GSH_C200_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL = tempReturn -'gsh_log_e("GSH_C200_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL returning >>>" & tempReturn & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_SELECTOROUTPUT_POINT_ISOFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -' In addition to Analog point off normal check, checks other RegCtl offnormal conditions -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sPointName = Entity -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_SELECTOROUTPUT_POINT_ISOFFNORMAL(oDataBoundObject,sPointName) -'gsh_log_s("GSH_C200_SELECTOROUTPUT_POINT_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName ) -on error resume next -Dim tempReturn,shapePoint, bOffNormalTest1, sNMode - shapePoint = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - bOffNormalTest1 = false - tempReturn = false 'default - sNMode = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODE, GSH_NONE) - if (strComp(sNMode,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NMode key is "None" - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE),sNMode,vbTextCompare) <> 0) then - bOffNormalTest1 = true - end if - end if - tempReturn = bOffNormalTest1 -GSH_C200_SELECTOROUTPUT_POINT_ISOFFNORMAL = tempReturn -'gsh_log_e("GSH_C200_SELECTOROUTPUT_POINT_ISOFFNORMAL returning >>>" & cstr(tempReturn) & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_IS_POINT_OFF_NORMAL removed Apr 13, 2007 - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOG_POINT_IS_OFFNORMAL no longer needed as it was only checking if PV was NaN -' approved by HCS issue #284 06/08/07 - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOG_SCADA_POINT_IS_OFFNORMAL no longer needed as it was only checking if PV was NaN -' approved by HCS issue #284 06/08/07 - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITAL_SCADA_POINT_IS_OFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -' In addition to other offnormal checks, this function also checks PVNormalState in the Registry -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -' sParamName = Name of the param to compare to PVNormalState, eg. PV or OP -' sOffNormalParam = name of the off normal param to check, eg. PVSource -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oDataBoundObject,sPointName,sPVStateText) -'gsh_log_s("GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ", sPVStateText=" &sPVStateText) - Dim sIsDigitalStateOffnormal,sTagname, nPVNumValue, sPVNormalState: sIsDigitalStateOffnormal = false - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(ODataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - sPVNormalState = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_PV_NORMAL_STATE, GSH_NONE) - if (strComp(sPVNormalState,GSH_NONE,vbTextCompare) <> 0) then 'if Registry PVNormalState is NOT None - if (strComp(sPVStateText,sPVNormalState,vbTextCompare) <> 0) then - sIsDigitalStateOffnormal = true - end if - end if -GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL =sIsDigitalStateOffnormal -'gsh_log_e("GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL returning >>>" & sIsDigitalStateOffnormal & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITAL_SCADA_POINT_OP_ISOFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -' In addition to other offnormal checks, this function also checks OPNormalState in the Registry -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -' sParamName = Name of the param to compare to OPNormalState -' sOffNormalParam = name of the off normal param to check, eg. OPSource -'Returns true or false -'Author: Didi Ekaette August 1, 2007 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_DIGITAL_POINT_OP_ISOFFNORMAL(oDataBoundObject,sPointName,sOPStateText) -'gsh_log_s("GSH_SCADA_DIGITAL_POINT_OP_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ", sOPStateText=" &sOPStateText) - Dim sIsDigitalStateOffnormal,sTagname, nOPNumValue, sOPNormalState: sIsDigitalStateOffnormal = false - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(ODataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - sOPNormalState = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_OP_NORMAL_STATE, GSH_NONE) - if (strComp(sOPNormalState,GSH_NONE,vbTextCompare) <> 0) then 'if Registry OPNormalState is NOT None - if (strComp(sOPStateText,sOPNormalState,vbTextCompare) <> 0) then - sIsDigitalStateOffnormal = true - end if - end if -GSH_SCADA_DIGITAL_POINT_OP_ISOFFNORMAL =sIsDigitalStateOffnormal -'gsh_log_e("GSH_SCADA_DIGITAL_POINT_OP_ISOFFNORMAL returning >>>" & sIsDigitalStateOffnormal & "<<<") -end function - - -'NOTE: This function is replaced by GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oDataBoundObject,sPointName,sPVStateText) -'function above - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGCTL_POINT_ISOFFNORMAL remove Apr 13, 2007''''''''''''''''''' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' -''''''''''''''''''''''''''''''''''''' -' Only checks if Mode is offnormal -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -' sParamName = Name of the param to check isNAN -'Returns true or false -'06/08/07 Optimized code as this function no longer needs to call GSH_ANALOG_POINT_IS_OFFNORMAL -' and only checks mode. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oScriptDataObject,sTagName,sParamName) -'gsh_log_s("GSH_REGCTL_SCADA_POINT_ISOFFNORMAL oScriptDataObject=" & oScriptDataObject.id & ",sTagName=" &sTagName) -on error resume next -Dim tempReturn,shapePoint, sNMode - shapePoint = GSH_GETSHAPETAG(oScriptDataObject.parentElement.parentElement) - tempReturn = false 'default - sNMode = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODE, GSH_NONE) - if (strComp(sNMode,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NMode key is "None" - if (strComp(GSH_GETENTITYPARAMETERVALUE(oScriptDataObject,GSH_CPPARAM_MODE),sNMode,vbTextCompare) <> 0) then - tempReturn = true - end if - end if -GSH_REGCTL_SCADA_POINT_ISOFFNORMAL = tempReturn -'gsh_log_e("GSH_REGCTL_SCADA_POINT_ISOFFNORMAL returning >>>" & cstr(tempReturn) & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_C200_ANALOG_ISDATABAD -'Parameters: -' oDataScriptObject - data bound object within HCS shape -' bCheckNAN - check for PV value that is not a number -' bCheckTransmitter - check device sending data for errors -' bCheckRange - check PV value for value way out of range (station configurable unreasonably hi / lo alarm -'Returns: -' true of false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_ANALOG_ISDATABAD(oDataScriptObject,bCheckPVSts,bCheckTransmitter,bCheckRange) -'gsh_log_s("GSH_C200_ANALOG_ISDATABAD " & "oDataScriptObject=" & oDataScriptObject.ID) -on error resume next - Dim bPVInError, bAllTests, bInUnreasonablyLowAlarm, bInUnreasonablyHighAlarm, bInTransmitterLowAlarm, bInTransmitterHighAlarm - bPVInError = false - bInUnreasonablyLowAlarm = false - bInUnreasonablyHighAlarm = false - bInTransmitterLowAlarm = false - bInTransmitterHighAlarm = false - if bCheckPVSts then - if GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_CPPARAM_BADPV)<> 0 or oDataScriptObject.IsNan(GSH_CPENTITY & "." & GSH_CPPARAM_PV) then bPVInError = true end if - end if - 'gsh_log ("GSH_C200_ANALOG_ISDATABAD PVInError = "&bPVInError) - if bCheckTransmitter then - bInTransmitterLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INTRANSMITTERLOWALARM)) - bInTransmitterHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INTRANSMITTERHIGHALARM)) - end if - if bCheckRange then - bInUnreasonablyLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INUNREASONABLYLOWALARM)) - bInUnreasonablyHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INUNREASONABLYHIGHALARM)) - end if - bAllTests = ( bPVInError or bInUnreasonablyLowAlarm or bInUnreasonablyHighAlarm or bInTransmitterLowAlarm or bInTransmitterHighAlarm ) -GSH_C200_ANALOG_ISDATABAD = bAllTests -'gsh_log_e("GSH_C200_ANALOG_ISDATABAD returing " & bAllTests ) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_C200_DIGITAL_ISDATABAD (used in faceplates) -'Parameters: -' oDataScriptObject - data bound object within HCS shape -' bCheckNAN - check for PV value that is not a number -' bCheckTransmitter - check device sending data for errors -' bCheckRange - check PV value for value way out of range (station configurable unreasonably hi / lo alarm -'Returns: -' true of false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_DIGITAL_ISDATABAD(oDataScriptObject,bCheckPVSts,bCheckTransmitter,bCheckRange) -'gsh_log_s("GSH_C200_DIGITAL_ISDATABAD " & "oDataScriptObject=" & oDataScriptObject.ID) -on error resume next - Dim bPVInError, bAllTests, bInUnreasonablyLowAlarm, bInUnreasonablyHighAlarm, bInTransmitterLowAlarm, bInTransmitterHighAlarm - bPVInError = false - bInUnreasonablyLowAlarm = false - bInUnreasonablyHighAlarm = false - bInTransmitterLowAlarm = false - bInTransmitterHighAlarm = false - if bCheckPVSts then - if GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_CPPARAM_PV)<> 0 then bPVInError = true end if - end if - 'gsh_log ("GSH_C200_DIGITAL_ISDATABAD PVInError"&bPVInError) - if bCheckTransmitter then - bInTransmitterLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INTRANSMITTERLOWALARM)) - bInTransmitterHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INTRANSMITTERHIGHALARM)) - end if - if bCheckRange then - bInUnreasonablyLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INUNREASONABLYLOWALARM)) - bInUnreasonablyHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INUNREASONABLYHIGHALARM)) - end if - bAllTests = ( bPVInError or bInUnreasonablyLowAlarm or bInUnreasonablyHighAlarm or bInTransmitterLowAlarm or bInTransmitterHighAlarm ) -GSH_C200_DIGITAL_ISDATABAD = bAllTests -'gsh_log_e("GSH_C200_DIGITAL_ISDATABAD returing " & bAllTests ) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_C200_DIGITALCOMPOSITE_ISDATABAD -'Parameters: -' oDataScriptObject - data bound object within HCS shape -'Returns: true of false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_DIGITALCOMPOSITE_ISDATABAD(oDataScriptObject) -'gsh_log_s("GSH_C200_DIGITALCOMPOSITE_ISDATABAD " & "oDataScriptObject=" & oDataScriptObject.ID) -on error resume next - Dim bPVInError - bPVInError = false - 'oDataBoundObject.DataValue(GSH_CPENTITY&"."¶meter) - if strComp(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_CPPARAM_PV),"Bad",vbtextcompare) = 0 then - bPVInError = true - end if - GSH_C200_DIGITALCOMPOSITE_ISDATABAD = bPVInError -'gsh_log_e("GSH_C200_DIGITALCOMPOSITE_ISDATABAD returing " & bPVInError ) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_C200_REGCTL_ISDATABAD -'Parameters: -' oDataScriptObject - data bound object within HCS shape -' bCheckNAN - check for PV value that is not a number -' bCheckTransmitter - check device sending data for errors -' bCheckRange - check PV value for value way out of range (station configurable unreasonably hi / lo alarm -'Returns: -' true of false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_C200_REGCTL_ISDATABAD(oDataScriptObject,bCheckPVSts,bCheckTransmitter,bCheckRange) -'gsh_log_s("GSH_C200_REGCTL_ISDATABAD " & "oDataScriptObject=" & oDataScriptObject.ID) -on error resume next - Dim bPVInError, bAllTests, bInUnreasonablyLowAlarm, bInUnreasonablyHighAlarm, bInTransmitterLowAlarm, bInTransmitterHighAlarm - bPVInError = false - bInUnreasonablyLowAlarm = false - bInUnreasonablyHighAlarm = false - bInTransmitterLowAlarm = false - bInTransmitterHighAlarm = false - if bCheckPVSts then - if GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_CPPARAM_BADPV)<> 0 then bPVInError = true end if - end if -' gsh_log ("GSH_C200_REGCTL_ISDATABAD PVInError"&bPVInError) - if bCheckTransmitter then - bInTransmitterLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INTRANSMITTERLOWALARM)) - bInTransmitterHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INTRANSMITTERHIGHALARM)) - end if - if bCheckRange then - bInUnreasonablyLowAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INUNREASONABLYLOWALARM)) - bInUnreasonablyHighAlarm = cbool(GSH_GETENTITYPARAMETERVALUE(oDataScriptObject,GSH_C200_PARAM_INUNREASONABLYHIGHALARM)) - end if - bAllTests = ( bPVInError or bInUnreasonablyLowAlarm or bInUnreasonablyHighAlarm or bInTransmitterLowAlarm or bInTransmitterHighAlarm ) -GSH_C200_REGCTL_ISDATABAD = bAllTests -'gsh_log_e("GSH_C200_REGCTL_ISDATABAD returing " & bAllTests ) -end function - -'GSH_IS_POINT_INITIALIZING remove 06/27/07 - -'Returns GSH_WINDUP_HI, GSH_WINDUP_LO, GSH_WINDUP_INIT or GSH_WINDUP_NONE -function GSH_GET_POINT_WINDUP_VALUE(oDataBoundObject) -'gsh_log_s("GSH_GET_POINT_WINDUP_VALUE oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim tempReturn - tempReturn = GSH_WINDUP_NONE - tempReturn = GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_WINDUP ) -' gsh_log "tempReturn ="& tempReturn - Select Case tempReturn - Case GSH_WINDUP_HI - tempReturn = GSH_WINDUP_HI - Case GSH_WINDUP_LO - tempReturn = GSH_WINDUP_LO - Case GSH_WINDUP_HILO - tempReturn = GSH_WINDUP_INIT - Case else - tempReturn = GSH_WINDUP_NONE - End Select - GSH_GET_POINT_WINDUP_VALUE = tempReturn -'gsh_log_e("GSH_GET_POINT_WINDUP_VALUE returning >>>" & tempReturn & "<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ISINFOCUS'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_ISINFOCUS(oDataBoundObject) -'gsh_log_s("GSH_ISINFOCUS oDataBoundObject=" & oDataBoundObject.id) -on error resume next - dim tempReturn - tempReturn = (not(oDataBoundObject.parentElement.objects("focus").styleClass = GSH_CSSFOCUSNONE)) - GSH_ISINFOCUS = tempReturn -'gsh_log_e("GSH_ISINFOCUS returning >>>>"&tempReturn&"<<<<") -end function - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SHOWALARMS'''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHOWALARMS(sAlarmPriority,bUnAcknowledge,oShape) -'gsh_log_s("GSH_SHOWALARMS " & "sAlarmPriority=" & sAlarmPriority & ",bUnAcknowledge=" & bUnAcknowledge & ",oShape=" & oShape.id) - select case sAlarmPriority - Case 0 'GSH_NOALARMCODE - Case 3 'GSH_UNACKEMERG - call GSH_SHOWEMERGENCYALARM(oShape,bUnAcknowledge) - Case 2 'GSH_UNACKHIGH - call GSH_SHOWHIGHALARM(oShape,bUnAcknowledge) - Case 1 'GSH_UNACKLOW - call GSH_SHOWLOWALARM(oShape,bUnAcknowledge) - End Select -'gsh_log_e("GSH_SHOWALARMS ") -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_SHOWPOINTALARMS -'Parameters: -' sAlarmCode - Code that describes alarm priority and ack status -' oShape - reference to the shape going into alarm -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHOWPOINTALARMS(sAlarmCode,oShape) -'gsh_log_s("GSH_SHOWPOINTALARMS " & "sAlarmCode=" & sAlarmCode & ",oShape=" & oShape.id) - Select Case sAlarmCode - Case GSH_NOALARMCODE - call GSH_SHOWNOALARM(oShape) - Case GSH_UNACKEMERG - call GSH_SHOWEMERGENCYALARM(oShape,true) - Case GSH_UNACKHIGH - call GSH_SHOWHIGHALARM(oShape,true) - Case GSH_UNACKLOW - call GSH_SHOWLOWALARM(oShape,true) - Case GSH_ACKEMERG - call GSH_SHOWEMERGENCYALARM(oShape,false) - Case GSH_ACKHIGH - call GSH_SHOWHIGHALARM(oShape,false) - Case GSH_ACKLOW - call GSH_SHOWLOWALARM(oShape,false) - Case Else - call GSH_SHOWNOALARM(oShape) - End Select -'gsh_log_e("GSH_SHOWPOINTALARMS ") -end sub -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_SHOWALARMS_WOOUTLINE -'Parameters: -' sAlarmCode - Code that describes alarm priority and ack status -' oShape - reference to the shape going into alarm -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SHOWALARMS_WOOUTLINE(sAlarmCode,oShape) -'gsh_log_s ("GSH_SHOWALARMS_WOOUTLINE " & "sAlarmCode=" & sAlarmCode & ",oShape=" & oShape.id) - Select Case sAlarmCode - Case GSH_NOALARMCODE - oShape.objects("txt_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("plg_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("rec_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ovl_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_NONE - Case GSH_UNACKEMERG - oShape.objects("txt_EAlarm").style.visibility = GSH_VISIBLE - oShape.objects("plg_EAlarm").style.visibility = GSH_VISIBLE - oShape.objects("txt_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("rec_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ovl_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_UNACKEMERG - Case GSH_ACKEMERG - oShape.objects("txt_EAlarm").style.visibility = GSH_VISIBLE - oShape.objects("plg_EAlarm").style.visibility = GSH_VISIBLE - oShape.objects("txt_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("rec_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ovl_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_ACKEMERG - Case GSH_UNACKHIGH - oShape.objects("txt_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("plg_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_HAlarm").style.visibility = GSH_VISIBLE - oShape.objects("rec_HAlarm").style.visibility = GSH_VISIBLE - oShape.objects("ovl_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_UNACKHIGH - Case GSH_ACKHIGH - oShape.objects("txt_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("plg_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_HAlarm").style.visibility = GSH_VISIBLE - oShape.objects("rec_HAlarm").style.visibility = GSH_VISIBLE - oShape.objects("ovl_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_ACKHIGH - Case GSH_UNACKLOW - oShape.objects("txt_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("plg_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("rec_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ovl_LAlarm").style.visibility = GSH_VISIBLE - oShape.objects("txt_LAlarm").style.visibility = GSH_VISIBLE - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_UNACKLOW - Case GSH_ACKLOW - oShape.objects("txt_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("plg_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("rec_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ovl_LAlarm").style.visibility = GSH_VISIBLE - oShape.objects("txt_LAlarm").style.visibility = GSH_VISIBLE - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_ACKLOW - Case Else - 'Show no alarms - oShape.objects("txt_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("plg_EAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("rec_HAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ovl_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("txt_LAlarm").style.visibility = GSH_HIDDEN - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_NONE - End Select -'gsh_log_e("GSH_SHOWALARMS_WOOUTLINE ") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TYPE2TABRBUTTONCLICK''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = subshape name or me, if calling within subshape -' -' Revised Jan 2, 2008 - JE to support smaller lists of displays and menu for selected L2 tab -' May 27, 2008 - fix problem when Registry key GSH_REGKEY_NUMOFT3 does not existed or = 0 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TYPE2TABRBUTTONCLICK(oShape) -'gsh_log_s("GSH_TYPE2TABRBUTTONCLICK oShape = "& oShape) -'On Error GoTo ErrorHandler - - Dim DispStr(), asAssocDisplays(), asAssocLabels() - Dim nRetVal, nAssocDisplays, nCnt, nIndex, nCancelIndex, nStartIndex - Dim sTabDisplayName, sTabLabel, sTemp, sPriorT3, sPriorT4, sPriorT4A, sDispLocation - Dim ArrMenu - - sDispLocation = GSH_READDISPLAYNAMES("") - sTabDisplayName = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPDISPLAYNAME) - sTabLabel = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPTABLEVEL) - - 'if the clicked tab is the same as the current Type 2 Diplay, exit sub - ' Remove this check to provide continuous shortcut menu --- JE - Jan 2, 2008 -'' If sTabDisplayName = GSH_READDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T2FN,"") Then -'' Exit Sub -'' End If - - nAssocDisplays = CSng(GSH_READDISPLAYINFO(sTabDisplayName, GSH_REGKEY_NUMOFT3, "0")) - if nAssocDisplays > 0 then 'this was set for nAssocDisplays > 3 --- JE - Jan 2, 2008 changed to >0 - ReDim asAssocDisplays(nAssocDisplays) - ReDim asAssocLabels(nAssocDisplays) - else 'add this path so that the next for loop won't produce error when #OfAssociatedDisplay = 0) (CL - May 27,2008) - Set ArrMenu = CreateObject("ArrPopupMenuXControl.ArrPopupMenuX") - ReDim DispStr(1) - DispStr(0) = "No associated display available" - ArrMenu.ShowMenuArr DispStr - Set ArrMenu = Nothing - Exit Sub - end if - - For nCnt = 1 To nAssocDisplays - sDisplay = "File3_" & nCnt - sLabel = "Label3_" & nCnt - asAssocDisplays(nCnt) = GSH_READDISPLAYINFO(sTabDisplayName, sDisplay, "") - 'gsh_log("asAssocDisplays("&nCnt&") is "&asAssocDisplays(nCnt)) - - asAssocLabels(nCnt) = GSH_READDISPLAYINFO(sTabDisplayName, sLabel, "") - Next - - asAssocDisplays(0) = sTabDisplayName - asAssocLabels(0) = sTabLabel - - nIndex = 0 - ' If nAssocDisplays <= 0 Then -' Exit Sub -' Else - ReDim DispStr(nAssocDisplays+4) - DispStr(nIndex) = sTabLabel - 'gsh_log("DispStr("&nIndex&") is "&DispStr(nIndex)) - nIndex = nIndex + 1 - DispStr(nIndex) = "" - 'gsh_log("DispStr("&nIndex&") is "&DispStr(nIndex)) - nStartIndex = nIndex - - nIndex = nIndex + 1 - For nCnt = 1 To nAssocDisplays - DispStr(nIndex) = asAssocLabels(nCnt) - 'gsh_log("DispStr("&nIndex&") is "&DispStr(nIndex)) - nIndex = nIndex + 1 - Next - - nCancelIndex = nIndex - - 'CallAgain: -' Dim ArrMenu - Set ArrMenu = CreateObject("ArrPopupMenuXControl.ArrPopupMenuX") - ArrMenu.ShowMenuArr DispStr - nRetVal = ArrMenu.Item - Set ArrMenu = Nothing -' gsh_log ("GSH_TYPE2TABRBUTTONCLICK nRetVal = "&nRetVal) - - If nRetVal < 0 Then - Exit Sub - Else - If nRetVal = nCancelIndex Then - Exit Sub - ElseIf nRetVal = 0 Then - If asAssocDisplays(0) <> "" Then - sTemp = sDispLocation & sTabDisplayName & GSH_DISPLAYFILEEXTENSION -' gsh_log("sTemp is "&sTemp) - 'path of the Prior Type3 Display page - sPriorT3 = GSH_READDISPLAYINFO(sTabDisplayName,"PriorType3","") -' gsh_log ("sPriorT3 = "& sPriorT3) - sPriorT3A = sDispLocation & sPriorT3 & GSH_DISPLAYFILEEXTENSION - 'path of the Prior Type4 Display page - sPriorT4 = GSH_READDISPLAYINFO(sTabDisplayName,"PriorType4","") -' gsh_log ("sPriorT4 = "& sPriorT4) - sPriorT4A = sDispLocation & sPriorT4 & GSH_DISPLAYFILEEXTENSION - call GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(GSH_FALSE) 'Reset all tagname labels to hidden - If sTabDisplayName <> "" Then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T2FN,sTabDisplayName) - 'gsh_log("Navigating to sTemp "&sTemp) - window.navigate(sTemp) - End If - If sPriorT3 <> "" Then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T3FN,sPriorT3) - window.navigate(sPriorT3A) - End If - If sPriorT4 <> "" Then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sPriorT4) - window.navigate(sPriorT4A) - End If - End If - Else - 'Selected Tab is a Type2 Display - If asAssocDisplays(nRetVal-nStartIndex) <> "" Then - call GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(GSH_FALSE) 'Reset all tagname labels to hidden - 'Selected Associated Type3 Display from RClick Menu - sTemp = sDispLocation & asAssocDisplays(nRetVal-nStartIndex) & GSH_DISPLAYFILEEXTENSION - If asAssocDisplays(nRetVal-nStartIndex) <> "" Then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_USET4,"YES") - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T3FN,asAssocDisplays(nRetVal-nStartIndex)) -' gsh_log("Navigating to sTemp "&sTemp) - window.navigate(sTemp) - End If - sTemp = sDispLocation & sTabDisplayName & GSH_DISPLAYFILEEXTENSION - If sTabDisplayName <> "" Then - ' Added check for current Type 2 as now allow right click on active Type 2 display ---- JE Jan. 2, 2008 - 'if the clicked tab is the same as the current Type 2 Diplay, exit sub - If sTabDisplayName = GSH_READDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T2FN,"") Then - Exit Sub - End if - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T2FN,sTabDisplayName) -' gsh_log("Navigating to sTemp "&sTemp) - window.navigate(sTemp) - End If - End If - End If - End If -' End If -'gsh_log_e("GSH_TYPE2TABRBUTTONCLICK") -end sub - - -'09/04/2007 - Added g_PageLoadCompleted check to make sure the page is completely loaded -' before user click b/c this generate problem of L4 loaded on L2 or L3 location. (CL) -'01/11/2008 - Modified so that the function will find and load a L3 page which is on the same -' satellite instead of loading the Prior L3 when the SAME_SATELLITE_LINK option in -' the registry is set to ON -'27Feb2008 - Added function to define the L4 display if the satellie option is on (JE) -'04Mar2008 - Added L1 tab handling -'18July2008 - Remove duplicated call to L4 display at the end of Case 2. -' -'Note: avoid using window.external.Parent.stationWindows because it might cause problems that requires -' the whole station to restart - -Sub GSH_NAVTAB_LCLICK (oShape) -'gsh_log_s("GSH_NAVTAB_LCLICK oShape = "& oShape.id &"Page Load Completed = " &g_PageLoadCompleted) - - - If(g_PageLoadCompleted) then - - Dim sTemp, sPriorT3, sPriorT3A, sPriorT4, sPriorT4A, sDispLocation, sDisplayName, sAssocDisplayName, sT2FileOnDisplay, sT3FileOnDisplay, sT4FileOnDisplay - sDispLocation = GSH_READDISPLAYNAMES("") - sDisplayName = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPDISPLAYNAME) - Dim displayLevel - displayLevel = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPDISPLAYLEVEL) - - window.clearTimeout g_PageLoadTimerID - g_PageLoadCompleted = false - g_PageLoadTimerID=window.setTimeout("g_PageLoadCompleted = true",2400/displayLevel) - - Select Case displayLevel - Case 1 - sTemp = sDispLocation & sDisplayName & ".htm" - If sDisplayName <> "" Then - window.navigate(sTemp) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T1FN,sDisplayName) - End if - Case 2 - sAssocDisplayName = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPASSOCLEVEL4) ' Added June 25, 2008 - JE - to catch L4_Blanks for Wintershall - sT2FileOnDisplay = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T2FN,"") - - - 'Compare DisplayName to Currently Displayed Type2FileName - If Ucase(sDisplayName) <> UCase(sT2FileOnDisplay) Then - - 'path of the Type2 Display page - sTemp = sDispLocation & sDisplayName & ".htm" - 'path of the Prior Type3 Display page - 'sPriorT3 = GSH_READDISPLAYINFO(sDisplayName,"PriorType3","") - sPriorT3 = FIND_L3PAGE(sDisplayName) - sPriorT3A = sDispLocation & sPriorT3 & ".htm" - 'path of the Prior Type4 Display page - - sPriorT4 = GSH_READDISPLAYINFO(sDisplayName,"PriorType4","") - - If sAssocDisplayName = "" Then ' Added June 25, 2008 - sPriorT4 = FIND_L4PAGE(sDisplayName,sPriorT3) - sPriorT4A = sDispLocation & sPriorT4 & ".htm" - Else ' - sPriorT4 = sAssocDisplayName ' - sPriorT4A = sDispLocation & sPriorT4 & ".htm" ' - End if - ' - call GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(GSH_FALSE) 'Reset all tagname labels to hidden - - - - '' Moved T4 Call ahead of T2 to try and stop the T4 being put into wrong window - 25June08 JE - If sPriorT4 <> "" Then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sPriorT4) - window.navigate(sPriorT4A) - End If - - - If sPriorT3 <> "" Then 'Navigate to L3 display first so that the PageLinkAlarmGroup is updated before the L2 display is refreshed. - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T3FN,sPriorT3) - window.navigate(sPriorT3A) - End If - - If sDisplayName <> "" Then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T2FN,sDisplayName) - window.navigate(sTemp) - End If - - End If - Case 3 - sAssocDisplayName = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPASSOCLEVEL4) - - 'path of the Type3 Display page - sTemp = sDispLocation & sDisplayName & ".htm" - sT3FileOnDisplay = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T3FN,"") - 'Compare DisplayName to Currently Displayed Type3FileName - - If Ucase(sTemp) <> Ucase(sT3FileOnDisplay) Then - - 'path of the Prior Type4 Display page - sPriorT4 = sDispLocation & sAssocDisplayName & ".htm" - - call GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(GSH_FALSE) 'Reset all tagname labels to hidden - - If sAssocDisplayName <> "" Then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sAssocDisplayName) - window.navigate(sPriorT4) - End If - - If sDisplayName <> "" Then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T3FN,sDisplayName) - window.navigate(sTemp) - End If - End If - Case 4 - sT4FileOnDisplay = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T4FN,"") - call GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(GSH_FALSE) 'Reset all tagname labels to hidden - 'Compare DisplayName to Currently Displayed Type4FileName - If Ucase(sDisplayName) <> Ucase(sT4FileOnDisplay) Then - 'path of the Type4 Display page - sTemp = sDispLocation & sDisplayName & ".htm" - If sDisplayName <> "" Then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sDisplayName) - window.navigate(sTemp) - - End If - End If - End Select - - End If -'gsh_log_e("GSH_NAVTAB_LCLICK") -End Sub - -function FIND_L3PAGE(sDisplayName) -'gsh_log_s("FIND_L3PAGE sDisplayName = "& sDisplayName) - - dim same_satellite_link, L3_page, i - - L3_page = "" - - same_satellite_link = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_SAME_SATELLITE_LINK,GSH_NONE) - - if strcomp (same_satellite_link, GSH_ON, vbtextcompare) <> 0 then - L3_page = GSH_READDISPLAYINFO(sDisplayName,"PriorType3","") - else - dim last_L3_page, satellite_code, satellite, numOfType3 - last_L3_page = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T3FN,GSH_NONE) - satellite_code = Mid(last_L3_page, 1, 4) - satellite_code = Replace(satellite_code, "_", "") - - numOfType3 = GSH_READDISPLAYINFO(sDisplayName,GSH_REGKEY_NUMOFT3,0) - dim type3Tmp - - for i=1 to numOfType3 - type3Tmp = GSH_READDISPLAYINFO(sDisplayName,"File3_"&i,"") - satellite = Mid(type3Tmp, 1, 4) 'new - satellite = Replace(satellite, "_", "") 'new - if strcomp (satellite,satellite_code, vbtextcompare) = 0 then - ' if InStr(type3Tmp,satellite_code)>0 then - L3_page=type3Tmp -' gsh_log("L3_page = " & L3_page) - Exit For - end if - next - 'This is for exceptional handle b/c the for loop should practically - 'handle all the cases. - if strcomp (L3_page, "", vbtextcompare) = 0 then - L3_page = GSH_READDISPLAYINFO(sDisplayName,"PriorType3","") -' gsh_log ("into exception L3_Page = " & L3_page) - end if - - end if - FIND_L3PAGE = L3_page -'gsh_log_e("FIND_L3PAGE oShape L3_PAGE="&L3_page) -end function - -function FIND_L4PAGE(sDisplayName,sL3Name) -'gsh_log_s("FIND_L4PAGE sDisplayName = "& sDisplayName) - - dim same_satellite_link, L4_page, i - - L4_page = "" - - same_satellite_link = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_SAME_SATELLITE_LINK,GSH_NONE) - - if strcomp (same_satellite_link, GSH_ON, vbtextcompare) <> 0 then - L4_page = GSH_READDISPLAYINFO(sDisplayName,"PriorType4","") - else - dim last_L3_page, satellite_code, satellite, numOfType3 - last_L3_page = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T3FN,GSH_NONE) - L4_page = Replace(sL3Name, "_L3_", "_L4_") - L4_page = L4_page & "_1" -' gsh_log("L4_page="&L4_page) - 'just in case - if strcomp (L4_page, "", vbtextcompare) = 0 then -' L4_page = GSH_READDISPLAYINFO(sDisplayName,"PriorType3","") - April 11, 2008 JE - L4_page = GSH_READDISPLAYINFO(sDisplayName,"PriorType4","") - end if - end if - FIND_L4PAGE = L4_page -'gsh_log_e("FIND_L4PAGE oShape L4_PAGE="&L4_page) -end function - -Const GSH_REGKEY_PAGELINKALARMGROUP = "PageLinkAlarmGroup" -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: GSH_PAGELINK_LCLICK -' Updates the PageLinkAlarmGroup registry key; Updates shapes on L2 Display; -' Launches associated L3 and L4 displays -'Parameters: -' oShape - required to access the Shape property CPEntity value -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_PAGELINK_LCLICK (oShape) -'gsh_log_s("GSH_PAGELINK_LCLICK oShape = "& oShape.id) - Dim sTemp, sDispLocation, sPgLinkTagName - Dim sAssocDisplayName3, sAssocDisplayName4, sT2FileOnDisplay, sT3FileOnDisplay, sT4FileOnDisplay - 'Store Tag Name in Display Communication Mailbox - sPgLinkTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_PAGELINKALARMGROUP,sPgLinkTagName - call GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(GSH_FALSE) 'Reset all tagname labels to hidden - 'Compare DisplayName to Currently Displayed Type2FileName - sDispLocation = GSH_READDISPLAYNAMES("") - sT2FileOnDisplay = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T2FN,"") - 'Update all shapes on Display Level 2 - GSH_UPDATESHAPESONDISPLAY sT2FileOnDisplay & GSH_DISPLAYFILEEXTENSION - 'Launch the associated display Level 3 if not currently displayed - sAssocDisplayName3 = UCase(oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPASSOCTYPE3)) - sT3FileOnDisplay = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T3FN,"") - If sAssocDisplayName3 <> "" Then - If Ucase(sT3FileOnDisplay) <> sAssocDisplayName3 Then - sTemp = sDisplayLocation & sAssocDisplayName3 & GSH_DISPLAYFILEEXTENSION - call GSH_WRITEDISPLAYINFORMATION (sT2FileOnDisplay, GSH_REGKEY_PRIORT3, sAssocDisplayName3) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T3FN,sAssocDisplayName3) - window.navigate(sTemp) - End If - 'Else What To do if custom prop is empty? Error Msg? - End if - 'Launch the associated display Type4 if not currently displayed - sAssocDisplayName4 = UCase(oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPASSOCTYPE4)) - sT4FileOnDisplay = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T4FN,"") - If sAssocDisplayName4 <> "" Then - If Ucase(sT4FileOnDisplay) <> sAssocDisplayName4 Then - sTemp = sDisplayLocation & sAssocDisplayName4 & GSH_DISPLAYFILEEXTENSION - call GSH_WRITEDISPLAYINFORMATION (sT2FileOnDisplay, GSH_REGKEY_PRIORT4, sAssocDisplayName4) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sAssocDisplayName4) - window.navigate(sTemp) - End If - Else 'What To do if custom prop is empty? - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_USET4,"YES") - End If -'gsh_log_e("GSH_PAGELINK_LCLICK") -End Sub - -Sub GSH_PAGELINK_ONUPDATE (oShape) -'gsh_log_s("GSH_PAGELINK_ONUPDATE oShape = "& oShape.id & " flag = "& flag) -on error resume next - call GSH_INITTABNORMAL(oShape) - If (strComp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_PAGELINKALARMGROUP,""),vbTextCompare) = 0) Then - call GSH_INITTABFOCUS (oShape) - End If - dim sAlarmPriority, bUnack - sAlarmPriority = GSH_GETALARMGROUPPRIORITYPARAMETER(oShape.objects("PageLink_Script"),GSH_CPENTITY) - bUnack = GSH_GETALARMGROUPUNACKPARAMETER(oShape.objects("PageLink_Script"),GSH_CPENTITY) - 'gsh_log ("sAlarmPriority = " & sAlarmPriority & "bUnack = " & bUnack ) - call GSH_SHOWALARMS (sAlarmPriority, bUnack, oShape) -'gsh_log_e("GSH_PAGELINK_ONUPDATE") -End Sub - -sub GSH_TABORGANIZER_UPDATEFOCUS (oShape) -Dim sFN(4) - 'oShape.Objects("focus").StyleClass = GSH_CSSTABFOCUSNORMAL - oShape.Objects("focus").StyleClass = GSH_CSSTABORAGANIZEROUTLINENORMAL 'Added 09Jan08 JE - For i = 1 to 4 - sFN(i) = oShape.GetCustomProperty("Text", "Filename"&i) - If (strComp(sFN(i),GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T2FN,""),vbTextCompare) = 0) Then - oShape.Objects("focus").StyleClass = GSH_CSSFOCUSASSOCIATEDTABORGANIZER 'GSH_CSSFOCUSASSOCIATED - exit for - end if - Next -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_NAVTAB_ONUPDATE -' Event handler for GEN_NAVIGATIONTAB shape. -' 05/31/07 Check if Entity is blank. If so then do not update alarms. AL(332) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_NAVTAB_ONUPDATE (oShape) -'gsh_log_s("GSH_NAVTAB_ONUPDATE oShape = "& oShape.id) -on error resume next - call GSH_INITTABNORMAL(oShape) - Dim sRegKey - sRegKey = 0 - Select Case oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPDISPLAYLEVEL) - Case 1 - sRegKey = GSH_REGKEY_T1FN - Case 2 - sRegKey = GSH_REGKEY_T2FN - Case 3 - sRegKey = GSH_REGKEY_T3FN - Case 4 - sRegKey = GSH_REGKEY_T4FN - End Select - If (strComp(oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPDISPLAYNAME),GSH_READDISPLAYCOMMUNICATIONKEYVALUE(sRegKey,""),vbTextcompare) = 0) Then - call GSH_INITTABFOCUS (oShape) - End If - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT, GSH_CPENTITY), "", VBTEXTCOMPARE) <> 0 then - If oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPDISPLAYLEVEL) = 1 then - ' skip alarm checking - exit sub - else - dim sAlarmPriority, bUnack - sAlarmPriority = GSH_GETALARMGROUPPRIORITYPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITY) - bUnack = GSH_GETALARMGROUPUNACKPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITY) - 'gsh_log ("sAlarmPriority = " & sAlarmPriority & " bUnack = " & bUnack ) - oShape.Objects("focus").linewidth = 0 - - if(sAlarmPriority > 0) then - call GSH_SHOWALARMS (sAlarmPriority, bUnack, oShape) - else - call GSH_SHOWNOALARM(oShape) - oShape.Objects("outline").styleClass = GSH_CSSTABOUTLINENORMAL - ' gsh_log ("setting outline") - end if - end if - end if -'gsh_log_e("GSH_NAVTAB_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_GETALARMGROUPPRIORITYPARAMETER''''''''''''''''''''''''' -'Alarm Groups are Experion Points aggregates all point types -'Parameters: -' oDataBoundObject = data bound object within an HCS shape -' paraName - Script Data parameter Name -'Returns: Alarm Code = GSH_ACKLOW, GSH_ACKHIGH, GSH_ACKEMERG, -' GSH_UNACKLOW, GSH_UNACKHIGH, GSH_UNACKEMERG, GSH_NOALARMCODE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETALARMGROUPPRIORITYPARAMETER(oDataBoundObject, pointName) -'gsh_log_s("GSH_GETALARMGROUPPRIORITYPARAMETER oDataBoundObject=" & oDataBoundObject.id & ", pointName=" & pointName) -on error resume next - Dim iAlarmCode - iAlarmCode = 0 - 'Check total alarms - iAlarmCode = GSH_GETPARAMETERVALUE(oDataBoundObject, pointName, GSH_EXPERION_PARAM_ALARMPRIORITY) - 'return alarm code - GSH_GETALARMGROUPPRIORITYPARAMETER = iAlarmCode -'gsh_log_e("GSH_GETALARMGROUPPRIORITYPARAMETER returning " & iAlarmCode) -end function -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_GETALARMGROUPPRIORITYPARAMETER''''''''''''''''''''''''' -'Alarm Groups are Experion Points aggregates all point types -'Parameters: -' oDataBoundObject = data bound object within an HCS shape -' paraName - Script Data parameter Name -'Returns: Alarm Code = GSH_ACKLOW, GSH_ACKHIGH, GSH_ACKEMERG, -' GSH_UNACKLOW, GSH_UNACKHIGH, GSH_UNACKEMERG, GSH_NOALARMCODE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETALARMGROUPUNACKPARAMETER(oDataBoundObject, pointName) -'gsh_log_s("GSH_GETALARMGROUPUNACKPARAMETER oDataBoundObject=" & oDataBoundObject.id & ", paraName=" & pointName) -on error resume next - Dim bUnack - bUnack = false - if (oDataBoundObject.DataValue(pointName & "." & GSH_EXPERION_PARAM_UNACKALARMEXISTS) = 1) then - bUnack = True - end if - GSH_GETALARMGROUPUNACKPARAMETER = bUnack -'gsh_log_e("GSH_GETALARMGROUPUNACKPARAMETER returning " & bUnack) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_INITTABNORMAL'''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_INITTABNORMAL(oShape) -'gsh_log_s("GSH_INITTABNORMAL " & "oShape=" & oShape.id) - oShape.Objects("focus").styleClass = GSH_CSSTABFOCUSNORMAL - oShape.Objects("outline").styleClass = GSH_CSSTABOUTLINENORMAL -'gsh_log_e("GSH_INITTABNORMAL ") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_INITTABFOCUS'''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_INITTABFOCUS(oShape) -'gsh_log_s("GSH_INITTABFOCUS " & "oShape=" & oShape.id) - 'show these objects - oShape.Objects("focus").StyleClass = GSH_CSSFOCUSASSOCIATED - oShape.Objects("outline").styleClass = GSH_CSSTABOUTLINENORMAL -'gsh_log_e("GSH_INITTABFOCUS ") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GEN_SETSHAPEFOCUS'''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape object -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GEN_SETSHAPEFOCUS(oShape) -'gsh_log_s("GSH_GEN_SETSHAPEFOCUS oShape=" & oShape.id) -on error resume next - call GSH_SETSHAPEFOCUS(oShape) - if (strcomp(oShape.objects("focus").styleClass,GSH_CSSFOCUSNONE,vbtextcompare) = 0) then - oShape.objects("outline").fillstyle = GSH_FILLSOLID - else - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT 'in focus, outline must be transparent - end if -'gsh_log_e("GSH_GEN_SETSHAPEFOCUS") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'ANALOGINDICATOR Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOGINDICATORSETFOCUS''''' -'Parameters: oShape = Shape object -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ANALOGINDICATORSETFOCUS(oShape) -'gsh_log_s("GSH_ANALOGINDICATORSETFOCUS oShape=" & oShape.id) -on error resume next - call GSH_SETSHAPEFOCUS(oShape) - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - end if -'gsh_log_e("GSH_ANALOGINDICATORSETFOCUS") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOGINDICATORSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ANALOGINDICATORSHOWNORMAL(oShape) -'gsh_log_s("GSH_ANALOGINDICATORSHOWNORMAL oShape=" & oShape.id) -on error resume next - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("focus").style.visibility = GSH_HIDDEN - call GSH_SHOWNOALARM(oShape) -'gsh_log_e("GSH_ANALOGINDICATORSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOGINDICATOR_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'06/08/07 Removing offnormal check from all Scada analog shapes AL(284) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ANALOGINDICATOR_SCADA_ONUPDATE (oShape, flag) -on error resume next - - If flag = 0 then - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSSANALOGINDICATORDISABLEDALARM - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - '06/08/07 Removing offnormal check from all Scada analog shapes AL(284) - End If - - If flag = 0 then - - 'Bad Data Check - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - oShape.objects("txt_PVvalue").value = "---" - Else - oShape.objects("txt_PVvalue").value = GSH_FormatPVText(oShape,oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV)) - End If - End If -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'DIGITALINDICATOR Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALINDICATORSETFOCUS''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = calling shape. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALINDICATORSETFOCUS(oShape) -'gsh_log_s("GSH_DIGITALINDICATORSETFOCUS oShape=" & oShape.id) -on error resume next - call GSH_SETSHAPEFOCUS(oShape) - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show DIGITAL value and outline - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - end if -'gsh_log_e("GSH_DIGITALINDICATORSETFOCUS") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALINDICATORSHOWNORMAL''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = calling shape. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALINDICATORSHOWNORMAL(oShape) -'gsh_log_s("GSH_DIGITALINDICATORSHOWNORMAL oShape=" & oShape.id) -on error resume next - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - call GSH_SHOWNOALARM(oShape) - oShape.objects("shp_focus").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_DIGITALINDICATORSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALINDICATOR_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital value does not change often) only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALINDICATOR_SCADA_ONUPDATE (oShape, flag) -on error resume next - - -If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If -End If - -If flag <=1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - dim sPVStateTxt - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - -If flag = 0 then - 'Bad Data Check - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - oShape.objects("txt_PVvalue").value = "---" - Else - oShape.objects("txt_PVvalue").value = sPVStateTxt - End If - -End If -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALINDICATOR_SCADA_P6A_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital value does not change often) only to increase performance -'12/19/2007: Added to handle SCADA_DI_P6A shape -'01/11/2008: Modified to handle the change that input parameter are F1,..,F4 instread of F1_0, F1_1, ... -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALINDICATOR_SCADA_P6A_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_DIGITALINDICATOR_SCADA_P6A_ONUPDATE oShape=" & oShape.id) -on error resume next - - -' If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) -' End If - -' If flag <=1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - dim alarmPara - alarmPara = GSH_CPPARAM_IP1 - - 'Find value of GSH_CPPARAM_PV_IP1 - dim input1_val, input2_val, expected_input1_val, expected_input2_val, sPVStateTxt - - sPVStateTxt = GSH_NONE - input1_val = Cint(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_IP1)) - input2_val = Cint(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_IP2)) - - expected_input1_val = Cint(oShape.GetCustomProperty(GSH_CPVALUE,GSH_EXPECTEDVAL1)) - expected_input2_val = Cint(oShape.GetCustomProperty(GSH_CPVALUE,GSH_EXPECTEDVAL2)) - - if((input1_val=expected_input1_val) And (input2_val=expected_input2_val)) then - sPVStateTxt = GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),"BothOn","") - elseif ((input1_val=expected_input1_val) And (input2_val<>expected_input2_val)) then - sPVStateTxt = GSH_GET_STATE_TEXT_P6A(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), oShape.GetCustomProperty(GSH_CPPARAMETER,GSH_CPPARAM_IP1)&"_"&input1_val) - alarmPara=GSH_CPPARAM_IP1 - elseif ((input1_val<>expected_input1_val) And (input2_val=expected_input2_val)) then - sPVStateTxt = GSH_GET_STATE_TEXT_P6A(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), oShape.GetCustomProperty(GSH_CPPARAMETER,GSH_CPPARAM_IP2)&"_"&input2_val) - alarmPara=GSH_CPPARAM_IP2 - else - sPVStateTxt = GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),"BothOff","") - end if - - - oShape.objects("txt_PVvalue").value = sPVStateTxt - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"), GSH_CPENTITY, alarmPara),oShape) - End If - - 'Check for Off Normal if not in focus - To be checked with Rich if need offnormal checking -' if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then -' if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sPVStateTxt) then -' if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then -' oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL -' else -' oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL -' end if -' end if -' end if -' End If - - -'gsh_log_e("GSH_DIGITALINDICATOR_SCADA_P6A_ONUPDATE oShape=") - -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALINDICATOR_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital value does not change often) only to increase performance -'Author: Didi Ekaette July 31, 2007 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALOUTPUTINDICATORALARMS_ONUPDATE (oShape, flag) -on error resume next - -If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITY_OP(oShape.objects("rec_DataScript")),oShape) - End If -End If - -If flag <=1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - dim sOPStateTxt - sOPStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_DIGITAL_POINT_OP_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sOPStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - -If flag = 0 then - oShape.objects("txt_OPvalue").value = sOPStateTxt -End if - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALINDICATOR_SCADA_NOFORMAT_ONUPDATE''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALINDICATOR_SCADA_NOFORMAT_ONUPDATE (oShape) -on error resume next -call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - -'Alarming -if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED -else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) -End If - - -'Set the focus -call GSH_DIGITALINDICATORSETFOCUS(oShape) - -'Check for Off Normal if not in focus -if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_DIGITAL_SCADA_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_PV, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if -end if - -'Bad Data Check -If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - oShape.objects("txt_PVvalue").value = "---" -Else - oShape.objects("txt_PVvalue").value = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV) -End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'MOTORINDICATOR Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MOTORINDICATORSETFOCUS replaced BY GSH_GEN_SETSHAPEFOCUS - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MOTORINDICATORSHOWNORMAL''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MOTORINDICATORSHOWNORMAL(oShape) -'gsh_log_s("GSH_MOTORINDICATORSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - call GSH_SHOWNOALARM(oShape) - oShape.objects("outline").styleClass = GSH_CSSMOTORINDICATORNORMAL -'gsh_log_e("GSH_MOTORINDICATORShowNormal") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MOTORINDICATORMOTORSETRUNSTATE'''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape object -' currentState = Entity's PV value -' sTagName = Shape Tag Name -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MOTORINDICATORMOTORSETRUNSTATE(oShape,currentState, sTagName) -'gsh_log_s("GSH_MOTORINDICATORMOTORSETRUNSTATE oShape=" & oShape.id & "currentState=" & currentState & "sTagName=" & sTagName) -on error resume next -Dim sRecMotorCssStyle - Dim sStateTxt0, sStateTxt1, sStateTxt2, sStateStyle0, sStateStyle1, sStateStyle2 - sStateTxt0 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"StateTxt(0)","") - sStateTxt1 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"StateTxt(1)","") - sStateTxt2 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"StateTxt(2)","") - sStateStyle0 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE(0)","") - sStateStyle1 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE(1)","") - sStateStyle2 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE(2)","") - 'gsh_log("GSH_MOTORINDICATORMOTORSETRUNSTATE checkpoint1 sStateTxt0 = "&sStateTxt0&",sStateTxt1 = "&sStateTxt1&",sStateTxt2 = "&sStateTxt2&",currentState = "¤tState) - - sRecMotorCssStyle = GSH_CSSMOTORINDICATORMOTOROFFNORMAL - If strComp(currentState,sStateTxt0,vbTextCompare)=0 Then - sRecMotorCssStyle = sStateStyle0 - Else If strComp(currentState,sStateTxt1,vbTextCompare)=0 Then - sRecMotorCssStyle = sStateStyle1 - Else If strComp(currentState,sStateTxt2,vbTextCompare)=0 Then - sRecMotorCssStyle = sStateStyle2 - Else - sRecMotorCssStyle = GSH_CSSMOTORINDICATORMOTOROFFNORMAL - End If - End If - End If - - oShape.objects("rec_Motor").styleClass = sRecMotorCssStyle -'gsh_log_e("GSH_MOTORINDICATORMOTORSETRUNSTATE set to "& sRecMotorCssStyle) -end sub - -sub GSH_MOTORINDICATORSETNUMERICSTATE(oShape,nNumericStateValue,sParameterName) -'gsh_log_s("GSH_MOTORINDICATORSETNUMERICSTATE oShape=" & oShape.id & "nNumericStateValue=" & nNumericStateValue) -on error resume next - Dim sTagName, sStateStyle - sTagName = GSH_GETSHAPETAG(oShape) - sStateStyle = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE("&nNumericStateValue&")",GSH_CSSMOTOROFFNORMALFILL) - oShape.objects("rec_Motor").styleClass = sStateStyle -'gsh_log_e("GSH_MOTORINDICATORSETNUMERICSTATE set to "& sStateStyle) -end sub - -'sub GSH_MOTORINDICATOR_P6A_SETNUMERICSTATE(oShape,nNumericStateValue,sParameterName) -'gsh_log_s("GSH_MOTORINDICATOR_P6A_SETNUMERICSTATE oShape=" & oShape.id & "nNumericStateValue=" & nNumericStateValue) -'on error resume next -' Dim sTagName, sStateStyle -' sTagName = GSH_GETSHAPETAG(oShape) -' sStateStyle = GSH_READTAGINFORMATIONKEYVALUE(sTagName,sParameterName&"STATESTYLE",GSH_CSSMOTORINDICATORMOTOROFFNORMAL) -' oShape.objects("rec_Motor").styleClass = sStateStyle -'gsh_log_e("GSH_MOTORINDICATOR_P6A_SETNUMERICSTATE set to "& sStateStyle) -'end sub - -sub GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericStateValue,sParameterName) -'gsh_log_s("GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE oShape=" & oShape.id & "nNumericStateValue=" & nNumericStateValue) -on error resume next - Dim sTagName, sStateStyle - sTagName = GSH_GETSHAPETAG(oShape) -' gsh_log("GSH_ValveDigitalSetValveState checkpoint1 sStateStyle = "&sStateStyle) - sStateStyle = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE("&nNumericStateValue&")",GSH_CSSVALVEDIGITALTRAVEL) - oShape.objects("txt_PVValue").style.visibility = GSH_HIDDEN - If strComp(sStateStyle,GSH_CSSVALVEDIGITALTRAVEL,vbTextCompare)=0 Then 'if the style is travel then make txt_PVValue visible - oShape.objects("txt_PVValue").style.visibility = GSH_VISIBLE - end if - call GSH_ValveDigitalSetValveCSSStyle(oShape,sStateStyle) -'gsh_log_e("GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_MOTORINDICATOR_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 06/13/07 use GSH_GEN_SETSHAPEFOCUS to display focus -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_SCADA_MOTORINDICATOR_ONUPDATE(oShape, flag) -On Error Resume Next - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'check offnormal - dim sPVStateTxt - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_MOTORINDICATOR_P6A_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 12/19/2007: Added the function to handle MOTORINDICATOR_P6A shape (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_SCADA_MOTORINDICATOR_P6A_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_SCADA_MOTORINDICATOR_P6A_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - - - dim alarmPara - alarmPara = GSH_CPPARAM_IP1 - - 'set motor to running or not based on registry - 'Find value of GSH_CPPARAM_PV_IP1 - dim input1_val, input2_val, expected_input1_val, expected_input2_val, sPVStateTxt - - sPVStateTxt = GSH_NONE - input1_val = Cint(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_IP1)) - input2_val = Cint(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_IP2)) - - expected_input1_val = Cint(oShape.GetCustomProperty(GSH_CPVALUE,GSH_EXPECTEDVAL1)) - expected_input2_val = Cint(oShape.GetCustomProperty(GSH_CPVALUE,GSH_EXPECTEDVAL2)) - - if((input1_val=expected_input1_val) And (input2_val=expected_input2_val)) then - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,2,GSH_CPPARAM_IP1) - elseif ((input1_val=expected_input1_val) And (input2_val<>expected_input2_val)) then - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,0,GSH_CPPARAM_IP1) - alarmPara=GSH_CPPARAM_IP1 - elseif ((input1_val<>expected_input1_val) And (input2_val=expected_input2_val)) then - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,1,GSH_CPPARAM_IP1) - alarmPara=GSH_CPPARAM_IP2 - else - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,2,GSH_CPPARAM_IP1) - end if - - dim activeInput - activeInput = GSH_CPPARAM_PV_IP1 - - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"), GSH_CPENTITY, activeInput),oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'check offnormal - 'if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - ' if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - ' if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - ' oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - ' else - ' oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - ' end if - ' end if - 'end if - End If -'gsh_log_e("GSH_SCADA_MOTORINDICATOR_P6A_ONUPDATE") -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'MOTORINDICATORMULTIPLEALARMS Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_MOTORINDICATORWITHALARMS_ONUPDATE'''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 06/12/07 use GSH_GEN_SETSHAPEFOCUS to display focus -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_SCADA_MOTORINDICATORWITHALARMS_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_SCADA_MOTORINDICATORWITHALARMS_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - - 'Alarming: Don't check alarm disabled for this alarm group (OK'd by Jamie) - dim sAlarmPriority, bUnack - sAlarmPriority = GSH_GETALARMGROUPPRIORITYPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITYALARM) - bUnack = GSH_GETALARMGROUPUNACKPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITYALARM) - 'gsh_log ("sAlarmPriority = " & sAlarmPriority & "bUnack = " & bUnack ) - call GSH_SHOWALARMS (sAlarmPriority, bUnack, oShape) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'check offnormal - dim sPVStateTxt - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -'gsh_log_e("GSH_SCADA_MOTORINDICATORWITHALARMS_ONUPDATE") -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MINIMOTORINDICATORSHOWNORMAL''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MINIMOTORINDICATORSHOWNORMAL(oShape) -'gsh_log_s("GSH_MINIMOTORINDICATORSHOWNORMAL oShape=" & oShape.id) -on error resume next - call GSH_SHOWNOALARM(oShape) -'gsh_log_e("GSH_MINIMOTORINDICATORShowNormal") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_MINIMOTORINDICATOR_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital value does not change often) only to increase performance -' 06/13/07 use GSH_GEN_SETSHAPEFOCUS to display focus -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_SCADA_MINIMOTORINDICATOR_ONUPDATE(oShape, flag) - On Error Resume Next - - if flag = 0 then - call GSH_MINIMOTORINDICATORSHOWNORMAL(oShape) - - 'set motor to running or not based on registry - dim sTagName - sTagName = GSH_GETSHAPETAG(oShape) - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSSMINIMOTORINDICATORDISABLEDALARM - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'check offnormal - dim sPVStateTxt - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV,oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' REGULATAORYCONTROLINDICATOR Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGULATORYCONTROLINDICATOR_SCADA_ONUPDATE''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGULATORYCONTROLINDICATOR_SCADA_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_REGULATORYCONTROLINDICATOR_SCADA_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - If flag = 0 then - call GSH_REGULATORYCONTROLINDICATORSHOWNORMAL(oShape) - call GSH_SETREGULATORYCONTROLINDICATORMODE(oShape.objects("rec_DataScript")) - - 'Check the points alarming - if GSH_SCADA_ISALARMINGDISABLED(oShape.objects("rec_DataScript")) Then - 'Alarm is Disabled - call GSH_REGULATORYCONTROLINDICATORSHOWDISABLEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - End If - - - If flag <= 1 then - 'Check Focus - 'call GSH_SETREGULATORYCONTROLINDICATORFOCUS(oShape) - call GSH_GEN_SETSHAPEFOCUS (oShape) - - 'Check for Off Normal if not in focus - - 'if (not(GSH_ISREGULATORYCONTROLINDICATOR_INFOCUS(oShape))) then - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_PV)) then - call GSH_REGULATORYCONTROLINDICATORSHOWOFFNORMAL(oShape) - end if - end if - End If - - If flag = 0 then - 'PV Data Check - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true, false, false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - 'Set Mode - oShape.objects("txt_mode").value = Left(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE), 1) - - End If -'gsh_log_e("GSH_REGULATORYCONTROLINDICATOR_SCADA_ONUPDATE") -End Sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'ANALOGOUTPUTINDICATOR Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOGOUTPUTINDICATORSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS 06/12/07 - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOGOUTPUTINDICATOR_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ANALOGOUTPUTINDICATOR_SCADA_ONUPDATE (oShape, flag) -on error resume next - -If flag = 0 then - oShape.objects("outline").styleClass = GSH_CSSANALOGOUTPUTINDICATORNORMAL -End If - -If flag <=1 then - 'call GSH_ANALOGOUTPUTINDICATORSETFOCUS(oShape) --> replaced by - call GSH_GEN_SETSHAPEFOCUS (oShape) -End If - -If flag =0 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - -End If -'gsh_log_e("GSH_ANALOGOUTPUTINDICATOR_SCADA_ONUPDATE value = " &oShape.objects("txt_OPvalue").value) -End sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOGOUTPUTINDICATOR_ALARMS_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'Author: Didi Ekaette July 30, 2007 -'Jan10,2008: Remove Offnormal checking. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ANALOGOUTPUTINDICATORALARMS_ONUPDATE (oShape, flag) -on error resume next - -If flag <= 1 then - call GSH_SHOWNOALARM(oShape) - call GSH_SETREGULATORYCONTROLINDICATORMODE(oShape.objects("rec_DataScript")) - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSSANALOGINDICATORDISABLEDALARM - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITY_OP(oShape.objects("rec_DataScript")),oShape) - End If - - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - -End If - -If flag = 0 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) -End If - -End sub - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_OPDEVMONITOR_SCADA_ONUPDATE -'Update function for the shape SCADA_OPDEVIATION -'10/03/2008 - Create this new shape & Add code to handle it (Cuong Ly) -' -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_OPDEVMONITOR_SCADA_ONUPDATE(oShape, flag) -' gsh_log_s("GSH_OPDEVMONITOR_SCADA_ONUPDATE oShapeId =" &oShape.id) - - call GSH_C200_OPDEVMONITOR_SHOWNORMAL(oShape) - ' No alarm checking (OK by Jamie) - - If flag <=1 then - - 'Do focus and offnormal checking here. It is important that all shape generic functionalities are - 'done before shape specific ones - call GSH_SETSHAPEFOCUS(oShape) - - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline -' oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("plg_LeftCover001").styleClass = GSH_CSSFOCUSASSOCIATED - oShape.objects("plg_LeftCover002").styleClass = GSH_CSSFOCUSASSOCIATED - oShape.objects("line007").styleClass = GSH_CSSFOCUSASSOCIATED - oShape.objects("line009").styleClass = GSH_CSSFOCUSASSOCIATED - end if - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_POINT_MODE_ISOFFNORMAL(oShape.objects("OPDevMonitor_Script")) then - - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End if - - If flag = 0 then - - 'We do not want shape to reload it self when Value changes, the changes will affect in next update - oShape.autoReloadContent=false - - 'Get OP value - dim opRefVal, deadBand, filterVal, lastRefTime, diff_old - - 'Get the Deadband, filter, OPRefVal and the lastRefTime - - opRefVal = Cdbl(oShape.GetCustomProperty("Value","OPRefVal")) - deadBand = Cdbl(oShape.GetCustomProperty("Value","DeadBand")) - filterVal = oShape.GetCustomProperty("Value","Filter") - lastRefTime = oShape.GetCustomProperty("Value","LastRefTime") - diff_old = oShape.GetCustomProperty("Value","Diff_Old") - - dim diff_cur, deviation, opVal, diff_prev - opVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("OPDevMonitor_Script"),GSH_CPPARAM_OP) - - if(StrComp(opVal,GSH_BADPV_TEXT, vbtextcompare)=0) then - exit sub - end if - - 'Reference OP value is not set, - if(opRefVal < -99.0) then - opRefVal = opVal - oShape.SetCustomProperty "Value","OPRefVal",opVal - oShape.SetCustomProperty "Value","LastRefTime",now - oShape.objects("plg_OPRefValue").style.pixelleft = GSH_GET_OPREFPOSITION(oShape,opRefVal) - exit sub - end if - - 'Get the RefTime from Registry. - dim opDevMonRegistryBase, refTime - opDevMonRegistryBase = GSH_REGISTRY_BASE & GSH_REGISTRY_OPDEVMONITOR - refTime = GSH_READREGISTRY(opDevMonRegistryBase & GSH_REGKEY_OPDEVMON_RESETTIME, GSH_EMPTYSTRING) - - 'If the RefTime > lastRefTime then update OPRefVal to current OPVal & update lastRefTime to RefTime - 'Need to give it a time buffer (i.e within 10s)? - if((StrComp(refTime,GSH_EMPTYSTRING)<>0) AND (CDate(refTime) > CDate(lastRefTime))) then - oShape.SetCustomProperty "Value","OPRefVal",opVal - opRefVal = opVal - oShape.SetCustomProperty "Value","LastRefTime",refTime - oShape.SetCustomProperty "Value","Diff_Old",0 - diff_old = 0 - oShape.objects("plg_OPRefValue").style.pixelleft = GSH_GET_OPREFPOSITION(oShape,opRefVal) - end if - - 'Calculate OPDeviation - diff_prev = diff_old - diff_cur = opVal - opRefVal - diff_old = (diff_cur + diff_old)*filterVal - oShape.SetCustomProperty "Value","Diff_Old", diff_old - -' gsh_log("diff_cur = " &diff_cur &" diff_old = " &diff_old &" diff_prev = " &diff_prev) - - 'Set ButterFlies - if diff_cur > 0 then - oShape.objects("ind_OPDevBarRight").value = diff_cur - oShape.objects("ind_OPDevBarLeft").value = 0 - elseif diff_cur < 0 then - oShape.objects("ind_OPDevBarRight").value = 0 - oShape.objects("ind_OPDevBarLeft").value = diff_cur - else - oShape.objects("ind_OPDevBarRight").value = 0 - oShape.objects("ind_OPDevBarLeft").value = 0 - end if - - 'Set arrows - TODO: should this compare absolute value? - if ((diff_cur-diff_prev) > deadBand) then - 'set arrow to right - oShape.objects("grp_RightArrow").style.visibility = GSH_VISIBLE - oShape.objects("grp_LeftArrow").style.visibility = GSH_HIDDEN - elseif ((diff_prev - diff_cur) > deadBand) then - 'set arrow to the left - oShape.objects("grp_RightArrow").style.visibility = GSH_HIDDEN - oShape.objects("grp_LeftArrow").style.visibility = GSH_VISIBLE - else - 'hide arrows - oShape.objects("grp_RightArrow").style.visibility = GSH_HIDDEN - oShape.objects("grp_LeftArrow").style.visibility = GSH_HIDDEN - end if - - End If - -' gsh_log_e("GSH_OPDEVMONITOR_SCADA_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_OPDEVMONITOR_SCADA_ONUPDATE",oShape) - end if - -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'Author: Didi Ekaette July 30, 2007 -'Jan10,2008: Rename to GSH_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE (oShape, flag) -on error resume next - -If flag <= 1 then - call GSH_SHOWNOALARM(oShape) - call GSH_SETREGULATORYCONTROLINDICATORMODE(oShape.objects("rec_DataScript")) - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSSANALOGINDICATORDISABLEDALARM - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITY_OP(oShape.objects("rec_DataScript")),oShape) - End If - - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_OP)) then - call GSH_REGULATORYCONTROLINDICATORSHOWOFFNORMAL(oShape) - end if - end if - -End If - -If flag = 0 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) -End If - -End sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'SENSOR Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SENSOR_SCADA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: shape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SENSOR_SCADA_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_SENSOR_SCADA_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - If flag = 0 then - call GSH_SENSORSHOWNORMAL(oShape) - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - 'Alarm is Disabled - call GSH_SENSORSHOWSUPPRESSEDALARM(oShape) - else - 'alarming is enabled, get highest priority and change shape accordingly - Select Case GSH_GETHIGHESTALARMPRIORITY(oShape.objects("rec_DataScript")) - Case GSH_UNACKEMERG - call GSH_SENSORSHOWEMERGENCYALARM(oShape,true) - Case GSH_UNACKHIGH - call GSH_SENSORSHOWHIGHALARM(oShape,true) - Case GSH_UNACKLOW - call GSH_SENSORSHOWLOWALARM(oShape,true) - Case GSH_ACKEMERG - call GSH_SENSORSHOWEMERGENCYALARM(oShape,false) - Case GSH_ACKHIGH - call GSH_SENSORSHOWHIGHALARM(oShape,false) - Case GSH_ACKLOW - call GSH_SENSORSHOWLOWALARM(oShape,false) - Case Else - End Select - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_SETSHAPEFOCUS(oShape) - 'No Offnormal check as this shape could be a digital flag or analog point. - 'gsh_log_e("GSH_SENSOR_SCADA_ONUPDATE") - End If -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SENSORSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SENSORSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_SENSORSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'Disable Alarms - call GSH_SHOWNOALARM(oDataBoundObject) - oDataBoundObject.objects("ovl_sensor").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("ovl_sensor").styleClass = GSH_CSSSENSORNORMAL -'gsh_log_e("GSH_SENSORSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SENSORSHOWHIGHALARM'''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SENSORSHOWHIGHALARM(oDataBoundObject,unAcknowledged) -'gsh_log_s("GSH_SENSORSHOWHIGHALARM oDataBoundObject=" & oDataBoundObject.id & "unAcknowledged=" & cstr(unAcknowledged)) - 'show - call GSH_ShowHighAlarm(oDataBoundObject,unAcknowledged) - oDataBoundObject.objects("ovl_sensor").style.visibility = GSH_VISIBLE - if unAcknowledged then - oDataBoundObject.objects("ovl_sensor").styleClass = GSH_CSSSENSORALARMHIGHUNACK - - else - oDataBoundObject.objects("ovl_sensor").styleClass = GSH_CSSSENSORALARMHIGHACK - end if -'gsh_log_e("GSH_SENSORSHOWHIGHALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SENSORSHOWLOWALARM''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SENSORSHOWLOWALARM(oDataBoundObject,unAcknowledged) -'gsh_log_s("GSH_SENSORSHOWLOWALARM oDataBoundObject=" & oDataBoundObject.id & "unAcknowledged=" & cstr(unAcknowledged)) - 'show - call GSH_ShowLowAlarm(oDataBoundObject,unAcknowledged) - oDataBoundObject.objects("ovl_sensor").style.visibility = GSH_VISIBLE - if unAcknowledged then - oDataBoundObject.objects("ovl_sensor").styleClass = GSH_CSSSENSORALARMLOWUNACK - else - oDataBoundObject.objects("ovl_sensor").styleClass = GSH_CSSSENSORALARMLOWACK - end if -'gsh_log_e("GSH_SENSORSHOWLOWALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SENSORSHOWEMERGENCYALARM''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SENSORSHOWEMERGENCYALARM(oDataBoundObject,unAcknowledged) -'gsh_log_s("GSH_SENSORSHOWEMERGENCYALARM oDataBoundObject=" & oDataBoundObject.id & "unAcknowledged=" & cstr(unAcknowledged)) - 'show - call GSH_ShowEmergencyAlarm(oDataBoundObject,unAcknowledged) - oDataBoundObject.objects("ovl_sensor").style.visibility = GSH_VISIBLE - if unAcknowledged then - oDataBoundObject.objects("ovl_sensor").styleClass = GSH_CSSSENSORALARMEMERGENCYUNACK - else - oDataBoundObject.objects("ovl_sensor").styleClass = GSH_CSSSENSORALARMEMERGENCYACK - end if -'gsh_log_e("GSH_SENSORSHOWEMERGENCYALARM") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SENSORSHOWDISABLEDALARM''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SENSORSHOWDISABLEDALARM(oDataBoundObject) -'gsh_log_s("GSH_SENSORSHOWDISABLEDALARM oDataBoundObject=" & oDataBoundObject.id) - oDataBoundObject.objects("ovl_sensor").styleClass = GSH_CSSSENSORDISABLEDALARM -'gsh_log_e("GSH_SENSORSHOWDISABLEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SENSORSHOWSUPPRESSEDALARM''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SENSORSHOWSUPPRESSEDALARM(oDataBoundObject) -'gsh_log_s("GSH_SENSORSHOWSUPPRESSEDALARM oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("ovl_sensor").styleClass = GSH_CSSSENSORDISABLEDALARM -'gsh_log_e("GSH_SENSORSHOWSUPPRESSEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SENSOR_ISPOINTOFFNORMAL removed Apr 13, 2007 (AL)'''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SENSORSHOWOFFNORMAL'''''''''''''''''''''''''''' -'Parameters: oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SENSORSHOWOFFNORMAL(oDataBoundObject) -'gsh_log_s("GSH_SENSORSHOWOFFNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL -'gsh_log_e("GSH_SENSORSHOWOFFNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'MULTIPLESENSORS Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIPLESENSORS_SCADA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'06/08/07 Removing offnormal check from all Scada analog shapes AL(284) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIPLESENSORS_SCADA_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_MULTIPLESENSORS_SCADA_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - If flag = 0 then - call GSH_MULTIPLESENSORSSHOWNORMAL(oShape) - - 'Alarming - 'Check Alarming disabled - if (GSH_SCADA_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"), GSH_CPENTITY) or GSH_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"), GSH_CPENTITYALARM)) Then - 'Alarm is Disabled - call GSH_MULTIPLESENSORSSHOWSUPPRESSEDALARM(oShape) - end if - 'Get Highest Alarm - iAlarmCode1 = GSH_GETHIGHESTALARMPRIORITYParameter(oShape.objects("rec_DataScript"), GSH_CPENTITY) - iAlarmCode2 = GSH_GETHIGHESTALARMPRIORITYParameter(oShape.objects("rec_DataScript"), GSH_CPENTITYALARM) - iAlarmCode = GSH_COMPAREHIGHESTALARMPRIORITY(iAlarmCode1, iAlarmCode2) - - 'alert("iAlarmCode2 = " &iAlarmCode2) - - Select Case iAlarmCode - Case GSH_UNACKEMERG - call GSH_MULTIPLESENSORSSHOWEMERGENCYALARM(oShape,true) - Case GSH_UNACKHIGH - call GSH_MULTIPLESENSORSSHOWHIGHALARM(oShape,true) - Case GSH_UNACKLOW - call GSH_MULTIPLESENSORSSHOWLOWALARM(oShape,true) - Case GSH_ACKEMERG - call GSH_MULTIPLESENSORSSHOWEMERGENCYALARM(oShape,false) - Case GSH_ACKHIGH - call GSH_MULTIPLESENSORSSHOWHIGHALARM(oShape,false) - Case GSH_ACKLOW - call GSH_MULTIPLESENSORSSHOWLOWALARM(oShape,false) - Case Else - 'No Alarms - End Select - End If - - If flag <= 1 then - 'Set the focus - call GSH_MULTIPLESENSORSSETFOCUS(oShape) -'06/08/07 Removing offnormal check from all Scada analog shapes AL(284) - End If - -'gsh_log_e("GSH_MULTIPLESENSORS_SCADA_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIPLESENSORSSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIPLESENSORSSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_MULTIPLESENSORSSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'Disable Alarms - call GSH_SHOWNOALARM(oDataBoundObject) - oDataBoundObject.objects("plg_MultipleSensors").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("plg_MultipleSensors").styleClass = GSH_CSSSENSORNORMAL -'gsh_log_e("GSH_MULTIPLESENSORSSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIPLESENSORSSHOWHIGHALARM'''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIPLESENSORSSHOWHIGHALARM(oDataBoundObject,unAcknowledged) -'gsh_log_s("GSH_MULTIPLESENSORSSHOWHIGHALARM oDataBoundObject=" & oDataBoundObject.id & "unAcknowledged=" & cstr(unAcknowledged)) - 'show - call GSH_ShowHighAlarm(oDataBoundObject,unAcknowledged) - oDataBoundObject.objects("plg_MultipleSensors").style.visibility = GSH_VISIBLE - if unAcknowledged then - oDataBoundObject.objects("plg_MultipleSensors").styleClass = GSH_CSSSENSORALARMHIGHUNACK - - else - oDataBoundObject.objects("plg_MultipleSensors").styleClass = GSH_CSSSENSORALARMHIGHACK - end if -'gsh_log_e("GSH_MULTIPLESENSORSSHOWHIGHALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIPLESENSORSSHOWLOWALARM''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIPLESENSORSSHOWLOWALARM(oDataBoundObject,unAcknowledged) -'gsh_log_s("GSH_MULTIPLESENSORSSHOWLOWALARM oDataBoundObject=" & oDataBoundObject.id & "unAcknowledged=" & cstr(unAcknowledged)) - 'show - call GSH_ShowLowAlarm(oDataBoundObject,unAcknowledged) - oDataBoundObject.objects("plg_MultipleSensors").style.visibility = GSH_VISIBLE - if unAcknowledged then - oDataBoundObject.objects("plg_MultipleSensors").styleClass = GSH_CSSSENSORALARMLOWUNACK - else - oDataBoundObject.objects("plg_MultipleSensors").styleClass = GSH_CSSSENSORALARMLOWACK - end if -'gsh_log_e("GSH_MULTIPLESENSORSSHOWLOWALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIPLESENSORSSHOWEMERGENCYALARM''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIPLESENSORSSHOWEMERGENCYALARM(oDataBoundObject,unAcknowledged) -'gsh_log_s("GSH_MULTIPLESENSORSSHOWEMERGENCYALARM oDataBoundObject=" & oDataBoundObject.id & "unAcknowledged=" & cstr(unAcknowledged)) - 'show - call GSH_ShowEmergencyAlarm(oDataBoundObject,unAcknowledged) - oDataBoundObject.objects("plg_MultipleSensors").style.visibility = GSH_VISIBLE - if unAcknowledged then - oDataBoundObject.objects("plg_MultipleSensors").styleClass = GSH_CSSSENSORALARMEMERGENCYUNACK - else - oDataBoundObject.objects("plg_MultipleSensors").styleClass = GSH_CSSSENSORALARMEMERGENCYACK - end if -'gsh_log_e("GSH_MULTIPLESENSORSSHOWEMERGENCYALARM") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIPLESENSORSSHOWDISABLEDALARM''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIPLESENSORSSHOWDISABLEDALARM(oDataBoundObject) -'gsh_log_s("GSH_MULTIPLESENSORSSHOWDISABLEDALARM oDataBoundObject=" & oDataBoundObject.id) - oDataBoundObject.objects("plg_MultipleSensors").styleClass = GSH_CSSSENSORDISABLEDALARM -'gsh_log_e("GSH_MULTIPLESENSORSSHOWDISABLEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIPLESENSORSSHOWSUPPRESSEDALARM''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIPLESENSORSSHOWSUPPRESSEDALARM(oDataBoundObject) -'gsh_log_s("GSH_MULTIPLESENSORSSHOWSUPPRESSEDALARM oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("plg_MultipleSensors").styleClass = GSH_CSSSENSORDISABLEDALARM -'gsh_log_e("GSH_MULTIPLESENSORSSHOWSUPPRESSEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIPLESENSORSSETFOCUS''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIPLESENSORSSETFOCUS(oDataBoundObject) -'gsh_log_s("GSH_MULTIPLESENSORSSETFOCUS oDataBoundObject=" & oDataBoundObject.id) -on error resume next - call GSH_SETSHAPEFOCUS(oDataBoundObject) -'gsh_log_e("GSH_MULTIPLESENSORSSETFOCUS") -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Group Analog Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPANALOG_SCADA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'06/08/07 Removing offnormal check from all Scada analog shapes AL(284) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPANALOG_SCADA_ONUPDATE(oShape, flag) -on error resume next - If flag = 0 then - call GSH_GROUPANALOGSHOWNORMAL(oShape) - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - call GSH_GROUPANALOGSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - End If - - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS (oShape) - '06/08/07 Removing offnormal check from all Scada analog shapes AL(284) - End If - - If flag = 0 then - 'PV Data Check - If NOT(GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true, false, false)) Then - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - Else - call GSH_GROUPANALOGSHOWBADPV(oShape) - End If - End If - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPANALOGSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPANALOGSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPANALOGSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagKeyword, stagName - 'Disable Alarms - call GSH_SHOWNOALARM(oDataBoundObject) - 'Show objects - oDataBoundObject.objects("outline").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPANALOGNORMAL - oDataBoundObject.objects("txt_AnalogValue").style.visibility = GSH_VISIBLE - 'Read Values from Registry - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - stagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - 'Assign values - 'gsh_log ("tagName = "&tagname) - oDataBoundObject.objects("txt_tagname").value = stagName - oDataBoundObject.objects("txt_keyword").value = tagKeyword -'gsh_log_e("GSH_GROUPANALOGSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPANALOGSHOWOFFNORMAL'''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPANALOGSHOWOFFNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPANALOGSHOWOFFNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - if (oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if -'gsh_log_e("GSH_GROUPANALOGSHOWOFFNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPANALOGSHOWBADPV''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPANALOGSHOWBADPV(oDataBoundObject) -'gsh_log_s("GSH_GROUPANALOGSHOWBADPV oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("txt_AnalogValue").value = GSH_BADPV_TEXT -'gsh_log_e("GSH_GROUPANALOGSHOWBADPV") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPANALOGSHOWSUPPRESSEDALARM''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPANALOGSHOWSUPPRESSEDALARM(oDataBoundObject) -'gsh_log_s("GSH_GROUPANALOGSHOWSUPPRESSEDALARM oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPANALOGDISABLEDALARM -'gsh_log_e("GSH_GROUPANALOGSHOWSUPPRESSEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPANALOGSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS 06/12/07 - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITESHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: ' oDataBoundObject = subshape name or me, if calling within subshape -'Used for C200 and SCADA -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITESHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITESHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagKeyword, tagName - 'Disable Alarms - call GSH_SHOWNOALARM(oDataBoundObject) - 'Show values - oDataBoundObject.objects("outline").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPDIGITALCOMPOSITENORMAL - 'Read Values from Registry - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - tagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - 'Assign values to textboxes - oDataBoundObject.objects("txt_tagname").value = tagName - oDataBoundObject.objects("txt_keyword").value = tagKeyword -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITESHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITESHOWOFFNORMAL'''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITESHOWOFFNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITESHOWOFFNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITESHOWOFFNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITESHOWBADPV''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITESHOWBADPV(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITESHOWBADPV oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("txt_DigitalValue").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("txt_DigitalValue").value = GSH_BADPV_TEXT -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITESHOWBADPV") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITESHOWSUPPRESSEDALARM''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITESHOWSUPPRESSEDALARM(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITESHOWSUPPRESSEDALARM oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPDIGITALCOMPOSITEDISABLEDALARM -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITESHOWSUPPRESSEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITESETFOCUS''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITESETFOCUS(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITESETFOCUS oDataBoundObject=" & oDataBoundObject.id) -on error resume next - call GSH_SETSHAPEFOCUS(oDataBoundObject) - if (not(oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must change outline fill to transparent - oDataBoundObject.objects("outline").fillstyle = GSH_FILLTRANSPARENT - end if -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITESETFOCUS") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITESETVALVECSSSTYLE'''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITESETVALVECSSSTYLE(oShape,style) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITESETVALVECSSSTYLE oShape=" & oShape.id&",style="&style) -on error resume next - 'gsh_log("GSH_GROUPDIGITALCOMPOSITESETVALVECSSSTYLE CHECKPOINT") - oShape.objects("outline").styleClass = style -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITESETVALVECSSSTYLE") -end sub - -'GSH_GROUPDIGITALCOMPOSITESETVALVESTATE''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITESETVALVESTATE(oShape,currentState) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITESETVALVESTATE oShape=" & oShape.id & "currentState=" & currentState) -on error resume next -Dim sTagName - - Dim sStateTxt0, sStateTxt1,sStateTxt2, sStateStyle0, sStateStyle1, sStateStyle2 - sTagName = GSH_GETSHAPETAG(oShape) - sStateTxt0 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"StateTxt(0)","") - sStateTxt1 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"StateTxt(1)","") - sStateTxt2 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"StateTxt(2)","") - sStateStyle0 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE(0)","") - sStateStyle1 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE(1)","") - sStateStyle2 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE(2)","") - 'gsh_log("GSH_GROUPDIGITALCOMPOSITESETVALVESTATE checkpoint1 sStateTxt0 = "&sStateTxt0&",sStateTxt1 = "&sStateTxt1&",sStateTxt2 = "&sStateTxt2&",currentState = "¤tState) - - If currentState = sStateTxt0 Then - call GSH_GROUPDIGITALCOMPOSITESETVALVECSSSTYLE(oShape,sStateStyle0) - Else If currentState = sStateTxt1 Then - call GSH_GROUPDIGITALCOMPOSITESETVALVECSSSTYLE(oShape,sStateStyle1) - Else If currentState = sStateTxt2 Then - call GSH_GROUPDIGITALCOMPOSITESETVALVECSSSTYLE(oShape,sStateStyle2) - Else - call GSH_GROUPDIGITALCOMPOSITESETVALVECSSSTYLE(oShape,GSH_CSSGROUPDIGITALCOMPOSITEDEFAULT) - End If - End If - End If -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITESETVALVESTATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPDIGITALCOMPOSITEHIDEMODEENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITEHIDEMODEENTRY(oShape) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITEHIDEMODEENTRY oShape=" & oShape.id) - window.clearInterval(GSH_GroupTimerId) - oShape.objects("cmb_ModAttrValue").style.visibility = GSH_HIDDEN - oShape.objects("txt_ModAttrValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITEHIDEMODEENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPDIGITALCOMPOSITESHOWMODEENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITESHOWMODEENTRY(oShape) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITESHOWMODEENTRY oShape=" & oShape.id) - oShape.objects("cmb_ModAttrValue").style.visibility = GSH_VISIBLE - oShape.objects("txt_ModAttrValue").style.visibility = GSH_HIDDEN - window.clearInterval(GSH_GroupTimerId) - GSH_GroupTimerId = window.setInterval("GSH_GROUPDIGITALCOMPOSITEHIDEMODEENTRY(" & oShape.id & ")", GSH_GroupTimeout * 1000) -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITESHOWMODEENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPDIGITALCOMPOSITEHIDEOPENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITEHIDEOPENTRY(oShape) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITEHIDEOPENTRY oShape=" & oShape.id) - window.clearInterval(GSH_GroupTimerId) - oShape.objects("cmb_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("txt_OPValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITEHIDEOPENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPDIGITALCOMPOSITESHOWOPENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITESHOWOPENTRY(oShape) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITESHOWOPENTRY oShape=" & oShape.id) - oShape.objects("cmb_OPValue").style.visibility = GSH_VISIBLE - oShape.objects("txt_OPValue").style.visibility = GSH_HIDDEN - window.clearInterval(GSH_GroupTimerId) - GSH_GroupTimerId = window.setInterval("GSH_GROUPDIGITALCOMPOSITEHIDEOPENTRY(" & oShape.id & ")", GSH_GroupTimeout * 1000) -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITESHOWOPENTRY") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Group Digital Input Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_GROUPDIGITALINPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape - Shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital value does not change often) only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_GROUPDIGITALINPUT_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_SCADA_GROUPDIGITALINPUT_ONUPDATE oShape = " & oShape.id) -on error resume next - -If flag = 0 then - GSH_GROUPDIGITALINPUTSHOWNORMAL(oShape) - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - 'Alarm is Disabled - call GSH_GROUPDIGITALINPUTSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If -End If - -If flag <= 1 then - 'Set the focus - 'call GSH_GROUPDIGITALINPUTSETFOCUS(oShape) - call GSH_GEN_SETSHAPEFOCUS (oShape) - - 'Check for Off Normal if not in focus - dim sPVStateTxt - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV,oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sPVStateTxt) then - call GSH_GROUPDIGITALINPUTSHOWOFFNORMAL(oShape) - end if - end if - -End If - -If flag = 0 then - - 'PV Data Check - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true, false, false) Then - call GSH_GROUPDIGITALINPUTSHOWBADPV(oShape) - else - oShape.objects("txt_DigitalValue").value = sPVStateTxt - End If - 'gsh_log_e("GSH_SCADA_GROUPDIGITALINPUT_ONUPDATE") -End If -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALINPUTSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALINPUTSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALINPUTSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagKeyword, tagName - 'Disable Alarms - call GSH_SHOWNOALARM(oDataBoundObject) - 'Show values - oDataBoundObject.objects("outline").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPDIGITALINPUTNORMAL - oDataBoundObject.objects("txt_DigitalValue").style.visibility = GSH_VISIBLE - 'Read Values from Registry - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - tagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - 'Assign values to textboxes - oDataBoundObject.objects("txt_tagname").value = tagName - oDataBoundObject.objects("txt_keyword").value = tagKeyword -'gsh_log_e("GSH_GROUPDIGITALINPUTSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALINPUTSHOWOFFNORMAL'''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALINPUTSHOWOFFNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALINPUTSHOWOFFNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - if (oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if -'gsh_log_e("GSH_GROUPDIGITALINPUTSHOWOFFNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALINPUTSHOWBADPV''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALINPUTSHOWBADPV(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALINPUTSHOWBADPV oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'call GSH_HIDESUBSHAPE(oDataBoundObject.objects("alp_AnalogValue")) - 'oDataBoundObject.objects("txt_PVvalue").value = "---" - 'call GSH_SHOWSUBSHAPE(oDataBoundObject.objects("shp_BadPVText")) - oDataBoundObject.objects("txt_DigitalValue").value = GSH_BADPV_TEXT -'gsh_log_e("GSH_GROUPDIGITALINPUTSHOWBADPV") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALINPUTSHOWSUPPRESSEDALARM''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALINPUTSHOWSUPPRESSEDALARM(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALINPUTSHOWSUPPRESSEDALARM oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPDIGITALINPUTDISABLEDALARM -'gsh_log_e("GSH_GROUPDIGITALINPUTSHOWSUPPRESSEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALINPUTSETFOCUS''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALINPUTSETFOCUS(oDataBoundObject) -'gsh_log_s("GSH_GROUPDIGITALINPUTSETFOCUS oDataBoundObject=" & oDataBoundObject.id) -on error resume next - call GSH_SETSHAPEFOCUS(oDataBoundObject) - if (not(oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must change outline fill to transparent - oDataBoundObject.objects("outline").fillstyle = GSH_FILLTRANSPARENT - end if -'gsh_log_e("GSH_GROUPDIGITALINPUTSETFOCUS") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALINPUTSETVALVECSSSTYLE'''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALINPUTSETVALVECSSSTYLE(oShape,style) -'gsh_log_s("GSH_GROUPDIGITALINPUTSETVALVECSSSTYLE oShape=" & oShape.id&",style="&style) -on error resume next - 'gsh_log("GSH_GROUPDIGITALINPUTSETVALVECSSSTYLE CHECKPOINT") - oShape.objects("outline").styleClass = style -'gsh_log_e("GSH_GROUPDIGITALINPUTSETVALVECSSSTYLE") -end sub - -'GSH_GROUPDIGITALINPUTSETVALVESTATE''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALINPUTSETVALVESTATE(oShape,currentState) -'gsh_log_s("GSH_GROUPDIGITALINPUTSETVALVESTATE oShape=" & oShape.id & "currentState=" & currentState) -on error resume next -Dim sTagName - - Dim sStateTxt0, sStateTxt1,sStateTxt2, sStateStyle0, sStateStyle1, sStateStyle2 - sTagName = GSH_GETSHAPETAG(oShape) - sStateTxt0 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"StateTxt(0)","") - sStateTxt1 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"StateTxt(1)","") - sStateTxt2 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"StateTxt(2)","") - sStateStyle0 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE(0)","") - sStateStyle1 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE(1)","") - sStateStyle2 = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE(2)","") - 'gsh_log("GSH_GROUPDIGITALINPUTSETVALVESTATE checkpoint1 sStateTxt0 = "&sStateTxt0&",sStateTxt1 = "&sStateTxt1&",sStateTxt2 = "&sStateTxt2&",currentState = "¤tState) - - If currentState = sStateTxt0 Then - call GSH_GROUPDIGITALINPUTSETVALVECSSSTYLE(oShape,sStateStyle0) - Else If currentState = sStateTxt1 Then - call GSH_GROUPDIGITALINPUTSETVALVECSSSTYLE(oShape,sStateStyle1) - Else If currentState = sStateTxt2 Then - call GSH_GROUPDIGITALINPUTSETVALVECSSSTYLE(oShape,sStateStyle2) - Else - call GSH_GROUPDIGITALINPUTSETVALVECSSSTYLE(oShape,GSH_CSSGROUPDIGITALINPUTDEFAULT) - End If - End If - End If -'gsh_log_e("GSH_GROUPDIGITALINPUTSETVALVESTATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Group Orsel Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSEL_SCADA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape -'06/08/07 Removing offnormal check from all Scada analog shapes AL(284) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSEL_SCADA_ONUPDATE(oShape, flag) - -on error resume next - - If flag = 0 then - GSH_GROUPORSELSHOWNORMAL(oShape) - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - call GSH_GROUPORSELSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - End If - - - If flag <= 1 then - 'Set the focus - call GSH_GROUPORSELSETFOCUS(oShape) - - End If - - If flag = 0 then - '06/08/07 Removing offnormal check from all Scada analog shapes AL(284) - 'Display OP Value - oShape.objects("txt_OPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP)) - - 'Display Mode Data - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - - End If - 'Set Outline fill color White - oShape.objects("outline").styleClass = GSH_CSSWHITE -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSELSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPORSELSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagKeyword, tagName - 'Read Values from Registry - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - tagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - 'Assign values to textboxes - oDataBoundObject.objects("txt_tagname").value = tagName - oDataBoundObject.objects("txt_keyword").value = tagKeyword - 'Disable Alarms - call GSH_SHOWNOALARM(oDataBoundObject) - 'Show values - oDataBoundObject.objects("outline").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPORSELNORMAL - oDataBoundObject.objects("txt_statusmessage").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_Initialization").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_GROUPORSELSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSEL_ISPOINTOFFNORMAL removed Apr 13, 2007'''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSELSHOWOFFNORMAL'''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSHOWOFFNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPORSELSHOWOFFNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - if (oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if -'gsh_log_e("GSH_GROUPORSELSHOWOFFNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSELSHOWSUPPRESSEDALARM''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSHOWSUPPRESSEDALARM(oDataBoundObject) -'gsh_log_s("GSH_GROUPORSELSHOWSUPPRESSEDALARM oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPORSELDISABLEDALARM -'gsh_log_e("GSH_GROUPORSELSHOWSUPPRESSEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSELSETFOCUS''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSETFOCUS(oDataBoundObject) -'gsh_log_s("GSH_GROUPORSELSETFOCUS oDataBoundObject=" & oDataBoundObject.id) -on error resume next - call GSH_SETSHAPEFOCUS(oDataBoundObject) - if (not(oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must change outline fill to transparent - oDataBoundObject.objects("outline").fillstyle = GSH_FILLTRANSPARENT - end if -'gsh_log_e("GSH_GROUPORSELSETFOCUS") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSELSHOWINITIALIZATION''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSHOWINITIALIZATION(oDataBoundObject) -'gsh_log_s("GSH_GROUPORSELSHOWINITIALIZATION oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("txt_Initialization").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPORSELSHOWINITIALIZATION") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSELSHOWWINDUP_LOW''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSHOWWINDUP_LOW(oDataBoundObject) -'gsh_log_s("GSH_GROUPORSELSHOWWINDUP_LOW oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'show - 'call GSH_GROUPORSELSHOWNORMAL(oDataBoundObject) - oDataBoundObject.objects("plg_OpLow").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPORSELSHOWWINDUP_LOW") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSELSHOWWINDUP_HIGH'''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSHOWWINDUP_HIGH(oDataBoundObject) -'gsh_log_s("GSH_GROUPORSELSHOWWINDUP_HIGH oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'show - 'call GSH_GROUPORSELSHOWNORMAL(oDataBoundObject) - oDataBoundObject.objects("plg_OpHigh").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPORSELSHOWWINDUP_HIGH") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPORSELSETSTATUS'''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSETSTATUS(oDataBoundObject, sValue) -'gsh_log_s("GSH_GROUPORSELSETSTATUS oDataBoundObject=" & oDataBoundObject.id & " value=" & sValue) -on error resume next - oDataBoundObject.objects("txt_status").value = sValue - oDataBoundObject.objects("txt_status").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPORSELSETSTATUS") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPORSELHIDEMODEENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELHIDEMODEENTRY(oShape) -'gsh_log_s("GSH_GROUPORSELHIDEMODEENTRY oShape=" & oShape.id) - window.clearInterval(GSH_GroupTimerId) - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - oShape.objects("txt_ModeValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPORSELHIDEMODEENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPORSELSHOWMODEENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSHOWMODEENTRY(oShape) -'gsh_log_s("GSH_GROUPORSELSHOWMODEENTRY oShape=" & oShape.id) - oShape.objects("cmb_ModeValue").style.visibility = GSH_VISIBLE - oShape.objects("txt_ModeValue").style.visibility = GSH_HIDDEN - window.clearInterval(GSH_GroupTimerId) - GSH_GroupTimerId = window.setInterval("GSH_GROUPORSELHIDEMODEENTRY(" & oShape.id & ")", GSH_GroupTimeout * 1000) -'gsh_log_e("GSH_GROUPORSELSHOWMODEENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPORSELHIDEMODEENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELHIDEOPENTRY(oShape) -'gsh_log_s("GSH_GROUPORSELHIDEOPENTRY oShape=" & oShape.id) - window.clearInterval(GSH_GroupTimerId) - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_GROUPORSELHIDEOPENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPORSELSHOWOPENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPORSELSHOWOPENTRY(oShape) -'gsh_log_s("GSH_GROUPORSELSHOWOPENTRY oShape=" & oShape.id) - oShape.objects("alp_OPValue").style.visibility = GSH_VISIBLE - window.clearInterval(GSH_GroupTimerId) - GSH_GroupTimerId = window.setInterval("GSH_GROUPORSELHIDEOPENTRY(" & oShape.id & ")", GSH_GroupTimeout * 1000) -'gsh_log_e("GSH_GROUPORSELSHOWOPENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Group Regulatory Control Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROL_SCADA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve problem -' that the combox or alp entry was open, -' but no entry made, then other tag is selected as focus tag. (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROL_SCADA_ONUPDATE(oShape, flag) - -on error resume next - - If flag = 0 then - GSH_GROUPREGULATORYCONTROLSHOWNORMAL(oShape) - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - 'Alarm is Disabled - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - 'call GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in principle focus - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_SPValue").style.visibility = GSH_HIDDEN - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if (GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_PV)) then - call GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL(oShape) - 'gsh_log_e("GSH_GROUPREGULATORYCONTROL_SCADA_ONUPDATE SHAPE IS OFF NORMAL") - end if - end if - End If - - - If flag = 0 then - 'PV Bad Data Check - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true, false, false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - 'oShape.objects("txt_OPValue").value = FormatNumber(oShape.objects("alp_OPValue").value,GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - 'oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,oShape.objects("alp_SPValue").value) - 'oShape.objects("txt_ModeValue").value = oShape.objects("cmb_ModeValue").value - oShape.objects("txt_OPValue").value = FormatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SP)) - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - End If -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Group Regulatory Control Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROL_SCADA_SM_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROL_SCADA_SM_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_GROUPREGULATORYCONTROL_SCADA_SM_ONUPDATE oShape = " &oShape.id) -on error resume next - call GSH_GROUPREGULATORYCONTROL_SCADA_ONUPDATE(oShape, flag) - - dim val_stsMsg, tagName, stsMsgType, numOfMessage - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG)) - - if (val_stsMsg > 0) then - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - numOfMessage = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & "NoOfMessages", "0") - if val_stsMsg >0 and val_stsMsg <=numOfMessage then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &val_stsMsg, "") - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) - end if - end if -'gsh_log_e("GSH_GROUPREGULATORYCONTROL_SCADA_SM_ONUPDATE") -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPAO_SCADA_SM_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPAO_SCADA_SM_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_GROUPAO_SCADA_SM_ONUPDATE oShape = " &oShape.id) -on error resume next - call GSH_GROUPAO_SCADA_ONUPDATE(oShape, flag) - dim val_stsMsg, tagName, stsMsgType, numOfMessage - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG)) - if (val_stsMsg > 0) then - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - numOfMessage = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & "NoOfMessages", "0") - if val_stsMsg >0 and val_stsMsg <=numOfMessage then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &val_stsMsg, "") - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) - end if - end if -'gsh_log_e("GSH_GROUPAO_SCADA_SM_ONUPDATE") -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITE_SCADA_SM_ONUPDATE'''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITE_SCADA_SM_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITE_SCADA_SM_ONUPDATE oShape = " &oShape.id) -on error resume next - call GSH_GROUPDIGITALCOMPOSITE_SCADA_ONUPDATE(oShape, flag) - dim val_stsMsg, tagName, stsMsgType, numOfMessage - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG)) - if (val_stsMsg > 0) then - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - numOfMessage = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & "NoOfMessages", "0") - if val_stsMsg >0 and val_stsMsg <=numOfMessage then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &val_stsMsg, "") - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) - end if - end if -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITE_SCADA_SM_ONUPDATE") -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITE_SCADA_SM_P6A_ONUPDATE'''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITE_SCADA_SM_P6A_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITE_SCADA_SM_P6A_ONUPDATE oShape = " &oShape.id) -on error resume next - call GSH_GROUPDIGITALCOMPOSITE_SCADA_P6A_ONUPDATE(oShape, flag) - dim val_stsMsg, tagName, stsMsgType, numOfMessage - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG)) - if (val_stsMsg > 0) then - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - numOfMessage = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & "NoOfMessages", "0") - if val_stsMsg >0 and val_stsMsg <=numOfMessage then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &val_stsMsg, "") - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) - end if - end if -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITE_SCADA_SM_P6A_ONUPDATE") -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDO_SCADA_SM_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDO_SCADA_SM_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_GROUPDO_SCADA_SM_ONUPDATE oShape = " &oShape.id) -on error resume next - call GSH_GROUPDO_SCADA_ONUPDATE(oShape, flag) - dim val_stsMsg, tagName, stsMsgType, numOfMessage - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG)) - if (val_stsMsg > 0) then - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - numOfMessage = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & "NoOfMessages", "0") - if val_stsMsg >0 and val_stsMsg <=numOfMessage then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &val_stsMsg, "") - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) - end if - end if -'gsh_log_e("GSH_GROUPDO_SCADA_SM_ONUPDATE") -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: ' oDataBoundObject = subshape name or me, if calling within subshape -'Used in ALL MULITFP Reg Ctl based! -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagKeyword, tagName - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - tagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - 'Assign values to textboxes - oDataBoundObject.objects("txt_tagname").value = tagName - oDataBoundObject.objects("txt_keyword").value = tagKeyword - 'Disable Alarms - call GSH_SHOWNOALARM(oDataBoundObject) - 'Show values - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPREGULATORYCONTROLNORMAL - oDataBoundObject.objects("outline").style.visibility = GSH_VISIBLE -' oDataBoundObject.objects("txt_ModeValue").style.visibility = GSH_VISIBLE -' oDataBoundObject.objects("txt_OPValue").style.visibility = GSH_VISIBLE -' oDataBoundObject.objects("txt_SPValue").style.visibility = GSH_VISIBLE -' oDataBoundObject.objects("txt_AnalogValue").style.visibility = GSH_VISIBLE - 'Hide Bad Value -' oDataBoundObject.objects("alp_OPValue").style.visibility = GSH_HIDDEN -' oDataBoundObject.objects("alp_SPValue").style.visibility = GSH_HIDDEN -' oDataBoundObject.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_statusmessage").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpHigh").style.visibility = GSH_HIDDEN -' oDataBoundObject.objects("txt_Intialization").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_Initialization").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_ramp").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL'''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next - if (oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOWBADPV''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWBADPV(oDataBoundObject) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWBADPV oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("txt_AnalogValue").value = GSH_BADPV_TEXT - oDataBoundObject.objects("txt_AnalogValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWBADPV") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOWBADSPHIGH''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWBADSPHIGH(oDataBoundObject) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWBADPV oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("txt_SPHighValue").value = GSH_BADPV_TEXT - oDataBoundObject.objects("txt_SPHighValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWBADPV") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOWBADSPLOW''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWBADSPLOW(oDataBoundObject) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWBADPV oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("txt_SPLowValue").value = GSH_BADPV_TEXT - oDataBoundObject.objects("txt_SPLowValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWBADPV") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oDataBoundObject) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPREGULATORYCONTROLDISABLEDALARM -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GEN_SETSHAPEFOCUS(oShape) replaces GSH_GROUPREGULATORYCONTROLSETFOCUS - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOWINITIALIZATION''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWINITIALIZATION(oDataBoundObject) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWINITIALIZATION oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("txt_Intialization").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWINITIALIZATION") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOWWINDUP_LOW''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWWINDUP_LOW(oDataBoundObject) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWWINDUP_LOW oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'show - 'call GSH_GROUPREGULATORYCONTROLSHOWNORMAL(oDataBoundObject) - oDataBoundObject.objects("plg_OpLow").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWWINDUP_LOW") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOWWINDUP_HIGH'''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWWINDUP_HIGH(oDataBoundObject) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWWINDUP_HIGH oDataBoundObject=" & oDataBoundObject.id) -on error resume next - 'show - 'call GSH_GROUPREGULATORYCONTROLSHOWNORMAL(oDataBoundObject) - oDataBoundObject.objects("plg_OpHigh").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWWINDUP_HIGH") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSETSTATUS'''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSETSTATUS(oDataBoundObject, sValue) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSETSTATUS oDataBoundObject=" & oDataBoundObject.id & " value=" & sValue) -on error resume next - oDataBoundObject.objects("txt_status").value = sValue - oDataBoundObject.objects("txt_status").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSETSTATUS") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPREGULATORYCONTROLSHOW_RAMP'''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' txtValue = text to be shown in RAMP shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oDataBoundObject,txtValue) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOW_RAMP oDataBoundObject=" & oDataBoundObject.id & ",txtValue =" &txtValue ) -on error resume next - oDataBoundObject.objects("txt_ramp").value = txtValue - oDataBoundObject.objects("txt_ramp").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOW_RAMP") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPREGULATORYCONTROLHIDEMODEENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLHIDEMODEENTRY(oShape) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLHIDEMODEENTRY oShape=" & oShape.id) - window.clearInterval(GSH_GroupTimerId) - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - oShape.objects("txt_ModeValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_GROUPREGULATORYCONTROLHIDEMODEENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPREGULATORYCONTROLSHOWMODEENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWMODEENTRY(oShape) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWMODEENTRY oShape=" & oShape.id) - oShape.objects("cmb_ModeValue").style.visibility = GSH_VISIBLE - oShape.objects("txt_ModeValue").style.visibility = GSH_HIDDEN - window.clearInterval(GSH_GroupTimerId) - GSH_GroupTimerId = window.setInterval("GSH_GROUPREGULATORYCONTROLHIDEMODEENTRY(" & oShape.id & ")", GSH_GroupTimeout * 1000) -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWMODEENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPREGULATORYCONTROLHIDEOPENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLHIDEOPENTRY(oShape) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLHIDEOPENTRY oShape=" & oShape.id) - window.clearInterval(GSH_GroupTimerId) - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_GROUPREGULATORYCONTROLHIDEOPENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPREGULATORYCONTROLSHOWOPENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWOPENTRY(oShape) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWOPENTRY oShape=" & oShape.id) - oShape.objects("alp_OPValue").style.visibility = GSH_VISIBLE - window.clearInterval(GSH_GroupTimerId) - GSH_GroupTimerId = window.setInterval("GSH_GROUPREGULATORYCONTROLHIDEOPENTRY(" & oShape.id & ")", GSH_GroupTimeout * 1000) -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWOPENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPREGULATORYCONTROLHIDESPENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLHIDESPENTRY(oShape) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLHIDESPENTRY oShape=" & oShape.id) - window.clearInterval(GSH_GroupTimerId) - oShape.objects("alp_SPValue").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_GROUPREGULATORYCONTROLHIDESPENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GROUPREGULATORYCONTROLSHOWSPENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPREGULATORYCONTROLSHOWSPENTRY(oShape) -'gsh_log_s("GSH_GROUPREGULATORYCONTROLSHOWSPENTRY oShape=" & oShape.id) - oShape.objects("alp_SPValue").style.visibility = GSH_VISIBLE - window.clearInterval(GSH_GroupTimerId) - GSH_GroupTimerId = window.setInterval("GSH_GROUPREGULATORYCONTROLHIDESPENTRY(" & oShape.id & ")", GSH_GroupTimeout * 1000) -'gsh_log_e("GSH_GROUPREGULATORYCONTROLSHOWSPENTRY") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Group SCADA AO Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPAO_SCADA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve problem -' that the combox or alp entry was open, -' but no entry made, then other tag is selected as focus tag. (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPAO_SCADA_ONUPDATE(oShape, flag) -on error resume next - - If flag = 0 then - GSH_GROUPAOSHOWNORMAL(oShape) - End If - - If flag <= 1 then - 'Set the focus - 'call GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in principle focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if (GSH_SCADA_POINT_MODE_ISOFFNORMAL(oShape.objects("rec_DataScript"))) then - call GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL(oShape) - end if - end if - End If - - - If flag = 0 then - - oShape.objects("txt_OPValue").value = FormatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPAOSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPAOSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GGSH_GROUPAOSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagKeyword, tagName - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - tagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - 'Assign values to textboxes - oDataBoundObject.objects("txt_tagname").value = tagName - oDataBoundObject.objects("txt_keyword").value = tagKeyword - 'Disable Alarms - 'call GSH_SHOWNOALARM(oDataBoundObject) - 'Show values - oDataBoundObject.objects("txt_ModeValue").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("txt_OPValue").style.visibility = GSH_VISIBLE - 'Hide Bad Value -'gsh_log_e("GSH_GROUPAOSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'DIGITALOUTPUTINDICATOR Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALOUTPUTINDICATORSETFOCUS''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALOUTPUTINDICATORSETFOCUS(oDataBoundObject) -'gsh_log_s("GSH_DIGITALOUTPUTINDICATORSETFOCUS oDataBoundObject=" & oDataBoundObject.id) -on error resume next - call GSH_SETSHAPEFOCUS(oDataBoundObject) - if (not(oDataBoundObject.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must change outline fill to transparent - oDataBoundObject.objects("outline").fillstyle = GSH_FILLTRANSPARENT - end if -'gsh_log_e("GSH_DIGITALOUTPUTINDICATORSETFOCUS") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALOUTPUTINDICATORSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALOUTPUTINDICATORSHOWNORMAL(oShape) -'gsh_log_s("GSH_DIGITALOUTPUTINDICATORSHOWNORMAL oShape=" & oShape.id) -on error resume next - call GSH_SHOWNOALARM(oShape) - oShape.objects("shp_focus").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_DIGITALOUTPUTINDICATORSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALOUTPUTINDICATOR_SCADA_ONUPDATE''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'06/09/07 Check for Off Normal is not needed per RM -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALOUTPUTINDICATOR_SCADA_ONUPDATE (oShape, flag) -on error resume next -Dim sOPStateTxt -If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) -End If - -If flag <=1 then - 'Set the focus - 'call GSH_DIGITALOUTPUTINDICATORSETFOCUS(oShape) - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal is not needed per RM 06/09/07 - sOPStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - oShape.objects("txt_OPvalue").value = sOPStateTxt -End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'NUMERICINDICATOR Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_NUMERICINDICATORSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS 06/12/07 - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_NUMERICINDICATOR_SCADA_ONUPDATE replaced by GSH_SCADA_NUMERICINDICATOR_ONUPDATE May 4,2007 -'Parameters: oShape = shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 06/12/07 GSH_GEN_SETSHAPEFOCUS replaced GSH_NUMERICINDICATORSETFOCUS -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_NUMERICINDICATOR_ONUPDATE (oShape, flag) -on error resume next - - If flag = 0 then - oShape.objects("outline").styleClass = GSH_CSSNUMERICINDICATORNORMAL - End If - If flag <=1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) - End If - If flag = 0 then - 'Bad Data Check removed at request of Rich - oShape.objects("txt_PVvalue").value = GSH_FormatPVText(oShape,oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV)) - End If -End sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FormatPVText: Round value to appropriate number of decimal places for point -'Parameters: -' oShape: calling shape -' txtIn: value to be rounded -'Returns: -' Round value (text) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_FormatPVText(oShape,txtIn) - Dim tempReturn, numOfDecimals -' july 8, 2008 - added extra bad value check - je -' If StrComp(txtIn,"1.#QNAN")= 0 then - If (StrComp(txtIn,"1.#QNAN")= 0) or (StrComp(txtIn,"---")= 0) then - tempReturn = GSH_BADPV_TEXT - else - 'gsh_log_s("GSH_FormatPVText oShape=" & oShape.id & ", txtIn=" & txtIn) - numOfDecimals = CInt(Right(GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1)) - tempReturn = FormatNumber(txtIn, numOfDecimals,-2, 0, 0) - 'gsh_log_e("GSH_FormatPVText returning: " & tempReturn) - End If - gsh_FormatPVText = tempReturn -end function - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FormatPVTextTag: Round value to appropriate number of decimal places for point -'Parameters: -' oShape: calling shape -' txtIn: value to be rounded -'Returns: -' Round value (text) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_FormatPVTextTag(tagName,txtIn) -'gsh_log_s("GSH_FormatPVTextTag tagName=" & tagName & ", txtIn=" & txtIn) -Dim tempReturn -tempReturn = FormatNumber(txtIn,Right(GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1),-2, 0, 0) -gsh_FormatPVTextTag = tempReturn -'gsh_log_e("GSH_FormatPVTextTag returning: " & tempReturn) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ShapeMouseDown: Handler for all shape on mouse down (exception: group shapes & equipment label) -'Parameters: -' oShape: calling shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ShapeMouseDown(oShape) -'gsh_log_s("GSH_ShapeMouseDown oShape=" & oShape.id) -If window.event.button = 2 Then call GSH_RIGHTCLICK(oShape) else call GSH_SHAPECLICKED(oShape) end if -'gsh_log_e("GSH_ShapeMouseDown") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_EquipLabelMouseDown: Handler for equipment label shape on mouse down -'Parameters: -' oShape: Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_EquipmentLabelMouseDown(oShape) -'gsh_log_s("GSH_EquipmentLabelMouseDown oShape=" & oShape.id) - call GSH_RIGHTCLICKEQUIPMENTNAME(oShape) -'gsh_log_e("GSH_EquipmentLabelMouseDown") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' GSH_OFFPAGECONNECTOR_ONSHAPELOAD Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_OFFPAGECONNECTOR_ONSHAPELOAD'''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_OFFPAGECONNECTOR_ONSHAPELOAD(oShape) -'gsh_log_s("GSH_OFFPAGECONNECTOR_ONSHAPELOAD oShape=" & oShape.id) - if (oShape.GetCustomProperty("Value","AssocLevel2") <> "") or (oShape.GetCustomProperty("Value","AssocLevel3") <> "") or (oShape.GetCustomProperty("Value","AssocLevel4") <> "") then - oShape.objects("plgShadow").style.visibility = GSH_VISIBLE - end if -'gsh_log_e("GSH_OFFPAGECONNECTOR_ONSHAPELOAD") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_OFFPAGECONNECTOR_ONCLICK''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_OFFPAGECONNECTOR_ONCLICK(oShape) -'gsh_log_s("GSH_OFFPAGECONNECTOR_ONCLICK oShape=" & oShape.id) -Dim sOnDispT2,sOnDispT3,sOnDispT4 -Dim sTemp,sDisplayName,sAssocT2Name, sAssocT3Name, sAssocT4Name, sDispLocation - sAssocT2Name = oShape.GetCustomProperty("Value","AssocLevel2") - sAssocT3Name = oShape.GetCustomProperty("Value","AssocLevel3") - sAssocT4Name = oShape.GetCustomProperty("Value","AssocLevel4") - sDispLocation = GSH_ReadDisplayNames("") -if (sAssocT2Name <> "") or (sAssocT3Name <> "") or (sAssocT4Name <> "") then - call GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(GSH_FALSE) 'Reset all tagname labels to hidden -end if -if strcomp(sAssocT2Name,"",vbtextcompare)<>0 then - sOnDispT2 = Ucase(GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T2FN,"")) - sDisplayName = Ucase(sAssocT2Name) - If strcomp(sAssocT2Name,sOnDispT2,vbtextcompare)<>0 Then - sTemp = GSH_sDispLocation & sDisplayName & ".htm" - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T2FN,sDisplayName) - window.navigate(sTemp) - End If -End if -if strcomp(sAssocT3Name,"",vbtextcompare)<>0 then - sOnDispT3 = Ucase(GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T3FN,"")) - sDisplayName = Ucase(sAssocT3Name) - If strcomp(sAssocT3Name,sOnDispT3,vbtextcompare)<>0 Then - sTemp = sDispLocation & sDisplayName & ".htm" - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T3FN,sDisplayName) - window.navigate(sTemp) - End If -End if -if strcomp(sAssocT4Name,"",vbtextcompare)<>0 then - sOnDispT4 = Ucase(GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_T4FN,"")) - sDisplayName = Ucase(sAssocT4Name) - If strcomp(sAssocT4Name,sOnDispT4,vbtextcompare)<>0 Then - sTemp = sDispLocation & sDisplayName & ".htm" - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sDisplayName) - window.navigate(sTemp) - End If -End if -'gsh_log_e("GSH_OFFPAGECONNECTOR_ONCLICK") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_OFFPAGECONNECTOR_L1AS_ONCLICK''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_OFFPAGECONNECTOR_L1AS_ONCLICK(oShape) -'gsh_log_s("GSH_OFFPAGECONNECTOR_L1AS_ONCLICK oShape=" & oShape.id) -Dim sOnDispT1 -Dim sTemp,sDisplayName,sAssocT1Name, sDispLocation - sAssocT1Name = oShape.GetCustomProperty("Value","AssocLevel1") - sDispLocation = GSH_ReadDisplayNames("") -if strcomp(sAssocT1Name,"",vbtextcompare)<>0 then - sDisplayName = Ucase(sAssocT1Name) - sTemp = GSH_sDispLocation & sDisplayName & ".htm" - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE ("Type1ASFileName",sDisplayName) - window.navigate(sTemp) -End If -'gsh_log_e("GSH_OFFPAGECONNECTOR_L1AS_ONCLICK") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' TAGNAMELABEL Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TAGNAMELABEL_ONSHAPELOAD'''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TAGNAMELABEL_ONSHAPELOAD(oShape) -'gsh_log_s("GSH_TAGNAMELABEL_ONSHAPELOAD oShape=" & oShape.id) -on error resume next - oShape.objects("txt_TagName").style.textAlign = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPJUSTIFYLABEL) - - if (strcomp(GSH_TAGNAMELABEL_GET_VISIBILITYSTATUS,GSH_TRUE, vbtextcompare) = 0) then - oShape.objects("txt_TagName").style.visibility = GSH_VISIBLE - else: oShape.objects("txt_TagName").style.visibility = GSH_HIDDEN - end if -'gsh_log_e("GSH_TAGNAMELABEL_ONSHAPELOAD") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TAGNAMELABEL_ONUPDATE'''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TAGNAMELABEL_ONUPDATE(oShape) -'gsh_log_s("GSH_TAGNAMELABEL_ONUPDATE oShape=" & oShape.id) -On Error resume next - dim strTurnOnTagNameLabel - strTurnOnTagNameLabel = GSH_TAGNAMELABEL_GET_VISIBILITYSTATUS - - If ((strComp(strTurnOnTagNameLabel,GSH_TRUE,vbtextcompare))=0) Then - oShape.objects("txt_TagName").style.visibility = GSH_VISIBLE - else - oShape.objects("txt_TagName").style.visibility = GSH_HIDDEN - End If -'gsh_log_e("TAGNAMELABEL_ONUPDATE") - -End Sub - - -' -'GSH_TAGNAMELABEL_GETVISIBILITY() -'look up the registry to get the current visibility -'status of the TAGNAMELABEL shape -' -'04/29/2008: Update for version 1.1.2 to replace the use of StationDataRepository(CL) -function GSH_TAGNAMELABEL_GET_VISIBILITYSTATUS -'gsh_log_s("GSH_TAGNAMELABEL_GET_VISIBILITYSTATUS") -on error resume next - - dim labelIsVisible - - labelIsVisible = GSH_READDISPLAYCOMMUNICATIONKEYVALUE(GSH_REGKEY_TAGNAMELABLESTATUS,GSH_FALSE) - -' gsh_log_e("GSH_TAGNAMELABEL_GET_VISIBILITYSTATUS labelIsVisible = " &labelIsVisible) - GSH_TAGNAMELABEL_GET_VISIBILITYSTATUS = labelIsVisible -end function - -' -'GSH_TAGNAMELABEL_SETVISIBILITY() -'set the visibility status of the TAGNAMELABEL shape -' -'04/29/2008: Update for version 1.1.2 to replace the use of StationDataRepository(CL) -sub GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(status) -'gsh_log_s("GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS status=" &status) -on error resume next - - if(strComp(status,GSH_TRUE,vbtextcompare)<>0 AND strComp(status,GSH_FALSE,vbtextcompare)<>0) then - gsh_log("ERROR: status = " &status & " is invalid. Please use GSH_TRUE or GSH_FALSE") - else - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_TAGNAMELABLESTATUS,status - end if - - -'gsh_log_e("GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS") -End sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' TAGNAMEALIASLABEL Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TAGNAMEALIASLABEL_ONSHAPELOAD'''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TAGNAMEALIASLABEL_ONSHAPELOAD(oShape) -'gsh_log_s("GSH_TAGNAMEALIASLABEL_ONSHAPELOAD oShape=" & oShape.id) -on error resume next - dim sTagLabel, shapePoint - oShape.objects("txt_TagName").style.textAlign = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPJUSTIFYLABEL) - shapePoint = oShape.GetCustomProperty(GSH_CPVALUE,"TagName") - sTagLabel = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - If (strcomp(sTagLabel,shapePoint,vbtextcompare)<>0) then - oShape.objects("txt_TagName").value = sTagLabel - End If - if (strcomp(GSH_TAGNAMELABEL_GET_VISIBILITYSTATUS, GSH_TRUE, vbtextcompare) = 0) then - oShape.objects("txt_TagName").style.visibility = GSH_VISIBLE - else: oShape.objects("txt_TagName").style.visibility = GSH_HIDDEN - end if -'gsh_log_e("GSH_TAGNAMEALIASLABEL_ONSHAPELOAD") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' TAGEUDESCLABEL Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TAGEUDESCLABEL_ONSHAPELOAD'''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TAGEUDESCLABEL_ONSHAPELOAD(oShape) -'gsh_log_s("GSH_TAGEUDESCLABEL_ONSHAPELOAD oShape=" & oShape.id) -on error resume next - dim sTagEULabel, shapePoint - oShape.objects("txt_TagEUDescName").style.textAlign = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPJUSTIFYLABEL) - shapePoint = oShape.GetCustomProperty(GSH_CPVALUE,"TagName") - sTagEULabel = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGEUDESC, shapePoint) - If (strcomp(sTagEULabel,shapePoint,vbtextcompare)<>0) then - oShape.objects("txt_TagEUDESC").value = sTagLabel - End If -'gsh_log_e("GSH_TAGEUDESC_ONSHAPELOAD") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'LevelIndicator Shape Section: Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_LevelIndicator_SCADA_OnUpdate''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'06/08/07 Removing offnormal check from all Scada analog shapes AL(284) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelIndicator_SCADA_OnUpdate(oShape, flag) -'gsh_log_s("GSH_LevelIndicator_SCADA_OnUpdate oShape="&oShape.id) -On Error Resume Next -If flag <= 1 then - 'Initialize Shape - call GSH_LevelIndicatorShowNormal(oShape) - 'Check Alarms - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - 'Alarm is Disabled - call GSH_LevelIndicatorShowDisbledAlarm(oShape) - else - call GSH_SHOWLEVELALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - call GSH_LevelIndicatorSetFocus(oShape) - '06/08/07 Removing offnormal check from all Scada analog shapes AL(284) -'End If -'If flag = 0 then - 'Check for Bad PV - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End if -End If -'gsh_log_e("GSH_LevelIndicator_SCADA_OnUpdate") -end sub - -'06/04/07 Added else case, if FocusNone -'06/07/07 Removed else case as if was causing problems when status is FocusNone and Alarming -sub GSH_LevelIndicatorSetFocus(oShape) -'gsh_log_s("GSH_LevelIndicatorSetFocus oShape=" & oShape.id) -on error resume next - call GSH_SETSHAPEFOCUS(oShape) - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -' else -' oShape.objects("outline").style.visibility = GSH_HIDDEN -' oShape.objects("outline").fillstyle = GSH_FILLSOLID -' oShape.objects("txt_PVvalue").style.visibility = GSH_HIDDEN - end if -'gsh_log_e("GSH_LevelIndicatorSetFocus") -end sub - -sub GSH_LevelIndicatorShowNormal(oShape) -'gsh_log_s("GSH_LevelIndicatorShowNormal oShape=" & oShape.id) - oShape.objects("rec_IndicatorFloat").style.visibility = GSH_VISIBLE - oShape.objects("rec_IndicatorRange").style.visibility = GSH_VISIBLE - oShape.objects("txt_BadPVIndicator").style.visibility = GSH_HIDDEN - oShape.objects("txt_PVValue").style.visibility = GSH_HIDDEN - oShape.objects("txt_PVvalue").styleClass = GSH_CSSLEVELINDICATORNORMALPVTEXT - call GSH_LevelIndicatorShowNoAlarm(oShape) 'call GSH_SHOWNOALARM(oShape) - oShape.objects("outline").style.visibility = GSH_HIDDEN - oShape.objects("rec_IndicatorFloat").styleClass = GSH_CSSLEVELINDICATORFLOAT - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLEVELINDICATORNORMAL -'gsh_log_e("GSH_LevelIndicatorShowNormal") -end sub - -sub GSH_LevelIndicatorShowOffNormal(oShape) -'gsh_log_s("GSH_LevelIndicatorShowOffNormal oShape=" & oShape.id) - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("txt_PVValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_LevelIndicatorShowOffNormal") -end sub - -sub GSH_LevelIndicatorShowHighAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorShowHighAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - 'show - call GSH_ShowHighAlarm(oShape,unAcknowledged) - if unAcknowledged then - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMHIGHUNACK - else - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMHIGHACK - end if - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_LevelIndicatorShowHighAlarm") -end sub - -sub GSH_LevelIndicatorShowNoAlarm(oShape) -'gsh_log_s("GSH_LevelIndicatorShowNoAlarm oShape=" & oShape.id) - call GSH_ShowNoAlarm(oShape) - oShape.objects("outline").style.visibility = GSH_HIDDEN - oShape.objects("txt_PVvalue").style.visibility = GSH_HIDDEN - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLEVELINDICATORNORMAL -'gsh_log_e("GSH_LevelIndicatorShowNoAlarm") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_LevelIndicatorShowLowAlarm: Show Low Alarm behavior for shape'''''' -'Parameters: -' oShape = calling shape -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelIndicatorShowLowAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorShowLowAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - 'show - call GSH_ShowLowAlarm(oShape,unAcknowledged) - if unAcknowledged then - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMLOWUNACK - else - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMLOWACK - end if - oShape.objects("txt_PVValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_LevelIndicatorShowLowAlarm") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_LevelIndicatorShowEmergencyAlarm: Show Emerg behavior for Shape ''' -'Parameters: -' oShape = Calling shape -' unAcknowledged - true or false , true if you want to show UnAcknowledged Alarm Behavior -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelIndicatorShowEmergencyAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorShowEmergencyAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - 'show - call GSH_ShowEmergencyAlarm(oShape,unAcknowledged) - if unAcknowledged then - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMEMERGENCYUNACK - else - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMEMERGENCYACK - end if - oShape.objects("txt_PVValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_LevelIndicatorShowEmergencyAlarm") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_LevelIndicatorShowDisbledAlarm: Show shape in disabled alarm state -'Parameters: -' oShape = calling shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelIndicatorShowDisbledAlarm(oShape) -'gsh_log_s("GSH_LevelIndicatorShowDisbledAlarm oShape=" & oShape.id) - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLEVELINDICATORDISABLEDALARM - oShape.objects("outline").styleClass = GSH_CSSLEVELINDICATORDISABLEDALARM -'gsh_log_e("GSH_LevelIndicatorShowDisbledAlarm") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'LevelIndicatorSmallSMALL Shape Section -' Contains all functions specific to the Level Indicator Small shape -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'06/08/07 Removing offnormal check from all Scada analog shapes AL(284) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelIndicatorSmall_SCADA_OnUpdate(oShape, flag) -'gsh_log_s("GSH_LevelIndicatorSmall_SCADA_OnUpdate, oshape=" & oShape.id) -On Error Resume Next - If flag <= 1 then - 'Initialize Shape - call GSH_LevelIndicatorShowNormal(oShape) - 'Check Alarms - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - 'Alarm is Disabled - call GSH_LevelIndicatorShowDisbledAlarm(oShape) - else - 'alarming is enabled, get highest priority and change shape accordingly - Select Case GSH_GETHIGHESTALARMPRIORITY(oShape.objects("rec_DataScript")) - Case GSH_NOALARMCODE - call GSH_LevelIndicatorShowNoAlarm(oShape) - Case GSH_UNACKEMERG - call GSH_LevelIndicatorSmallShowEmergencyAlarm(oShape,True) - Case GSH_UNACKHIGH - call GSH_LevelIndicatorSmallShowHighAlarm(oShape,true) - Case GSH_UNACKLOW - call GSH_LevelIndicatorSmallShowLowAlarm(oShape,true) - Case GSH_ACKEMERG - call GSH_LevelIndicatorSmallShowEmergencyAlarm(oShape,false) - Case GSH_ACKHIGH - call GSH_LevelIndicatorSmallShowHighAlarm(oShape,false) - Case GSH_ACKLOW - call GSH_LevelIndicatorSmallShowLowAlarm(oShape,false) - Case Else - call GSH_LevelIndicatorShowNoAlarm(oShape) - End Select - End If - call GSH_LEVELINDICATORSETFOCUS(oShape) - '06/08/07 Removing offnormal check from all Scada analog shapes AL(284) -'End If - -'If flag = 0 then - 'Check for Bad PV - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If -End If -'gsh_log_e("GSH_LevelIndicatorSmall_SCADA_OnUpdate") -end sub - -sub GSH_LevelIndicatorSmallShowHighAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorSmallShowHighAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_LevelIndicatorShowHighAlarm(oShape,unAcknowledged) - 'Make Alarm outline width smaller - oShape.objects("outline").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH -'gsh_log_e("GSH_LevelIndicatorSmallShowHighAlarm") -end sub - -sub GSH_LevelIndicatorSmallShowLowAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorSmallShowLowAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_LevelIndicatorShowLowAlarm(oShape,unAcknowledged) - 'Make Alarm outline width smaller - oShape.objects("outline").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH -'gsh_log_e("GSH_LevelIndicatorSmallShowLowAlarm") -end sub - -sub GSH_LevelIndicatorSmallShowEmergencyAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorSmallShowEmergencyAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_LevelIndicatorShowEmergencyAlarm(oShape,unAcknowledged) - 'Make Alarm outline width smaller - oShape.objects("outline").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH -'gsh_log_e("GSH_LevelIndicatorSmallShowEmergencyAlarm") -end sub - -sub GSH_LevelIndicatorSmallShowDisbledAlarm(oShape) -'gsh_log_s("GSH_LevelIndicatorSmallShowDisbledAlarm oShape=" & oShape.id ) - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLEVELINDICATORDISABLEDALARM - oShape.objects("outline").styleClass = GSH_CSSLEVELINDICATORDISABLEDALARM -'gsh_log_e("GSH_LevelIndicatorSmallShowDisbledAlarm") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'LEVEL INDICATOR REGULATORY CONTROL Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelIndicatorRegulatoryControl_SCADA_OnUpdate(oShape, flag) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControl_SCADA_OnUpdate oShape="&oShape.id) -On Error Resume Next - - If flag <= 1 then - call GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_datascript")) Then - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - else - call GSH_SHOWLEVELALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - 'End If - - - 'If flag <= 1 then - 'Check Focus - call GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_PV)) then - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) - end if - end if - - 'End If - - - 'If flag = 0 then - 'Check for bad value - If GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - call GSH_LevelIndicatorShowSPFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If - End If -'gsh_log_e("GSH_LevelIndicatorRegulatoryControl_SCADA_OnUpdate") -end sub - -' 06/04/07 Changed to sub and added else case for when focus is none. -' 06/05/07 Changed back because it affected the alarm display without focus. -sub GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControlSetFocus oShape=" & oShape.id) -on error resume next - call GSH_SETSHAPEFOCUS(oShape) - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("outline").style.visibility = GSH_VISIBLE - end if -'gsh_log_e("GSH_LevelIndicatorRegulatoryControlSetFocus") -end sub - -sub GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControlShowNormal oShape=" & oShape.id) - call GSH_LevelIndicatorShowNoAlarm(oShape) - oShape.objects("txt_PVvalue").style.visibility = GSH_HIDDEN - oShape.objects("txt_PVvalue").styleClass = GSH_CSSLEVELINDICATORNORMALPVTEXT - oShape.objects("txt_BadPVIndicator").style.visibility = GSH_HIDDEN - oShape.objects("outline").styleClass = GSH_CSSLEVELINDICATORNORMAL'GSH_CSSLEVELINDICATORREGULATORYCONTROLNORMAL - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLEVELINDICATORNORMAL'GSH_CSSLEVELINDICATORREGULATORYCONTROLNORMAL - oShape.objects("rec_IndicatorFloat").style.visibility = GSH_VISIBLE - oShape.objects("rec_IndicatorFloat").styleClass = GSH_CSSLEVELINDICATORFLOAT'GSH_CSSLEVELINDICATORREGULATORYCONTROLNORMAL - oShape.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oShape.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oShape.objects("txt_initialization").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_LevelIndicatorRegulatoryControlShowNormal") -end sub - -sub GSH_LevelIndicatorRegulatoryControlShowNoAlarm(oShape) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControlShowNoAlarm oShape=" & oShape.id) - call GSH_ShowNoAlarm(oShape) - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLEVELINDICATORNORMAL - oShape.objects("outline").style.visibility = GSH_HIDDEN - oShape.objects("txt_PVvalue").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_LevelIndicatorRegulatoryControlShowNoAlarm") -end sub - -sub GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControlShowOffNormal oShape=" & oShape.id) -on error resume next - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT -'gsh_log_e("GSH_LevelIndicatorRegulatoryControlShowOffNormal") -end sub - -sub GSH_LevelIndicatorRegulatoryControlShowHighAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControlShowHighAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_ShowHighAlarm(oShape,unAcknowledged) - if unAcknowledged then - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMHIGHUNACK - else - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMHIGHACK - end if - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_LevelIndicatorRegulatoryControlShowHighAlarm") -end sub - -sub GSH_LevelIndicatorRegulatoryControlShowLowAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControlShowLowAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_ShowLowAlarm(oShape,unAcknowledged) - if unAcknowledged then - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMLOWUNACK - else - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMLOWACK - end if - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_LevelIndicatorRegulatoryControlShowLowAlarm") -end sub - -sub GSH_LevelIndicatorRegulatoryControlShowEmergencyAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControlShowEmergencyAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_ShowEmergencyAlarm(oShape,unAcknowledged) - if unAcknowledged then - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMEMERGENCYUNACK - else - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMEMERGENCYACK - end if - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_LevelIndicatorRegulatoryControlShowEmergencyAlarm") -end sub - -sub GSH_LevelIndicatorShowPVFloat(oShape) -'gsh_log_s("GSH_LevelIndicatorShowPVFloat oShape=" & oShape.id) - Dim iNumPixels, iBottom - Dim iRangeHi, iRangeLo, iPV - 'Calculate pv value - iRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - iRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - iPV = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - iNumPixels = 0 - if (iPV > iRangeHi) then - iNumPixels = oShape.objects("rec_IndicatorRange").style.pixelheight -' iNumPixels = oShape.objects("LinePVRange").style.pixelheight - ElseIf (iPV < iRangeLo) then - iNumPixels = 0 - else - iNumPixels = (oShape.objects("rec_IndicatorRange").style.pixelheight * ((iPV - iRangeLo) / (iRangeHi - iRangeLo))) -' iNumPixels = (oShape.objects("LinePVRange").style.pixelheight * ((iPV - iRangeLo) / (iRangeHi - iRangeLo))) - end if - iBottom = (oShape.objects("rec_IndicatorRange").style.pixelheight + oShape.objects("rec_IndicatorRange").style.pixeltop) - oShape.objects("rec_IndicatorFloat").style.pixeltop = iBottom - iNumPixels - (oShape.objects("rec_IndicatorFloat").style.pixelheight / 2) -' gsh_log(oShape.objects("rec_IndicatorFloat").id & " pixeltop=" & oShape.objects("rec_IndicatorFloat").style.pixeltop) -'gsh_log_e("GSH_LevelIndicatorShowPVFloat") -end sub - -sub GSH_LevelIndicatorShowSPFloat(oShape) -'gsh_log_s("GSH_LevelIndicatorShowSPFloat oShape=" & oShape.id) - oShape.objects("plg_SPIndicator").style.pixeltop = cint(GSH_LEVELINDICATOR_SPFLOATPOSITION (oShape,GSH_CPPARAM_SP)-(oShape.objects("plg_SPIndicator").style.pixelheight / 2)) -'gsh_log_e("GSH_LevelIndicatorShowSPFloat") -end sub - -function GSH_LEVELINDICATOR_SPFLOATPOSITION(oShape, SPParam) -'gsh_log_s("GSH_LEVELINDICATOR_SPFLOATPOSITION oShape=" & oShape.id) - Dim iNumPixels, iBottom - Dim iRangeHi, iRangeLo, iSP - 'Calculate pv value - iRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - iRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - 'gsh_log("iRangeHi=" & iRangeHi & ", iRangeLo=" & iRangeLo) - iSP = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"), SPParam) - 'gsh_log("SP=" & iSP) - if (iSP > iRangeHi) then - iNumPixels = oShape.objects("rec_IndicatorRange").style.pixelheight - ElseIf (iSP < iRangeLo) then - iNumPixels = 0 - else - iNumPixels = (oShape.objects("rec_IndicatorRange").style.pixelheight * ((iSP - iRangeLo) / (iRangeHi - iRangeLo))) - end if - iBottom = (oShape.objects("rec_IndicatorRange").style.pixelheight + oShape.objects("rec_IndicatorRange").style.pixeltop) - Dim iPosition : iPosition = cint(iBottom - iNumPixels ) - GSH_LEVELINDICATOR_SPFLOATPOSITION = iPosition -'gsh_log_e("GSH_LEVELINDICATOR_SPFLOATPOSITION returns >>>>>>>>>>>>"&iPosition) -end function - -sub GSH_LevelIndicatorShowBadPV(oShape) -'gsh_log_s("GSH_LevelIndicatorShowBadPV oShape=" & oShape.id) - oShape.objects("txt_PVvalue").styleClass = GSH_CSSLEVELINDICATORBADPVTEXT - oShape.objects("txt_PVvalue").value = "---" - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLEVELINDICATORBADPV - oShape.objects("rec_IndicatorFloat").style.visibility = GSH_HIDDEN - oShape.objects("txt_BadPVIndicator").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_LevelIndicatorShowBadPV") -end sub - -sub GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm oShape=" & oShape.id) - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLEVELINDICATORDISABLEDALARM - oShape.objects("outline").styleClass = GSH_CSSLEVELINDICATORDISABLEDALARM - oShape.objects("outline").style.visibility = GSH_HIDDEN - oShape.objects("txt_PVvalue").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'LEVEL INDICATOR REGULATORY CONTROL_GAPVARIN Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelIndicatorRegulatoryControl_GAPVarIn_SCADA_OnUpdate(oShape, flag) -'gsh_log_s("GSH_LevelIndicatorRegulatoryControl_GAPVarIn_SCADA_OnUpdate oShape="&oShape.id) -On Error Resume Next - - If flag <= 1 then - call GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_datascript")) Then - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - else - call GSH_SHOWLEVELALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - 'End If - - - 'If flag <= 1 then - 'Check Focus - call GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_PV)) then - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) - end if - end if - - 'End If - - - 'If flag = 0 then - 'Check for bad value - If GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) -' call GSH_LevelIndicatorShowSPFloat(oShape) - dim vsphi, vsplo - vsphi = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY_SPHI &"." &GSH_CPPARAM_ENTITY_SPHI_PARA) - vsplo = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY_SPLO &"." &GSH_CPPARAM_ENTITY_SPLO_PARA) - - oShape.objects("plg_SPIndicator1").style.pixeltop = cint(GSH_LEVELINDICATOR_SPFLOATPOSITION_GAPVarIn(oShape,vsphi) - (oShape.objects("plg_SPIndicator2").style.pixelheight / 2)) - oShape.objects("plg_SPIndicator2").style.pixeltop = cint(GSH_LEVELINDICATOR_SPFLOATPOSITION_GAPVarIn(oShape,vsplo)- (oShape.objects("plg_SPIndicator1").style.pixelheight / 2)) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If - - 'When SPHigh or SPLow value is Nan -> do not show the marker - if not(isNAN(vsphi)) then - oShape.objects("plg_SPIndicator1").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_SPIndicator1").style.visibility = GSH_HIDDEN - end if - - if not(isNAN(vsplo)) then - oShape.objects("plg_SPIndicator2").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_SPIndicator2").style.visibility = GSH_HIDDEN - end if - - End If -'gsh_log_e("GSH_LevelIndicatorRegulatoryControl_GAPVarIn_SCADA_OnUpdate") -end sub - -function GSH_LEVELINDICATOR_SPFLOATPOSITION_GAPVARIN(oShape,InputVal) -'gsh_log_s("GSH_LEVELINDICATOR_SPFLOATPOSITION_GAPVarIn oShape=" & oShape.id) - Dim iNumPixels, iBottom - Dim iRangeHi, iRangeLo, iSP - 'Calculate pv value - iRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - iRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) -' gsh_log("iRangeHi=" & iRangeHi & ", iRangeLo=" & iRangeLo) - iSP = InputVal - 'iSP = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"), SPParam) -' gsh_log("SP=" & iSP) - if (iSP > iRangeHi) then - iNumPixels = oShape.objects("rec_IndicatorRange").style.pixelheight - ElseIf (iSP < iRangeLo) then - iNumPixels = 0 - else - iNumPixels = (oShape.objects("rec_IndicatorRange").style.pixelheight * ((iSP - iRangeLo) / (iRangeHi - iRangeLo))) -' gsh_log("iNumPixels=" & iNumPixels) - end if - iBottom = (oShape.objects("rec_IndicatorRange").style.pixelheight + oShape.objects("rec_IndicatorRange").style.pixeltop) - Dim iPosition : iPosition = cint(iBottom - iNumPixels) - GSH_LEVELINDICATOR_SPFLOATPOSITION_GAPVARIN = iPosition -'gsh_log_e("GSH_LEVELINDICATOR_SPFLOATPOSITION_GAPVARIN returns >>>>>>>>>>>>"&iPosition) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'LevelIndicatorRegCtlSmall Shape Section -' Contains all functions specific to the shape -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -sub GSH_LevelIndicatorRegCtlSmall_SCADA_OnUpdate(oShape, flag) -'gsh_log_s("GSH_LevelIndicatorRegCtlSmall_SCADA_OnUpdate oShape="&oShape.id) -On Error Resume Next - -If flag <= 1 then - GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_datascript")) Then - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - else - 'alarming is enabled, get highest priority and change shape accordingly - Select Case GSH_GETHIGHESTALARMPRIORITY(oShape.objects("rec_datascript")) - Case GSH_NOALARMCODE - call GSH_LevelIndicatorRegulatoryControlShowNoAlarm(oShape) - Case GSH_UNACKEMERG - call GSH_LevelIndicatorRegCtlSmallShowEmergencyAlarm(oShape,True) - Case GSH_UNACKHIGH - call GSH_LevelIndicatorRegCtlSmallShowHighAlarm(oShape,true) - Case GSH_UNACKLOW - call GSH_LevelIndicatorRegCtlSmallShowLowAlarm(oShape,true) - Case GSH_ACKEMERG - call GSH_LevelIndicatorRegCtlSmallShowEmergencyAlarm(oShape,false) - Case GSH_ACKHIGH - call GSH_LevelIndicatorRegCtlSmallShowHighAlarm(oShape,false) - Case GSH_ACKLOW - call GSH_LevelIndicatorRegCtlSmallShowLowAlarm(oShape,false) - Case Else - call GSH_LevelIndicatorRegulatoryControlShowNoAlarm(oShape) - End Select - End If -'End If - -'If flag <= 1 then - GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_PV)) then - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) - end if - end if - -'End If - - -'If flag = 0 then - 'Check for bad value - If GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - call GSH_LevelIndicatorShowSPFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If -End If - -'gsh_log_e("GSH_LevelIndicatorRegCtlSmall_SCADA_OnUpdate") -end sub - -sub GSH_LevelIndicatorRegCtlSmallShowHighAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorRegCtlSmallShowHighAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_LevelIndicatorRegulatoryControlShowHighAlarm(oShape,unAcknowledged) - 'Make Alarm outline width smaller compared to regular size - oShape.objects("outline").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH -'gsh_log_e("GSH_LevelIndicatorRegCtlSmallShowHighAlarm") -end sub - -sub GSH_LevelIndicatorRegCtlSmallShowLowAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorRegCtlSmallShowLowAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_LevelIndicatorRegulatoryControlShowLowAlarm(oShape,unAcknowledged) - 'Make Alarm outline width smaller compared to regular size - oShape.objects("outline").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH -'gsh_log_e("GSH_LevelIndicatorRegCtlSmallShowLowAlarm") -end sub - -sub GSH_LevelIndicatorRegCtlSmallShowEmergencyAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_LevelIndicatorRegCtlSmallShowEmergencyAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_LevelIndicatorRegulatoryControlShowEmergencyAlarm(oShape,unAcknowledged) - 'Make Alarm outline width smaller compared to regular size - oShape.objects("outline").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH -'gsh_log_e("GSH_LevelIndicatorRegCtlSmallShowEmergencyAlarm") -end sub - -sub GSH_LevelIndicatorRegCtlSmallShowDisbledAlarm(oShape) -'gsh_log_s("GSH_LevelIndicatorRegCtlSmallShowDisbledAlarm oShape=" & oShape.id ) - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLEVELINDICATORDISABLEDALARM - oShape.objects("outline").styleClass = GSH_CSSLEVELINDICATORDISABLEDALARM - 'Make Alarm outline width smaller - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH - oShape.objects("outline").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_LevelIndicatorRegCtlSmallShowDisbledAlarm") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' VALVE_DIGITAL Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_VALVEDIGITAL_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_VALVEDIGITAL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_SCADA_ValveDigital_OnUpdate oShape=" & oShape.id) -on error resume next - - If flag <= 1 then - Dim nNumericState - nNumericState = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - call GSH_ValveDigitalShowNormal(oShape) - call GSH_SCADA_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState) - if (GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript"))) Then 'Alarm is Disabled - call GSH_ValveDigitalShowDisabledAlarm(oShape) - else 'alarming is enabled, get highest priority and change shape accordingly - Select Case GSH_GETHIGHESTALARMPRIORITY(oShape.objects("rec_DataScript")) - Case GSH_NOALARMCODE - 'call GSH_ValveDigitalShowNormal(oShape) - Case GSH_UNACKEMERG - call GSH_ValveDigitalShowEmergencyAlarm(oShape,true) - Case GSH_UNACKHIGH - call GSH_ValveDigitalShowHighAlarm(oShape,true) - Case GSH_UNACKLOW - call GSH_ValveDigitalShowLowAlarm(oShape,true) - Case GSH_ACKEMERG - call GSH_ValveDigitalShowEmergencyAlarm(oShape,false) - Case GSH_ACKHIGH - call GSH_ValveDigitalShowHighAlarm(oShape,false) - Case GSH_ACKLOW - call GSH_ValveDigitalShowLowAlarm(oShape,false) - End Select - End If - 'End If - - 'If flag <= 1 then - 'focus - call GSH_ValveDigitalSetFocus(oShape) - - 'Check for Off Normal if not in focus - dim sPVStateTxt - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV,oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sPVStateTxt) then - call GSH_ValveDigitalShowOffNormal(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - End If - - If flag = 0 then - 'Bad Data Check - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_ValveDigitalShowBadPV(oShape) - else - oShape.objects("txt_PVvalue").value = sPVStateTxt - End If - - End If -'gsh_log_e("GSH_SCADA_ValveDigital_OnUpdate") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' VALVE_DIGITAL Shape Section -' Contains all functions specific to the shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_VALVEDIGITAL_P6A_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'01/11/2008: Added to handle P6A VALVE DIGITAL shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_VALVEDIGITAL_P6A_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_SCADA_VALVEDIGITAL_P6A_ONUPDATE oShape=" & oShape.id) -on error resume next - - - Dim nNumericState -' nNumericState = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_IP1) - call GSH_ValveDigitalShowNormal(oShape) - - 'Find value of GSH_CPPARAM_PV_IP1 - dim input1_val, input2_val, expected_input1_val, expected_input2_val, sPVStateTxt - - sPVStateTxt = GSH_NONE - input1_val = Cint(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_IP1)) - input2_val = Cint(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_IP2)) - - expected_input1_val = Cint(oShape.GetCustomProperty(GSH_CPVALUE,GSH_EXPECTEDVAL1)) - expected_input2_val = Cint(oShape.GetCustomProperty(GSH_CPVALUE,GSH_EXPECTEDVAL2)) - - - if((input1_val=expected_input1_val) And (input2_val=expected_input2_val)) then - nNumericState = 3 - sPVStateTxt = GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),"BothOn","") - elseif ((input1_val=expected_input1_val) And (input2_val<>expected_input2_val)) then - nNumericState = 0 - sPVStateTxt = GSH_GET_STATE_TEXT_P6A(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), oShape.GetCustomProperty(GSH_CPPARAMETER,GSH_CPPARAM_IP1)&"_"&input1_val) - alarmPara=GSH_CPPARAM_IP1 - elseif ((input1_val<>expected_input1_val) And (input2_val=expected_input2_val)) then - nNumericState = 1 - sPVStateTxt = GSH_GET_STATE_TEXT_P6A(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), oShape.GetCustomProperty(GSH_CPPARAMETER,GSH_CPPARAM_IP2)&"_"&input2_val) - alarmPara=GSH_CPPARAM_IP2 - else - nNumericState = 3 - sPVStateTxt = GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),"BothOff","") - end if - - call GSH_SCADA_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState) - - oShape.objects("txt_PVvalue").value = sPVStateTxt - - call GSH_ValveDigitalSetFocus(oShape) - - - -'gsh_log_e("GSH_SCADA_VALVEDIGITAL_P6A_ONUPDATE") - -end sub - -sub GSH_ValveDigitalSetValveCSSStyle(oShape,style) -'gsh_log_s("GSH_ValveDigitalSetValveCSSStyle oShape=" & oShape.id&",style="&style) -on error resume next - oShape.objects("plg_ValveDigitalPic").styleClass = style -'gsh_log_e("GSH_ValveDigitalSetValveCSSStyle") -end sub - -'sub GSH_ValveDigitalSetValveState(oShape,currentState) replaced by GSH_SCADA_VALVEDIGITALSETVALVENUMERICSTATE May1 - -sub GSH_SCADA_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericStateValue) -'gsh_log_s("GSH_SCADA_VALVEDIGITALSETVALVENUMERICSTATE oShape=" & oShape.id & "nNumericStateValue=" & nNumericStateValue) -on error resume next - Dim sTagName, sStateStyle - sTagName = GSH_GETSHAPETAG(oShape) - sStateStyle = GSH_READTAGINFORMATIONKEYVALUE(sTagName,"STATESTYLE("&nNumericStateValue&")",GSH_CSSVALVEDIGITALTRAVEL) -' gsh_log("GSH_SCADA_VALVEDIGITALSETVALVENUMERICSTATE checkpoint1 sStateStyle = "&sStateStyle) - - oShape.objects("txt_PVValue").style.visibility = GSH_HIDDEN - If strComp(sStateStyle,GSH_CSSVALVEDIGITALTRAVEL,vbTextCompare)=0 Then 'if the style is travel then make txt_PVValue visible - oShape.objects("txt_PVValue").style.visibility = GSH_VISIBLE - end if - call GSH_ValveDigitalSetValveCSSStyle(oShape,sStateStyle) -'gsh_log_e("GSH_SCADA_VALVEDIGITALSETVALVENUMERICSTATE") -end sub - -sub GSH_ValveDigitalSetFocus(oShape) -'gsh_log_s("GSH_ValveDigitalSetFocus oShape=" & oShape.id) -on error resume next - call GSH_SETSHAPEFOCUS(oShape) - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT '-> show noalarm (at shownornmal) fill the outline -> reset the fill here - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - 'oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_LineCover").styleClass = GSH_CSSFOCUSASSOCIATED_COLOUR - oShape.objects("txt_PVValue").style.visibility = GSH_VISIBLE - end if - -'gsh_log_e("GSH_ValveDigitalSetFocus") -end sub - -sub GSH_ValveDigitalBnBSetFocus(oShape) -'gsh_log_s("GSH_ValveDigitalSetFocus oShape=" & oShape.id) -on error resume next - call GSH_SETSHAPEFOCUS(oShape) - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT '-> show noalarm (at shownornmal) fill the outline -> reset the fill here - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - 'oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_LineCover1").styleClass = GSH_CSSFOCUSASSOCIATED_COLOUR - oShape.objects("txt_PVValue1").style.visibility = GSH_VISIBLE - oShape.objects("rec_LineCover2").styleClass = GSH_CSSFOCUSASSOCIATED_COLOUR - oShape.objects("txt_PVValue2").style.visibility = GSH_VISIBLE - oShape.objects("rec_LineCover3").styleClass = GSH_CSSFOCUSASSOCIATED_COLOUR - oShape.objects("txt_PVValue3").style.visibility = GSH_VISIBLE - else - oShape.objects("rec_LineCover1").styleClass = GSH_CSSBACKGROUND_GRAY - oShape.objects("txt_PVValue1").style.visibility = GSH_HIDDEN - oShape.objects("rec_LineCover2").styleClass = GSH_CSSBACKGROUND_GRAY - oShape.objects("txt_PVValue2").style.visibility = GSH_HIDDEN - oShape.objects("rec_LineCover3").styleClass = GSH_CSSBACKGROUND_GRAY - oShape.objects("txt_PVValue3").style.visibility = GSH_HIDDEN - end if - -'gsh_log_e("GSH_ValveDigitalSetFocus") -end sub - -sub GSH_ValveDigitalShowNormal(oShape) -'gsh_log_s("GSH_ValveDigitalShowNormal oShape=" & oShape.id) -on error resume next - oShape.objects("rec_LineCover").styleClass = GSH_CSSBACKGROUND_GRAY - oShape.objects("txt_PVValue").style.visibility = GSH_HIDDEN - oShape.objects("focus").style.visibility = GSH_HIDDEN - call GSH_ShowNoAlarm(oShape) -'gsh_log_e("GSH_ValveDigitalShowNormal") -end sub - -sub GSH_ValveDigitalShowOffNormal(oShape) -'gsh_log_s("GSH_ValveDigitalShowOffNormal oShape=" & oShape.id) -on error resume next - oShape.objects("focus").style.visibility = GSH_VISIBLE - oShape.objects("focus").styleClass = GSH_VALVEDIGITALOFFNORMAL - oShape.objects("txt_PVValue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_ValveDigitalShowOffNormal") -end sub - -sub GSH_ValveDigitalShowDisabledAlarm(oShape) -'gsh_log_s("GSH_ValveDigitalShowDisabledAlarm oShape=" & oShape.id) -on error resume next - oShape.objects("outline").styleClass = GSH_CSSVALVEDIGITALDISABLEDALARM -'gsh_log_e("GSH_ValveDigitalShowDisabledAlarm") -end sub - -sub GSH_ValveDigitalShowBadPV(oShape) -'gsh_log_s("GSH_ValveDigitalShowBadPV oShape=" & oShape.id) -on error resume next - call GSH_ValveDigitalSetValveCSSStyle(oShape,GSH_CSSVALVEDIGITALTRAVEL) - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("txt_PVvalue").value = gsh_badpv -'gsh_log_e("GSH_ValveDigitalShowBadPV") -end sub - -sub GSH_ValveDigitalShowEmergencyAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_ValveDigitalShowEMERGENCYAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_ShowEmergencyAlarm(oShape,unAcknowledged) - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_ValveDigitalShowEmergencyAlarm") -end sub - -sub GSH_ValveDigitalShowHighAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_ValveDigitalShowHighAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_ShowHighAlarm(oShape,unAcknowledged) - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_ValveDigitalShowHighAlarm") -end sub - -sub GSH_ValveDigitalShowLowAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_ValveDigitalShowLowAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) - call GSH_ShowLowAlarm(oShape,unAcknowledged) - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_ValveDigitalShowLowAlarm") -end sub - - - - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' Regulatory Control Valve Shape Section: Contains all functions specific to the shape -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ValveRegulatoryControl_SCADA_OnUpdate(oShape, flag) -'gsh_log_s("GSH_ValveRegulatoryControlOnUpdate oShape=" & oShape.id) - - If flag <= 1 then - call GSH_ValveRegulatoryControlShowNormal(oShape) - - Dim OPValue,stsmsg, redTag, initMan - OPValue = oShape.objects("ind_OPStem").value - If (OPValue <= 5) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else if ( (OPValue > 5) and (OPValue < 95) ) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if: end if - - - - 'Check the points alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - 'Alarm is Disabled - call GSH_ValveRegulatoryControlShowDisabledAlarm(oShape) - else - 'alarming is enabled, get highest priority and change shape accordingly - - 'gsh_log_e("GSH_ValveRegulatoryControlOnUpdate <<" & GSH_GETHIGHESTALARMPRIORITY_OP(oShape.objects("rec_DataScript"))) - Select Case GSH_GETHIGHESTALARMPRIORITY_OP(oShape.objects("rec_DataScript")) - Case GSH_NOALARMCODE - Call GSH_ValveRegulatoryControlShowNoAlarm(oShape) - Case GSH_UNACKEMERG - call GSH_ValveRegulatoryControlShowEmergencyAlarm(oShape,true) - Case GSH_UNACKHIGH - call GSH_ValveRegulatoryControlShowHighAlarm(oShape,true) - Case GSH_UNACKLOW - call GSH_ValveRegulatoryControlShowLowAlarm(oShape,true) - Case GSH_ACKEMERG - call GSH_ValveRegulatoryControlShowEmergencyAlarm(oShape,false) - Case GSH_ACKHIGH - call GSH_ValveRegulatoryControlShowHighAlarm(oShape,false) - Case GSH_ACKLOW - call GSH_ValveRegulatoryControlShowLowAlarm(oShape,false) - Case Else - call GSH_ValveRegulatoryControlShowNoAlarm(oShape) - End Select - End If - 'End If - - 'If flag <= 1 then - - 'Focus - call GSH_ValveRegulatoryControlSetFocus(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_PV)) then - call GSH_ValveRegulatoryControlShowOffNormal(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - - End If - - If flag = 0 then - 'Update Value (added Jun 7th) - oShape.objects("txt_OPValue").value = FormatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - - 'Make the focus transparent for valves - 'oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground --> outline is always transparent - End If - - 'gsh_log_e("GSH_ValveRegulatoryControlOnUpdate") -end sub - -sub GSH_ValveRegulatoryControlSetFocus(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlSetFocus oShape=" & oShape.id) -on error resume next - - call GSH_SetShapeFocus(oShape) - - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - call GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,false) - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("rec_LineCover").styleClass = GSH_CSSFOCUSASSOCIATED_COLOUR - oShape.objects("txt_OPValue").style.visibility = GSH_VISIBLE 'changed AL - else - oShape.objects("rec_LineCover").styleClass = GSH_CSSBACKGROUND_GRAY - end if - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT '-> set alarm filled the outline -> set it back to transparent here -'gsh_log_e("GSH_ValveRegulatoryControlSetFocus") -end sub - -sub GSH_ValveRegulatoryControlShowNormal(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlShowNormal oShape=" & oShape.id) -on error resume next - 'oShape.objects("txt_OPValue").value = FormatNumber(oShape.objects("ind_OPBottom").value,GSH_OUTPUTINDICATORDECIMALS) - oShape.objects("rec_LineCover").styleClass = GSH_CSSBACKGROUND_GRAY - oShape.objects("txt_OPValue").style.visibility = GSH_HIDDEN 'changed AL - oShape.objects("ind_OPBottom").style.visibility = GSH_VISIBLE - call GSH_ValveRegulatoryControlShowNoAlarm(oShape) - call GSH_ValveRegulatoryControlShowNoStatusMessage(oShape) - call GSH_ValveRegulatoryControlShowNoWindUp(oShape) -'gsh_log_e("GSH_ValveRegulatoryControlShowNormal") -end sub - -sub GSH_ValveRegulatoryControlShowOffNormal(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlShowOffNormal oShape=" & oShape.id) -on error resume next - oShape.objects("focus").style.visibility = GSH_VISIBLE - oShape.objects("focus").styleClass = GSH_CSSREGULATORYCONTROLVALVEOFFNORMAL - call GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,true) -'gsh_log_e("GSH_ValveRegulatoryControlShowOffNormal") -end sub - -sub GSH_ValveRegulatoryControlShowEmergencyAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_ValveRegulatoryControlShowEmergencyAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) -on error resume next - call GSH_ShowEmergencyAlarm(oShape,unAcknowledged) - call GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,false) -'gsh_log_e("GSH_ValveRegulatoryControlShowEmergencyAlarm") -end sub - -sub GSH_ValveRegulatoryControlShowDisabledAlarm(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlShowDisabledAlarm oShape=" & oShape.id) -on error resume next - call GSH_ShowNoAlarm(oShape) - call GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,true) - oShape.objects("outline").styleClass = GSH_CSSREGULATORYCONTROLINDICATORDISABLEDALARM -'gsh_log_e("GSH_ValveRegulatoryControlShowDisabledAlarm") -end sub - -sub GSH_ValveRegulatoryControlShowHighAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_ValveRegulatoryControlShowHighAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) -on error resume next - call GSH_ShowHighAlarm(oShape,unAcknowledged) - call GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,false) -'gsh_log_e("GSH_ValveRegulatoryControlShowHighAlarm") -end sub - -sub GSH_ValveRegulatoryControlShowLowAlarm(oShape,unAcknowledged) -'gsh_log_s("GSH_ValveRegulatoryControlShowLowAlarm oShape=" & oShape.id & "unAcknowledged=" & cstr(unAcknowledged)) -on error resume next - call GSH_ShowLowAlarm(oShape,unAcknowledged) - call GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,false) -'gsh_log_e("GSH_ValveRegulatoryControlShowLowAlarm") -end sub - -sub GSH_ValveRegulatoryControlShowNoAlarm(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlShowNoAlarm oShape=" & oShape.id) -on error resume next - call GSH_ShowNoAlarm(oShape) - call GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,true) -'gsh_log_e("GSH_ValveRegulatoryControlShowNoAlarm") -end sub - -sub GSH_ValveRegulatoryControlShowNoWindUp(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlShowNoWindUp oShape=" & oShape.id) -on error resume next - oShape.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oShape.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oShape.objects("txt_initialization").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_ValveRegulatoryControlShowNoWindUp") -end sub - -sub GSH_ValveRegulatoryControlShowNoStatusMessage(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlShowNoStatusMessage oShape=" & oShape.id) -on error resume next - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_ValveRegulatoryControlShowNoStatusMessage") -end sub - -sub GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) -'gsh_log_s("GSH_ValveRegulatoryControlShowStatusMessage oShape=" & oShape.id & ",message="&message) -on error resume next - oShape.objects("txt_statusmessage").style.visibility = GSH_VISIBLE - oShape.objects("txt_statusmessage").value = message -'gsh_log_e("GSH_ValveRegulatoryControlShowStatusMessage") -end sub - -sub GSH_ValveRegulatoryControlShowInitialization(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlShowInitialization oShape=" & oShape.id) -on error resume next - oShape.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oShape.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oShape.objects("txt_initialization").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_ValveRegulatoryControlShowInitialization") -end sub - -sub GSH_ValveRegulatoryControlShowWindLow(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlShowWindLow oShape=" & oShape.id) -on error resume next - oShape.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oShape.objects("txt_initialization").style.visibility = GSH_HIDDEN - oShape.objects("plg_OpLow").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_ValveRegulatoryControlShowWindLow") -end sub - -sub GSH_ValveRegulatoryControlShowWindHigh(oShape) -'gsh_log_s("GSH_ValveRegulatoryControlShowWindHigh oShape=" & oShape.id) -on error resume next - oShape.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oShape.objects("txt_initialization").style.visibility = GSH_HIDDEN - oShape.objects("plg_OpHigh").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_ValveRegulatoryControlShowWindHigh") -end sub - -sub GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,ShowBottomFlowdicator) -'gsh_log_s("GSH_ValveRegulatoryControlShowBottomFlowIndicator oShape="&oShape.id&" "& CSTR(ShowBottomFlowdicator)) -on error resume next - if (ShowBottomFlowdicator) then - oShape.Objects("ind_OPBottom").style.visibility = GSH_VISIBLE - oShape.Objects("rec_MidLineBottom").style.visibility = GSH_VISIBLE - oShape.objects("txt_OPValue").style.visibility = GSH_HIDDEN - else - oShape.Objects("ind_OPBottom").style.visibility = GSH_HIDDEN - oShape.Objects("rec_MidLineBottom").style.visibility = GSH_HIDDEN - oShape.objects("txt_OPValue").style.visibility = GSH_VISIBLE - end if -'gsh_log_e("GSH_ValveRegulatoryControlShowBottomFlowIndicator") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GETOPERATORTREND''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sSection - registry section -' sKey - registry subkey -' sDefaultString - Default string if error of nothing found -'Returns: -' String, value of specified Demand\Trend subkey -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETOPERATORTREND(strApp, strSection,strKey,defaultString) -'gsh_log_s("GSH_GETOPERATORTREND strApp=" & strApp & "strSection=" & strSection & ",strKey=" & strKey & ",defaultString=" & defaultString ) -on error resume next - dim strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_OPERATORTREND & strApp & "\"& strSection & "\"& strKey - tempReturn = GSH_READREGISTRY(strRegLocation,defaultString) - GSH_GETOPERATORTREND = tempReturn -'gsh_log_e("GSH_GETOPERATORTREND returning " & tempReturn) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SETOPERATORTREND''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sSection - registry section -' sKey - registry subkey -' sDefaultString - Default string if error of nothing found -'Returns: -' String, value of specified DetailTrend subkey -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETOPERATORTREND(strApp,strSection,strKey,strValue) -'gsh_log_s("GSH_SETOPERATORTREND strApp=" & strApp & "strSection=" & strSection & ",strKey=" & strKey & ",strValue=" & strValue ) -on error resume next - dim strRegLocation - strRegLocation = GSH_REGISTRY_OPERATORTREND & strApp & "\"& strSection & "\"& strKey - 'gsh_log("GSH_SETOPERATORTREND checkPoint strRegLocation=" & strRegLocation) - GSH_WRITETOREGISTRY strRegLocation,strValue,"REG_SZ" -'gsh_log_e("GSH_SETOPERATORTREND") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GETDETAILTREND''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sSection - registry section -' sKey - registry subkey -' sDefaultString - Default string if error of nothing found -'Returns: -' String, value of specified DetailTrend subkey -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETDETAILTREND(strSection,strKey,defaultString) -'gsh_log_s("GSH_GETDETAILTREND " & "strSection=" & strSection & ",strKey=" & strKey & ",defaultString=" & defaultString ) -on error resume next - dim strRegLocation, tempReturn - strRegLocation = GSH_REGISTRY_DETAILTREND & strSection & "\"& strKey - tempReturn = GSH_READREGISTRY(strRegLocation,defaultString) - GSH_GETDETAILTREND = tempReturn -'gsh_log_e("GSH_GETDETAILTREND returning & " & tempReturn) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SETDETAILTREND''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sSection - registry section -' sKey - registry subkey -' sDefaultString - Default string if error of nothing found -'Returns: -' String, value of specified DetailTrend subkey -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETDETAILTREND(strSection,strKey,strValue) -'gsh_log_s("GSH_SETDETAILTREND " & "strSection=" & strSection & ",strKey=" & strKey & ",strValue=" & strValue ) -on error resume next - dim strRegLocation - strRegLocation = GSH_REGISTRY_DETAILTREND & strSection & "\"& strKey - 'gsh_log("GSH_SETDETAILTREND checkPoint strRegLocation=" & strRegLocation) - GSH_WRITETOREGISTRY strRegLocation,strValue,"REG_SZ" -'gsh_log_e("GSH_SETDETAILTREND") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_DetailTrendInitialize''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' sTagName - Tag name to initialize the detail trend with -' 06/01/07 Added HDA, OPC1 and OPC2 pathprefixes because the Historian -' tagname is different from the tagname and there may be a funnel OPC interface -'06/01/07 parse out the function block for storing the itemAlias -'10/06/2008 (CL) Add writing value of tag euhigh and eulow to trend range high and trend range low to allow the trend use -' the range from registry when the range is not available from the historian -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_FP_DetailTrendInitialize(sTagName) -'Run on page load event for faceplate. -'On Error GoTo errorhandler -on error resume next - -'gsh_log_s("GSH_FP_DetailTrendInitialize sTagName = " &sTagName) - -Dim arYMax(4), arYMin(4), asAutoScale(4), asTrendParams(4), asActive(4), asTrendParamShort(4), asPVeuhigh(4), asPVeulow(4) -Dim asTraceNames(4), asTraceActive(4), asTraceParams(4), asStepped(4), asPVFormat(4) -Dim sPathPrefix, nTrendingParams, nCount, nNumTrends, nIndex, sPVFormat, sItemAlias, sPVeuhigh, sPVeulow -Dim istrLen, iPosition - - nIndex = 0 - nNumTrends = 4 - nTrendingParams = GSH_READTAGINFORMATIONKEYVALUE(sTagName, "NoOfTrendingParams", 0) - sPVFormat = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT) - sPathPrefix = GSH_GETDEMANDTREND (GSH_REGISTRY_SETTINGS,GSH_REGKEY_PATHPREFIX, "") - sItemAlias = sTagName - - '10/06/2008 CL - sPVeuhigh = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_EUHIGH, 0) - sPVeulow = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_EULOW, 0) - - If nTrendingParams > 0 Then - sItemAlias = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TAGNAME_ALIAS, sTagName) - For nCount = 1 To nTrendingParams - asTrendParams(nCount) = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TRENDPARAM & nCount, "") - istrLen = len(asTrendParams(nCount)) - iPosition= Instr(1, asTrendParams(nCount) , ".",vbtextcompare) - asTrendParamShort(nCount) = right(asTrendParams(nCount), istrLen - iPosition) - asStepped(nCount) = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TRENDSTEPPED & nCount, "OFF") -' Select Case asTrendParams(nCount) - Select Case asTrendParamShort(nCount) - Case "PV" - asAutoScale(nCount) = "ON" - asPVFormat(nCount) = sPVFormat - - asPVeuhigh(nCount) = sPVeuhigh - asPVeulow(nCount) = sPVeulow - - Case "SP" - asAutoScale(nCount) = "ON" - asPVFormat(nCount) = sPVFormat - asPVeuhigh(nCount) = sPVeuhigh - asPVeulow(nCount) = sPVeulow - - Case "OP" - asAutoScale(nCount) = "OFF" - asPVFormat(nCount) = "D1" - arYMax(nCount) = 106.9 - arYMin(nCount) = -6.9 - asPVeuhigh(nCount) = 106.9 - asPVeulow(nCount) = -6.9 - call GSH_SETDETAILTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMAX,arYMax(nCount)) - call GSH_SETDETAILTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMIN,arYMin(nCount)) - Case "MODE" - asAutoScale(nCount) = "ON" - asPVeuhigh(nCount) = 100 - asPVeulow(nCount) = 0 - Case Else - asAutoScale(nCount) = "ON" - End Select - Next - End If - - For nCount = 1 To nNumTrends - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, "OFF" - Next - - For nCount = 1 To nTrendingParams - ' asTraceParams(nCount) = sTagName & "." & asTrendParams(nCount) - asTraceActive(nCount) = "ON" - Next - - Dim sOPC1_PathPrefix,sOPC2_PathPrefix, sTagNameHDA - sOPC1_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY1PREFIX,"") - sOPC2_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY2PREFIX,"") - bUseShortNameForHDA = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_USESHORTNAME_FOR_HDAPATH,"") - - For nCount = 1 To nTrendingParams - sTagNameHDA = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TAGNAMEHDA, sTagName) - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, sItemAlias & "." & asTrendParamShort(nCount) - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPCITEMPATH, sOPC1_PathPrefix & sTagName& "." & asTrendParams(nCount) - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPC2ITEMPATH, sOPC2_PathPrefix & sTagName& "." & asTrendParams(nCount) - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, asTraceActive(nCount) - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, asAutoScale(nCount) - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TRENDSTEPPED, asStepped(nCount) - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_PVFORMATKEY, asPVFormat(nCount) - - 'Added 10/06/2008 (CL) add to allows trend to use range from registry if they are not available from historian - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_HIGH, asPVeuhigh(nCount) - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_LOW, asPVeulow(nCount) - - 'Added 09/07/2008 (JE) to work with Sasol PHD historian interface - 'Issue#21: http://wss-edm-1/clients/hcs/services/ISE-HCS8227/ClientProjectAccess/Lists/Issue%20Tracker/DispForm.aspx?ID=21 - If(UCASE(bUseShortNameForHDA) = "ON") then - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTrendParamShort(nCount) - Else - GSH_SETDETAILTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTrendParams(nCount) - End If - Next - -'gsh_log_e("GSH_FP_DetailTrendInitialize") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DETAILTRENDPERIODICUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Function: Reset the Trend Scales for outputs & setpoints -'Returns: -' sTagName - Tag name on which to update the detail trend info -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DETAILTRENDPERIODICUPDATE(sTagName) -'gsh_log_s ("GSH_DETAILTRENDPERIODICUPDATE sTagName =" & sTagName ) - -if (strcomp(sTagName,"",vbtextcompare)<> 0) then - Dim arYMax(4) - Dim arYMin(4) - Dim nTrendingParams - - nTrendingParams = GSH_READTAGINFORMATIONKEYVALUE(sTagName, "NoOfTrendingParams", 0) - If nTrendingParams > 2 Then - arYMax(2) = GSH_GETDETAILTREND(GSH_REGKEY_TRENDTRACE & "2",GSH_REGKEY_TREND_YMAX,"100") - arYMin(2) = GSH_GETDETAILTREND(GSH_REGKEY_TRENDTRACE & "2",GSH_REGKEY_TREND_YMIN,"0") - - arYMax(1) = arYMax(2) - arYMin(1) = arYMin(2) - call GSH_SETDETAILTREND(GSH_REGKEY_TRENDTRACE & "1",GSH_REGKEY_AUTOSCALE,"OFF") - call GSH_SETDETAILTREND(GSH_REGKEY_TRENDTRACE & "1",GSH_REGKEY_TREND_YMAX,arYMax(1)) - call GSH_SETDETAILTREND(GSH_REGKEY_TRENDTRACE & "1",GSH_REGKEY_TREND_YMIN,arYMin(1)) - - arYMax(3) = 106.9 - arYMin(3) = -6.9 - call GSH_SETDETAILTREND(GSH_REGKEY_TRENDTRACE & "3",GSH_REGKEY_AUTOSCALE,"OFF") - call GSH_SETDETAILTREND(GSH_REGKEY_TRENDTRACE & "3",GSH_REGKEY_TREND_YMAX,arYMax(3)) - call GSH_SETDETAILTREND(GSH_REGKEY_TRENDTRACE & "3",GSH_REGKEY_TREND_YMIN,arYMin(3)) - End If -end if -'gsh_log_e ("GSH_DETAILTRENDPERIODICUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'DIGITALMULTIPLE SHAPE SPECIFIC CODE -' 09/19/2007 - Add alarm checking (ref issue# 859) (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_DIGITALMULTIPLE_SETLABEL (oShape) -'gsh_log_s("GSH_SCADA_DIGITALMULTIPLE_SETLABEL oShape="&oShape.id) - - dim results(1) - dim bOffNormal, bInAlarm - dim alarmCode - bOffNormal = false - bInAlarm = false - - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_RES),"",vbtextcompare)<>0 then - - - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_dataScript"),GSH_CPENTITY_RES) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_RES, GSH_PROCESSVALUE) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "RES" - GSH_SCADA_DIGITALMULTIPLE_SETLABEL = results - exit function - end if - end if - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_MOS),"",vbtextcompare)<>0 then - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_MOS) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_MOS, GSH_PROCESSVALUE) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "MOS" - GSH_SCADA_DIGITALMULTIPLE_SETLABEL = results - exit function - end if - end if - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_SOR),"",vbtextcompare)<>0 then - - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_SOR) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_SOR, GSH_PROCESSVALUE) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "SOR" - GSH_SCADA_DIGITALMULTIPLE_SETLABEL = results - exit function - end if - end if - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_HHFF),"",vbtextcompare)<>0 then - - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_HHFF) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_HHFF, GSH_PROCESSVALUE) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "FFH" - GSH_SCADA_DIGITALMULTIPLE_SETLABEL = results - exit function - end if - end if - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_LLFF),"",vbtextcompare)<>0 then - - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_LLFF) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_LLFF, GSH_PROCESSVALUE) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "FFL" - GSH_SCADA_DIGITALMULTIPLE_SETLABEL = results - exit function - end if - end if - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_HHTRIP),"",vbtextcompare)<>0 then - dim sCPLabel, sCPChar - sCPLabel = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - sCPChar = left(sCPLabel,1) - - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_HHTRIP) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_HHTRIP, GSH_PROCESSVALUE) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = sCPChar & "H" - GSH_SCADA_DIGITALMULTIPLE_SETLABEL = results - exit function - end if - end if - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_LLTRIP),"",vbtextcompare)<>0 then - dim sCPLabel2, sCPChar2 - sCPLabel2 = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - sCPChar2 = left(sCPLabel2,1) - - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_LLTRIP) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_LLTRIP, GSH_PROCESSVALUE) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = sCPChar2 & "L" - GSH_SCADA_DIGITALMULTIPLE_SETLABEL = results - exit function - end if - end if - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_DEVIATION),"",vbtextcompare)<>0 then - - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_DEVIATION) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_DEVIATION, GSH_PROCESSVALUE) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "DEV" - GSH_SCADA_DIGITALMULTIPLE_SETLABEL = results - exit function - end if - end if - - results(0) = 0 - results(1) = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - GSH_SCADA_DIGITALMULTIPLE_SETLABEL = results - -'gsh_log_s("GSH_SCADA_DIGITALMULTIPLE_SETLABEL results(0) ="&results(0) &"bOffNormal = " &bOffNormal &"bInAlarm = " &bInAlarm) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_DIGITALMULTIPLE_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital value does not change often) only to increase performance -' 06/01/07 Remove offnormal check for the Entity point because it can be Analog or Digital -' 09/01/07 Add check so that when shape is in alarm, it does not show offnormal -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_DIGITALMULTIPLE_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_SCADA_DIGITALMULTIPLE_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - dim counter, inresults, alarmStatus - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - inresults = GSH_SCADA_DIGITALMULTIPLE_SETLABEL(oShape) - oShape.objects("txt_PVvalue").value = inresults(1) 'Determine label text - 'Alarming: Don't check alarm disabled for this alarm group (OK'd by Jamie) - dim sAlarmPriority, bUnack - sAlarmPriority = GSH_GETALARMGROUPPRIORITYPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITY_ALARMGROUP) - bUnack = GSH_GETALARMGROUPUNACKPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITY_ALARMGROUP) - -' gsh_log ("sAlarmPriority = " & sAlarmPriority & "bUnack = " & bUnack ) - - call GSH_SHOWALARMS (sAlarmPriority, bUnack, oShape) - - End If - - If flag <= 1 then - 'Set the focus - call GSH_DIGITALMULTIPLESETFOCUS(oShape) - - 'check for offnormal - dim sCPLabel,sPVStateTxt - sCPLabel = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_PROCESSVALUE,oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - 'Add check so that when shape is in alarm, it does not show offnormal - if (inresults(0) = 1 and sAlarmPriority=0) then 'strcomp(oShape.objects("txt_PVvalue").value, sCPLabel, vbtextcompare) <> 0 then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -'gsh_log_e("GSH_SCADA_DIGITALMULTIPLE_ONUPDATE") -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital value does not change often) only to increase performance -' 12/18/2007: Add this function to handle P6A Digital Multiple shape (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - dim counter, alarmStatus - dim inresults - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - inresults = GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL(oShape) - - oShape.objects("txt_PVvalue").value = inresults(1) 'Determine label text - 'Alarming: Don't check alarm disabled for this alarm group (OK'd by Jamie) - dim sAlarmPriority, bUnack - sAlarmPriority = GSH_GETALARMGROUPPRIORITYPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITY_ALARMGROUP) - bUnack = GSH_GETALARMGROUPUNACKPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITY_ALARMGROUP) - - call GSH_SHOWALARMS (sAlarmPriority, bUnack, oShape) - - End If - - If flag <= 1 then - 'Set the focus - - call GSH_DIGITALMULTIPLESETFOCUS(oShape) - - 'check for offnormal - dim sCPLabel,sPVStateTxt - sCPLabel = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_PROCESSVALUE,oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - 'Add check so that when shape is in alarm, it does not show offnormal - if (inresults(0) = 1 and sAlarmPriority=0) then 'strcomp(oShape.objects("txt_PVvalue").value, sCPLabel, vbtextcompare) <> 0 then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL -' gsh_log "Focus None, Offnormal" - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL -' gsh_log "Focus, Offnormal" - end if - end if - end if - End If -'gsh_log_e("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_ONUPDATE") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL -' 12/18/2007: Add this function to handle P6A Digital Multiple shape (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL (oShape) -'gsh_log_s("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL oShape="&oShape.id) - - dim results(1) - dim bOffNormal, bInAlarm - dim alarmCode - bOffNormal = false - bInAlarm = false - - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_RES),"",vbtextcompare)<>0 then - -' bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_RES) - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL(oShape.objects("rec_dataScript"),GSH_CPENTITY_RES,GSH_CPPARAM_RES_PARA) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_RES, GSH_CPPARAM_RES_PARA) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "RES" -' gsh_log("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL results(0) ="&results(0) &" results(1) = " &results(1) &" bOffNormal = " &bOffNormal &" bInAlarm = " &bInAlarm) - GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL = results - exit function - end if - end if - - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_MOS),"",vbtextcompare)<>0 then - -' bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_MOS) - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL(oShape.objects("rec_dataScript"),GSH_CPENTITY_MOS,GSH_CPPARAM_MOS_PARA) - - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_MOS, GSH_CPPARAM_MOS_PARA) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "MOS" -' gsh_log("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL MOS results(0) ="&results(0) &" results(1) = " &results(1) &" bOffNormal = " &bOffNormal &" bInAlarm = " &bInAlarm) - GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL = results - exit function - end if - end if - - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_SOR),"",vbtextcompare)<>0 then - -' bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_SOR) - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL(oShape.objects("rec_dataScript"),GSH_CPENTITY_SOR,GSH_CPPARAM_SOR_PARA) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_SOR, GSH_CPPARAM_SOR_PARA) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "SOR" -' gsh_log("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL SOR results(0) ="&results(0) &" results(1) = " &results(1) &" bOffNormal = " &bOffNormal &" bInAlarm = " &bInAlarm) - GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL = results - exit function - end if - end if - - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_HHHTRIP),"",vbtextcompare)<>0 then - dim sCPLabelHHH, sCPCharHHH - sCPLabelHHH = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - sCPCharHHH = left(sCPLabelHHH,1) - -' bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_HHFF) - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL(oShape.objects("rec_dataScript"),GSH_CPENTITY_HHHTRIP,GSH_CPPARAM_HHHTRIP_PARA) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_HHFF, GSH_CPPARAM_HHFF_PARA) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = sCPCharHHH & "HH" -' results(1) = "FHH" -' gsh_log("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL HHH_Trip results(0) ="&results(0) &" results(1) = " &results(1) &" bOffNormal = " &bOffNormal &" bInAlarm = " &bInAlarm) - GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL = results - exit function - end if - end if - - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_LLLTRIP),"",vbtextcompare)<>0 then - dim sCPLabelLLL, sCPCharLLL - sCPLabelLLL = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - sCPCharLLL = left(sCPLabel,1) - -' bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_LLFF) - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL(oShape.objects("rec_dataScript"),GSH_CPENTITY_LLLTRIP,GSH_CPPARAM_LLLTRIP_PARA) - - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_LLFF, GSH_CPPARAM_LLFF_PARA) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = sCPCharLLL & "LL" -' results(1) = "FLL" -' gsh_log("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL LLL_Trip results(0) ="&results(0) &" results(1) = " &results(1) &" bOffNormal = " &bOffNormal &" bInAlarm = " &bInAlarm) - GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL = results - exit function - end if - end if - - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_HHTRIP),"",vbtextcompare)<>0 then - dim sCPLabel, sCPChar - sCPLabel = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - sCPChar = left(sCPLabel,1) - -' bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_HHTRIP) - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL(oShape.objects("rec_dataScript"),GSH_CPENTITY_HHTRIP,GSH_CPPARAM_HHTRIP_PARA) - - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_HHTRIP, GSH_CPPARAM_HHTRIP_PARA) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = sCPChar & "H" -' gsh_log("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL HHTrip results(0) ="&results(0) &" results(1) = " &results(1) &" bOffNormal = " &bOffNormal &" bInAlarm = " &bInAlarm) - GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL = results - exit function - end if - end if - - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_LLTRIP),"",vbtextcompare)<>0 then - dim sCPLabel2, sCPChar2 - sCPLabel2 = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - sCPChar2 = left(sCPLabel2,1) - -' bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_LLTRIP) - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL(oShape.objects("rec_dataScript"),GSH_CPENTITY_LLTRIP,GSH_CPPARAM_LLTRIP_PARA) - - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_LLTRIP, GSH_CPPARAM_LLTRIP_PARA) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = sCPChar2 & "L" -' gsh_log("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL LLTrip results(0) ="&results(0) &" results(1) = " &results(1) &" bOffNormal = " &bOffNormal &" bInAlarm = " &bInAlarm) - GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL = results - exit function - end if - end if - - if strcomp(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_DEVIATION),"",vbtextcompare)<>0 then - - bOffNormal = GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oShape.objects("rec_datascript"),GSH_CPENTITY_DEVIATION) - alarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_datascript"),GSH_CPENTITY_DEVIATION, GSH_CPPARAM_DEVIATION_PARA) - - if strcomp(alarmCode,GSH_NOALARMCODE,vbtextcompare)<>0 then - bInAlarm = true - end if - - if (bOffNormal or bInAlarm) then - results(0) = 1 - results(1) = "DEV" -' gsh_log("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL DEV results(0) ="&results(0) &" results(1) = " &results(1) &" bOffNormal = " &bOffNormal &" bInAlarm = " &bInAlarm) - GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL = results - exit function - end if - end if - - results(0) = 0 - results(1) = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL = results - -'gsh_log_e("GSH_SCADA_DIGITALMULTIPLE_VARIABLEINPUT_SETLABEL results(0) ="&results(0) &"bOffNormal = " &bOffNormal &"bInAlarm = " &bInAlarm) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALMULTIPLESETFOCUS''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = calling shape. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALMULTIPLESETFOCUS(oShape) -'gsh_log_s("GSH_DIGITALMULTIPLESETFOCUS oShape=" & oShape.id) -on error resume next - call GSH_SHOWSUBSHAPE(oShape.objects("focus")) - Dim shapeTag, shapeFocusStyle - shapeTag = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPENTITY, GSH_CPPOINT) - If GSH_DOESSHAPEREQUIRESPRINCIPLEFOCUS(shapeTag) then - shapeFocusStyle = GSH_CSSFOCUSPRINCIPAL - 'gsh_log "Pfocus" - else if GSH_DOESSHAPEREQUIRESASSOCIATEDFOCUS(shapeTag) then - shapeFocusStyle = GSH_CSSFOCUSASSOCIATED - 'gsh_log "Afocus" - else - shapeFocusStyle = GSH_CSSFOCUSNONE - 'GSH_LOG "Nofocus" - end if: end if - oShape.objects("focus").styleClass = shapeFocusStyle - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show DIGITAL value and outline - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - end if -'gsh_log_e("GSH_DIGITALMULTIPLESETFOCUS") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL(oDataBoundObject, sPointName) -'gsh_log_s("GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL ODataBoundObject = "& ODataBoundObject.ID & ",sPointName = " & sPointName) -on error resume next - Dim tempReturn,sTagname, sPVStateText, sPVNormalState - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(ODataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - tempReturn = false - nPVNumValue = ODataBoundObject.DataValue(sPointName &"."&GSH_PROCESSVALUE) - sPVStateText = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "StateTxt("&nPVNumValue&")", GSH_STATETXT_DOESNOTEXIST_LBL) -' if strcomp(sTagname, GSH_NONE, vbtextcompare) <> 0 then 'if the shape point name is "NONE" (already checking this before calling this fnc) - sPVNormalState = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_PV_NORMAL_STATE, GSH_NONE) - if (strComp(sPVNormalState,GSH_NONE,vbTextCompare) <> 0) then 'if Registry PVNormalState is NOT None - if (strComp(sPVStateText,sPVNormalState,vbTextCompare) <> 0) then - tempReturn = true - end if - end if -' end if -GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL = tempReturn -'gsh_log_e("GSH_SCADA_DIGITALMULTIPLE_POINT_IS_OFFNORMAL returning >>>" & tempReturn & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL(oDataBoundObject, sPointName, sPointNamePara) -'gsh_log_s("GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL ODataBoundObject = "& ODataBoundObject.ID & ",sPointName = " & sPointName) -on error resume next - Dim tempReturn,sTagname, sPVStateText, sPVNormalState - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(ODataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - tempReturn = false - nPVNumValue = ODataBoundObject.DataValue(sPointName &"."&GSH_PROCESSVALUE) - nPVNumValue = ODataBoundObject.DataValue(sPointName &"."&sPointNamePara) - sPVStateText = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "StateTxt("&nPVNumValue&")", GSH_STATETXT_DOESNOTEXIST_LBL) - if strcomp(sTagname, GSH_NONE, vbtextcompare) <> 0 then 'if the shape point name is "NONE" (already checking this before calling this fnc) - sPVNormalState = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_PV_NORMAL_STATE, GSH_NONE) - if (strComp(sPVNormalState,GSH_NONE,vbTextCompare) <> 0) then 'if Registry PVNormalState is NOT None - if (strComp(sPVStateText,sPVNormalState,vbTextCompare) <> 0) then - tempReturn = true - end if - end if - end if -GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL = tempReturn -'gsh_log_e("GSH_SCADA_DIGITALMULTIPLE_POINT_VARIN_IS_OFFNORMAL returning >>>" & tempReturn & "<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'SCADA_ANALOGTRIP SHAPE SPECIFIC CODE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_ANALOGTRIP_INIT(oShape) - dim sTagName, sEntityName, sDataValue - sTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - oShape.objects("txtTagNameAlias").value = GSH_READTAGINFORMATIONKEYVALUE(sTagName, GSH_REGKEY_TAGNAME_ALIAS, sTagName) - oShape.objects("txtTagDescription").value = GSH_READTAGINFORMATIONKEYVALUE(sTagName, GSH_REGKEY_TAGDESCRIPTION, sTagName) - sEntityName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_LOWTRIP) - if strcomp (sEntityName, "", vbtextcompare) = 0 then - oShape.objects("txt_PVLowTripValue").value = " " - else - oShape.objects("txt_PVLowTripValue").value = GSH_FormatPVTextTag(sTagName,oShape.objects("rec_DataStatic").DataValue(GSH_CPENTITY_LOWTRIP & "." & GSH_CPPARAM_LOWTRIP)) - end if - sEntityName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY_HIGHTRIP) - if strcomp (sEntityName, "", vbtextcompare) = 0 then - oShape.objects("txt_PVHighTripValue").value = " " - else - oShape.objects("txt_PVHighTripValue").value = GSH_FormatPVTextTag(sTagName,oShape.objects("rec_DataStatic").DataValue(GSH_CPENTITY_HIGHTRIP & "." & GSH_CPPARAM_HIGHTRIP)) - end if -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITE_SCADA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' Jun 13, 2007, Added by CL to handle Scada_MF_DigitalComposite shape -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve problem -' that the combox or alp entry was open, -' but no entry made, then other tag is selected as focus tag. (CL) -sub GSH_GROUPDIGITALCOMPOSITE_SCADA_ONUPDATE(oShape, flag) -on error resume next -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITE_SCADA_ONUPDATE shapeID = "& oShape.id) - If flag <= 1 then - - GSH_GROUPDIGITALCOMPOSITESHOWNORMAL(oShape) - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN 'Hide RedTag - - 'Alarming - if GSH_SCADA_ISALARMINGDISABLED(oShape.objects("rec_DataScript")) Then - 'Alarm is Disabled - call GSH_GROUPDIGITALCOMPOSITESHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"), GSH_CPENTITY),oShape) - End If - - dim sPVStateTxt - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - - 'PV Data Check - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"), true, false, false) Then - call GSH_GROUPDIGITALCOMPOSITESHOWBADPV(oShape) - else - oShape.objects("txt_DigitalValue").value = sPVStateTxt - End If - - 'Set the focus - 'call GSH_GROUPDIGITALCOMPOSITESETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("cmb_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - End If - - If flag = 0 then - 'Status message - dim val_redTag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - end if - - 'Display OP Value - dim sOPStateTxt - - sOPStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - oShape.objects("txt_OPValue").value = sOPStateTxt - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - End If - -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDIGITALCOMPOSITE_SCADA_P6A_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -'12/18/2007: Added to handle SCADA_DC_P6A shape. Works with SCADA_MF_DigitalComposit shape as well (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPDIGITALCOMPOSITE_SCADA_P6A_ONUPDATE(oShape, flag) -on error resume next -'gsh_log_s("GSH_GROUPDIGITALCOMPOSITE_SCADA_P6A_ONUPDATE shapeID = "& oShape.id) -' If flag <= 1 then - - GSH_GROUPDIGITALCOMPOSITESHOWNORMAL(oShape) - - 'Find value of GSH_CPPARAM_PV_IP1 - dim input1_val, input2_val, expected_input1_val, expected_input2_val, sPVStateTxt - - sPVStateTxt = GSH_NONE - input1_val = Cint(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_IP1)) - input2_val = Cint(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_IP2)) - - expected_input1_val = Cint(oShape.GetCustomProperty(GSH_CPVALUE,GSH_EXPECTEDVAL1)) - expected_input2_val = Cint(oShape.GetCustomProperty(GSH_CPVALUE,GSH_EXPECTEDVAL2)) - - if((input1_val=expected_input1_val) And (input2_val=expected_input2_val)) then - sPVStateTxt = GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),"BothOn","") - elseif ((input1_val=expected_input1_val) And (input2_val<>expected_input2_val)) then - sPVStateTxt = GSH_GET_STATE_TEXT_P6A(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), oShape.GetCustomProperty(GSH_CPPARAMETER,GSH_CPPARAM_IP1)&"_"&input1_val) - alarmPara=GSH_CPPARAM_IP1 - elseif ((input1_val<>expected_input1_val) And (input2_val=expected_input2_val)) then - sPVStateTxt = GSH_GET_STATE_TEXT_P6A(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), oShape.GetCustomProperty(GSH_CPPARAMETER,GSH_CPPARAM_IP2)&"_"&input2_val) - alarmPara=GSH_CPPARAM_IP2 - else - sPVStateTxt = GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),"BothOff","") - end if - - oShape.objects("txt_DigitalValue").value = sPVStateTxt - - 'Alarming - if GSH_SCADA_ISALARMINGDISABLED(oShape.objects("rec_DataScript")) Then - 'Alarm is Disabled - call GSH_GROUPDIGITALCOMPOSITESHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"), GSH_CPENTITY, alarmPara),oShape) - End If - - 'Set the focus - 'call GSH_GROUPDIGITALCOMPOSITESETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - To be checked with Rich if need offnormal checking -' if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then -' -' oShape.objects("cmb_OPValue").style.visibility = GSH_HIDDEN -' oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN -' -' 'Added new to handle SCADA_DC_P6A shape with separate parameter checking for offnormal. -' -' if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sPVStateTxt) then -' if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then -' oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL -' else -' oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL -' end if -' end if -' end if - -' End If - -' If flag = 0 then - - 'Display OP Value - dim sOPStateTxt - - 'Do not look into the registry b/c states set in the registry works for Fx_x parameter, not OP states - sOPStateTxt = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP) -' sOPStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - oShape.objects("txt_OPValue").value = sOPStateTxt - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) -' End If -'gsh_log_e("GSH_GROUPDIGITALCOMPOSITE_SCADA_P6A_ONUPDATE") -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GET_STATE_TEXT_P6A -' -' -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GET_STATE_TEXT_P6A(sTagname, sParaname) -'gsh_log_s("GSH_GET_STATE_TEXT_P6A parameter_name = "&sParaname &"sTagname="&sTagname) - - dim sStateTxt - sStateTxt = GSH_EMPTYSTRING - if strcomp (sParaname, GSH_F1_0, vbtextcompare) = 0 then - sStateTxt = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT(0)", GSH_EMPTYSTRING) - elseif strcomp (sParaname, GSH_F1_1, vbtextcompare) = 0 then - sStateTxt = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT(1)", GSH_EMPTYSTRING) - elseif strcomp (sParaname, GSH_F2_0, vbtextcompare) = 0 then - sStateTxt = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT(2)", GSH_EMPTYSTRING) - elseif strcomp (sParaname, GSH_F2_1, vbtextcompare) = 0 then - sStateTxt = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT(3)", GSH_EMPTYSTRING) - elseif strcomp (sParaname, GSH_F3_0, vbtextcompare) = 0 then - sStateTxt = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT(4)", GSH_EMPTYSTRING) - elseif strcomp (sParaname, GSH_F3_1, vbtextcompare) = 0 then - sStateTxt = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT(5)", GSH_EMPTYSTRING) - elseif strcomp (sParaname, GSH_F4_0, vbtextcompare) = 0 then - sStateTxt = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT(6)", GSH_EMPTYSTRING) - elseif strcomp (sParaname, GSH_F4_1, vbtextcompare) = 0 then - sStateTxt = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT(7)", GSH_EMPTYSTRING) - end if - - - GSH_GET_STATE_TEXT_P6A = sStateTxt -'gsh_log_e("GSH_GET_STATE_TEXT_P6A sStateTxt="&sStateTxt) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPDO_SCADA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' Jun 13, 2007, Added by CL to handle Scada_MF_DigitalComposite shape -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve problem -' that the combox or alp entry was open, -' but no entry made, then other tag is selected as focus tag. (CL) -sub GSH_GROUPDO_SCADA_ONUPDATE(oShape, flag) -on error resume next -'gsh_log_s("GSH_GROUPDO_SCADA_ONUPDATE shapeID = "& oShape.id) - If flag <= 1 then - - GSH_GROUPDIGITALCOMPOSITESHOWNORMAL(oShape) - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN 'Hide RedTag - - 'Set the focus - 'call GSH_GROUPDIGITALCOMPOSITESETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("cmb_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - End If - - If flag = 0 then - 'Status message - dim val_redTag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - end if - - 'Display OP Value - dim sOPStateTxt - - sOPStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - oShape.objects("txt_OPValue").value = sOPStateTxt - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - End If -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_ANALOGINDICATOR_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_ANALOGINDICATOR_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_C200_ANALOGINDICATOR_ONUPDATE oShape" & oShape.id) -on error resume next - -If flag = 0 then - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSSANALOGINDICATORDISABLEDALARM - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -End If - -If flag <=1 then - 'Set the focus - 'call GSH_ANALOGINDICATORSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - - -If flag = 0 then - 'Bad Data Check - If GSH_C200_ANALOG_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - oShape.objects("txt_PVvalue").value = "---" - Else - oShape.objects("txt_PVvalue").value = GSH_FormatPVText(oShape,oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV)) - End If -End If -'GSH_LOG_E ("GSH_C200_ANALOGINDICATOR_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_NUMERICINDICATOR_ALARMS_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -' Author: Didi Ekaette August 2, 2007 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_NUMERICINDICATOR_ALARMS_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_C200_NUMERICINDICATOR_ALARMS_ONUPDATE oShape" & oShape.id) -on error resume next -If flag = 0 then - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSSANALOGINDICATORDISABLEDALARM - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If -End If - -If flag <=1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Remove Check for Off Normal -End If - - -If flag = 0 then - 'Bad Data Check - If GSH_C200_ANALOG_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - oShape.objects("txt_PVvalue").value = "---" - Else - oShape.objects("txt_PVvalue").value = GSH_FormatPVText(oShape,oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV)) - End If -End If -'GSH_LOG_E ("GSH_C200_NUMERICINDICATOR_ALARMS_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_ANALOGOUTPUTINDICATORALARMS_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -'Author: Didi Ekaette July 30,2007 -'Jan102008: Remove offnormal checking (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_ANALOGOUTPUTINDICATORALARMS_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_C200_ANALOGOUTPUTINDICATORALARMS_ONUPDATE oShape" & oShape.id) -on error resume next - -If flag <= 1 then - - call GSH_SHOWNOALARM(oShape) - 'call GSH_SETREGULATORYCONTROLINDICATORMODE(oShape.objects("rec_DataScript")) - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSSANALOGINDICATORDISABLEDALARM - else -' gsh_log("C200_AO alarm code = " &GSH_GETHIGHESTALARMPRIORITY_OP(oShape.objects("rec_DataScript"))) - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - -End If - -If flag = 0 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) -End If - -'GSH_LOG_E ("GSH_C200_ANALOGOUTPUTINDICATORALARMS_ONUPDATE") -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -'Author: Didi Ekaette July 30,2007 -'Jan102008: Renamed from GSH_C200_ANALOGOUTPUTINDICATORALARMS_ONUPDATE (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_C200_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE oShape" & oShape.id) -on error resume next - -If flag <= 1 then - - call GSH_SHOWNOALARM(oShape) - call GSH_SETREGULATORYCONTROLINDICATORMODE(oShape.objects("rec_DataScript")) - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSSANALOGINDICATORDISABLEDALARM - else -' gsh_log("C200_AO alarm code = " &GSH_GETHIGHESTALARMPRIORITY_OP(oShape.objects("rec_DataScript"))) - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_ANALOG_MODE_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - -If flag = 0 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) -End If - -'GSH_LOG_E ("GSH_C200_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_REGCTLINDICATOR_ONUPDATE''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_REGCTLINDICATOR_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_REGCTLINDICATOR_ONUPDATE oShape=" & oShape.id) - -On Error Resume Next - -' gsh_log("Flag = " &flag &"Alarm Code = " &GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY)) - -' gsh_log("Alarm Code GEN function = " &GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_PROCESSVALUE)) - If flag = 0 then - call GSH_REGULATORYCONTROLINDICATORSHOWNORMAL(oShape) - - call GSH_SETREGULATORYCONTROLINDICATORMODE(oShape.objects("rec_DataScript")) - - 'Check the points alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_REGULATORYCONTROLINDICATORSHOWDISABLEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - - 'This might give out highest alarm (including returning alarm) - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - End If - - If flag <= 1 then - - 'Check Focus - call GSH_SETREGULATORYCONTROLINDICATORFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - If flag = 0 then - - 'PV Data Check - If GSH_C200_ANALOG_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - 'Set Mode - oShape.objects("txt_mode").value = Left(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE), 1) - - 'Check the point ramping - Select Case GSH_GET_POINT_RAMPING_VALUE(oShape.objects("rec_DataScript")) - Case GSH_RAMPING_RUN - call GSH_REGULATORYCONTROLINDICATORSHOW_RAMP(oShape,Left(GSH_RAMPING_RUN,1)) - Case GSH_RAMPING_PRESET - call GSH_REGULATORYCONTROLINDICATORSHOW_RAMP(oShape,Left(GSH_RAMPING_PRESET,1)) - Case else - 'do nothing because visibility is hidden by default and in Show Normal - end Select - 'Check the point Windup - dim sWindupStatus - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) - - End If -'gsh_log_e("GSH_C200_REGCTLINDICATOR_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_AUTOMAN_ONUPDATE''''''''''''''''''''''''' -'Parameters: oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -' 06/12/07 Removed initman check because it is redundant to Windup = HILO -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_AUTOMAN_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_AUTOMAN_ONUPDATE oShape=" & oShape.id) -On Error Resume Next -If flag = 0 then - call GSH_REGULATORYCONTROLINDICATORSHOWNORMAL(oShape) - 'Check the points alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_REGULATORYCONTROLINDICATORSHOWDISABLEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -End If -If flag <= 1 then - 'call GSH_SETREGULATORYCONTROLINDICATORFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS (oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_AUTOMAN_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If -If flag = 0 then - oShape.objects("txt_OPValue").value = formatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - oShape.objects("txt_mode").value = Left(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE), 1) - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) -End If -'gsh_log_e("GSH_C200_AUTOMAN_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'TODO: hardcoded to fix. -'Function: Get Highest Alarm Priority Parameter''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = data bound object within an HCS shape -' paraName - Script Data parameter Name -'Returns: Alarm Code = GSH_ACKLOW, GSH_ACKHIGH, GSH_ACKEMERG, -' GSH_UNACKLOW, GSH_UNACKHIGH, GSH_UNACKEMERG, GSH_NOALARMCODE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_GETHIGHESTALARMPRIORITYPROPERTY(oAlarmWordBoundObject) -''gsh_log_s("GSH_GETHIGHESTALARMPRIORITYPROPERTY oAlarmWordBoundObject=" & oAlarmWordBoundObject.id) -on error resume next -dim alarmword, alarmunack -' gsh_log ("oAlarmWordBoundObject.alarm = " &oAlarmWordBoundObject.alarm) - alarmword = (oAlarmWordBoundObject.alarm) and 1023 - alarmunack = (oAlarmWordBoundObject.alarm) and 2048 -' gsh_log "alarmword = " & hex(alarmword) & ", alarmunack = " & hex(alarmunack) '&h30, &h20, &h10 - - Dim iAlarmCode, iAlarmSeverity, iUnackAlarmExists - '0 = no, 1 = low, 2= high, 3= urgent - iAlarmSeverity = (alarmword/16) - if alarmunack = 2048 then - iUnackAlarmExists = 0 - else - iUnackAlarmExists = 1 - end if - iAlarmCode = GSH_NOALARMCODE - - select case(2*iAlarmSeverity+iUnackAlarmExists) - case 0 - iAlarmCode = GSH_NOALARMCODE - case 1 - iAlarmCode = GSH_NOALARMCODE - case 2 - iAlarmCode = GSH_ACKLOW - case 3 - iAlarmCode = GSH_UNACKLOW - case 4 - iAlarmCode = GSH_ACKHIGH - case 5 - iAlarmCode = GSH_UNACKHIGH - case 6 - iAlarmCode = GSH_ACKEMERG - case 7 - iAlarmCode = GSH_UNACKEMERG - case else -' gsh_log "GSH_GETHIGHESTALARMPRIORITYPROPERTY error Alarm Severity = " & iAlarmSeverity & ", Unacknowledged Alarm = " & iUnackAlarmExists - end select - 'return alarm code - GSH_GETHIGHESTALARMPRIORITYPROPERTY = iAlarmCode -'gsh_log "GSH_GETHIGHESTALARMPRIORITYPROPERTY info Alarm Severity = " & iAlarmSeverity & ", Unacknowledged Alarm = " & iUnackAlarmExists -'gsh_log_e("GSH_GETHIGHESTALARMPRIORITYPROPERTY returing " & iAlarmCode) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITALINDICATOR_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/06/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/13/07 Add GSH_GETHIGHESTALARMPRIORITYPROPERTY to the onupdate and -' added two new script data references: TOTALALARMS and unackalarmexists as well as -' a ConAlpAlarmValue object -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_DIGITALINDICATOR_ONUPDATE (oShape, flag) 'This version displays the StateTxt from the Registry -on error resume next - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")), oShape) - End If - 'No Bad Data Check - oShape.objects("txt_PVvalue").value = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - 'gsh_log "GSH_C200_DIGITALINDICATOR_ONUPDATE alarmpriority"&GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) - End If - If flag <= 1 then - 'Set the focus - 'call GSH_DIGITALINDICATORSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, oShape.objects("txt_PVvalue").value) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITALOUTPUTINDICATORALARMS_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/06/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/13/07 Add GSH_GETHIGHESTALARMPRIORITYPROPERTY to the onupdate and -' added two new script data references: TOTALALARMS and unackalarmexists as well as -' a ConAlpAlarmValue object -'Author: Didi Ekaette July 31, 2007 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_DIGITALOUTPUTINDICATORALARMS_ONUPDATE (oShape, flag) 'This version displays the StateTxt from the Registry -on error resume next - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - 'call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")), oShape) - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITY_OP(oShape.objects("rec_DataScript")),oShape) - End If - 'No Bad Data Check - 'oShape.objects("txt_PVvalue").value = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - oShape.objects("txt_OPvalue").value = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - - 'gsh_log "GSH_C200_DIGITALINDICATOR_ONUPDATE alarmpriority"&GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) - End If - If flag <= 1 then - 'Set the focus - 'call GSH_DIGITALINDICATORSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_OP_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, oShape.objects("txt_OPvalue").value) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -end sub - -'GSH_DIGITAL_GETSTATE is replaced by GSH_SCADA_DIGITAL_GETSTATE and GSH_C200_DIGITAL_GETSTATE on May 4, 2007 --- Why???? The two functions are the same - - -'These 3 functions below will be replaced by GSH_DIGITAL_GETSTATE when refactoring -function GSH_SCADA_DIGITAL_GETSTATE (sTagname, sPointName, sParameterName, oDataBoundSDObj) -'gsh_log_s "GSH_SCADA_DIGITAL_GETSTATE <<<<<<<<< sTagname="&sTagname&", sPointName="&sPointName&", sParameterName="&sParameterName&",oDataBoundSDObj ="&oDataBoundSDObj.id -dim nParameterNumericValue, sStateText - nParameterNumericValue = oDataBoundSDObj.DataValue(sPointName&"."&sParameterName) - sStateText = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT("&nParameterNumericValue&")", GSH_NONE) - GSH_SCADA_DIGITAL_GETSTATE = sStateText -'gsh_log_e "GSH_SCADA_DIGITAL_GETSTATE returns >>>>>>>>" &sStateText -end function - -function GSH_C200_DIGITAL_GETSTATE (sTagname, sPointName, sParameterName, oDataBoundSDObj) -'gsh_log_s "GSH_C200_DIGITAL_GETSTATE <<<<<<<<< sTagname="&sTagname&", sPointName="&sPointName&", sParameterName="&sParameterName&",oDataBoundSDObj ="&oDataBoundSDObj.id -dim nParameterNumericValue, sStateText - nParameterNumericValue = oDataBoundSDObj.DataValue(sPointName&"."&sParameterName) -'gsh_log "GSH_C200_DIGITAL_GETSTATE nParameterNumericValue = " & nParameterNumericValue - sStateText = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT("&nParameterNumericValue&")", GSH_NONE) - GSH_C200_DIGITAL_GETSTATE = sStateText -'gsh_log_e "GSH_C200_DIGITAL_GETSTATE returns >>>>>>>>" &sStateText -end function - -function GSH_FP_C200_DIGITAL_GETSTATE (sTagname, sPointName, sParameterName, oDataBoundSDObj, sFuncBlock) -'gsh_log_s "GSH_FP_C200_DIGITAL_GETSTATE <<<<<<<<< sTagname="&sTagname&", sPointName="&sPointName&", sParameterName="&sParameterName&",oDataBoundSDObj ="&oDataBoundSDObj.id -dim nParameterNumericValue, sStateText - nParameterNumericValue = oDataBoundSDObj.DataValue(sPointName&"."&sParameterName) - sStateText = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT("&nParameterNumericValue&")", GSH_NONE) - GSH_FP_C200_DIGITAL_GETSTATE = sStateText -'gsh_log_e "GSH_FP_C200_DIGITAL_GETSTATE returns >>>>>>>>" &sStateText -end function - -function GSH_TPS_DIGITAL_GETSTATE (sTagname, sPointName, sParameterName, oDataBoundSDObj) -'gsh_log_s "GSH_TPS_DIGITAL_GETSTATE <<<<<<<<< sTagname="&sTagname&", sPointName="&sPointName&", sParameterName="&sParameterName&",oDataBoundSDObj ="&oDataBoundSDObj.id -dim sParameterTextValue - sParameterTextValue = oDataBoundSDObj.DataValue(sPointName&"."&sParameterName) -' sStateText = GSH_READTAGINFORMATIONKEYVALUE(sTagname, "STATETXT("&nParameterNumericValue&")", "MOVING") - GSH_TPS_DIGITAL_GETSTATE = sParameterTextValue -'gsh_log_e "GSH_TPS_DIGITAL_GETSTATE returns >>>>>>>>" &sStateText -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITALINDICATOR_NOFORMAT_ONUPDATE'''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_DIGITALINDICATOR_NOFORMAT_ONUPDATE (oShape) -on error resume next -call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - -'Alarming -if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED -else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) -End If - -'Set the focus -call GSH_DIGITALINDICATORSETFOCUS(oShape) - -'Check for Off Normal if not in focus -if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if -end if - -'No Bad Data Check - oShape.objects("txt_PVvalue").value = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV) -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPDIGITALCOMPOSITE_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/06/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/14/07 replaced GSH_GETHIGHESTALARMPRIORITYPARAMETER with GSH_GETHIGHESTALARMPRIORITYPROPERTY -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve problem that the combox was open, -' but no entry made, then other tag is selected as focus tag. -' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPDIGITALCOMPOSITE_ONUPDATE(oShape, flag) -on error resume next - - If flag = 0 then - GSH_GROUPDIGITALCOMPOSITESHOWNORMAL(oShape) - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN 'Hide RedTag - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_GROUPDIGITALCOMPOSITESHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")),oShape) - End If - - 'PV Data Check - If GSH_C200_DIGITALCOMPOSITE_ISDATABAD(oShape.objects("rec_DataScript")) Then - call GSH_GROUPDIGITALCOMPOSITESHOWBADPV(oShape) - else - oShape.objects("txt_DigitalValue").value = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - End If - - End If - - If flag <= 1 then - 'Set the focus - 'call GSH_GROUPDIGITALCOMPOSITESETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - 'hide OP combobox if it was opened - oShape.objects("cmb_OPValue").style.visibility = GSH_HIDDEN - - if GSH_C200_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL, oShape.objects("txt_DigitalValue").value) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - End If - - If flag = 0 then - 'Status message - dim val_redTag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - end if - - 'Display OP Value -' sOPStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - oShape.objects("txt_OPValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP) - End If -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPDIGITALCOMPOSITE_SM_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 02/19/08 Created to add in Status Message checking -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPDIGITALCOMPOSITE_SM_ONUPDATE(oShape, flag) -on error resume next - - If flag = 0 then - GSH_GROUPDIGITALCOMPOSITESHOWNORMAL(oShape) - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN 'Hide RedTag - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_GROUPDIGITALCOMPOSITESHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")),oShape) - End If - - 'PV Data Check - If GSH_C200_DIGITALCOMPOSITE_ISDATABAD(oShape.objects("rec_DataScript")) Then - call GSH_GROUPDIGITALCOMPOSITESHOWBADPV(oShape) - else - oShape.objects("txt_DigitalValue").value = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - End If - - End If - - If flag <= 1 then - 'Set the focus - 'call GSH_GROUPDIGITALCOMPOSITESETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - 'hide OP combobox if it was opened - oShape.objects("cmb_OPValue").style.visibility = GSH_HIDDEN - - if GSH_C200_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL, oShape.objects("txt_DigitalValue").value) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - End If - - If flag = 0 then - 'Status message - dim val_redTag, val_stsMsg, tagName, stsMsgType - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG)) - - if strcomp(val_redTag,GSH_ON,vbtextcompare) = 0 then - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - else if (val_stsMsg > 0) then - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - if val_stsMsg >0 and stsMsgType <> "" then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &val_stsMsg, "") - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) - end if - end if - end if - - 'Display OP Value - sOPStateTxt = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP) - oShape.objects("txt_OPValue").value = sOPStateTxt - 'oShape.objects("txt_OPValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP) - End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_SELXDESC_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 04Mar2008 Created shape for Winz -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_SELXDESC_ONUPDATE (oShape, flag) 'This version displays the SELXDESC parameter -on error resume next - If flag = 0 then - call GSH_REGULATORYCONTROLINDICATORSHOWNORMAL(oShape) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY), oShape) - End If - 'No Bad Data Check - oShape.objects("txt_PVvalue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_SELXDESC") - oShape.objects("txt_mode").value = Left(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE), 1) - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) - End If - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_AUTOMAN_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_MULTIFPREGCTLSPLIT_ONUPDATE''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'06/05/07 Added flag parameter to execute only focus status update or all -'06/06/07 Optimize code, use ShowWindupStatus; modified RedTag code. -' removed initman check code because it's a duplicate of Windup = HILO -' 06/14/07 use GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL to check offnormal -' no longer checking PVSOURCE because there is no PV. -' 06/14/07 Changed shape design and function. Therefore removed RedTag, -' Ramp, SP and PV values, use general alarm function -' 06/15/07 remove reference to txt_statusmessage -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve problem that the combox was open, -' but no entry made, then other tag is selected as focus tag. (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_MULTIFPREGCTLSPLIT_ONUPDATE(oShape,flag) -'gsh_log_s "GSH_C200_MULTIFPREGCTLSPLIT_ONUPDATE oShape="&oShape&", flag="&flag -on error resume next -if flag = 0 then - GSH_GROUPREGULATORYCONTROLSHOWNORMAL(oShape) - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -End If -If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_Valve1").style.visibility = GSH_HIDDEN - oShape.objects("alp_Valve2").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If -if flag = 0 then - 'Display OP Value - oShape.objects("txt_Valve1").value = formatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_VLV1),GSH_OUTPUTINDICATORDECIMALS) - oShape.objects("txt_Valve2").value = formatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_VLV2),GSH_OUTPUTINDICATORDECIMALS) - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) - 'Initman check was redundant to Windup = HILO, it was removed. -End If -'gsh_log_e "GSH_C200_MULTIFPREGCTLSPLIT_ONUPDATE" -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIFPREGCTLGAP_SHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: ' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIFPREGCTLGAP_SHOWNORMAL(oShape) -'gsh_log_s("GSH_MULTIFPREGCTLGAP_SHOWNORMAL oShape=" & oShape.id) -on error resume next -Dim shapePoint, tagKeyword, tagName - 'Disable Alarms - call GSH_SHOWNOALARM(oShape) - 'Show values - oShape.objects("outline").styleClass = GSH_CSSGROUPREGULATORYCONTROLNORMAL - oShape.objects("outline").style.visibility = GSH_VISIBLE - 'Read Values from Registry - shapePoint = GSH_GETSHAPETAG(oShape) - tagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - 'Assign values to textboxes - oShape.objects("txt_tagname").value = tagName - oShape.objects("txt_keyword").value = tagKeyword -'gsh_log_e("GSH_MULTIFPREGCTLGAP_SHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_MULTIFPREGCTLGAP_ONUPDATE''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/05/07 Added flag parameter to execute only focus status update or all -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve -' problem that the combox or alp entry was open, -' but no entry made, then other tag is selected as focus tag. (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_MULTIFPREGCTLGAP_ONUPDATE(oShape, flag) -on error resume next - if flag = 0 then - GSH_MULTIFPREGCTLGAP_SHOWNORMAL(oShape) - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - End If - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_SPHighValue").style.visibility = GSH_HIDDEN - oShape.objects("alp_SPLowValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - - End If - if flag = 0 then - 'PV Data Check - If GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - if not((oShape.objects("rec_DataScript")).isNAN(GSH_CPENTITY &"." &GSH_CPPARAM_SPHIGH)) then - 'Display SP High or Low values (if any is configured for the point) - oShape.objects("txt_SPHighValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SPHIGH)) - else - call GSH_GROUPREGULATORYCONTROLSHOWBADSPHIGH(oShape) - end if - - if not((oShape.objects("rec_DataScript")).isNAN(GSH_CPENTITY &"." &GSH_CPPARAM_SPLOW)) then - oShape.objects("txt_SPLowValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SPLOW)) - else - call GSH_GROUPREGULATORYCONTROLSHOWBADSPLOW(oShape) - end if - End If -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_MULTIFPREGCTLGAP_DACA_ONUPDATE''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'08/31/07 Create function to handle the C200_MF_GAP_DACA shape. -'09/04/07 Add check for SPLow and SPHigh for NAN value, -' If it is NAN, show "---". -' Take out the check for empty SPHI and SP low parameter -' b/c these causes invalid reference on server (CL) -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve problem that the alp_text was open, -' but no entry made, then other tag is selected as focus tag. (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_MULTIFPREGCTLGAP_DACA_ONUPDATE(oShape, flag) -on error resume next -'gsh_log_s("GSH_C200_MULTIFPREGCTLGAP_DACA_ONUPDATE oShape="&oShape.id) - if flag = 0 then - GSH_MULTIFPREGCTLGAP_SHOWNORMAL(oShape) - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - End If - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_SPHighValue").style.visibility = GSH_HIDDEN - oShape.objects("alp_SPLowValue").style.visibility = GSH_HIDDEN - - if GSH_C200_REGCTLGAP_DACA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - End If - if flag = 0 then - 'PV Data Check - If GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - - if not((oShape.objects("rec_DataScript")).isNAN(GSH_CPENTITY &"." &GSH_CPPARAM_SPHIGH)) then - 'Display SP High or Low values (if any is configured for the point) - oShape.objects("txt_SPHighValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SPHIGH)) - else - call GSH_GROUPREGULATORYCONTROLSHOWBADSPHIGH(oShape) - end if - - if not((oShape.objects("rec_DataScript")).isNAN(GSH_CPENTITY &"." &GSH_CPPARAM_SPLOW)) then - oShape.objects("txt_SPLowValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SPLOW)) - else - call GSH_GROUPREGULATORYCONTROLSHOWBADSPLOW(oShape) - end if - - End If -'gsh_log_e("GSH_C200_MULTIFPREGCTLGAP_DACA_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIFPHIDEENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIFPHIDEENTRY(ObjID) -'gsh_log_s("GSH_MULTIFPHIDEENTRY ObjID=" & ObjID.id ) - window.clearInterval(GSH_GroupTimerId) - ObjID.style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_MULTIFPHIDEENTRY") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPMULTIFPSHOWENTRY'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = Shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MULTIFPSHOWENTRY(ObjID) -'gsh_log_s("GSH_MULTIFPSHOWENTRY ObjID=" & ObjID.id) - ObjID.style.visibility = GSH_VISIBLE - window.clearInterval(GSH_GroupTimerId) - GSH_GroupTimerId = window.setInterval("call GSH_MULTIFPHIDEENTRY(" & ObjID.id & ")", GSH_GroupTimeout * 1000) -' page.all(ObjID.id).focus - -'gsh_log_e("GSH_MULTIFPSHOWENTRY >>>>>>>>>>>"&"call GSH_MULTIFPHIDEENTRY(" & ObjID.id & ")") -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE'''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'06/05/07 Added flag parameter to execute only focus status update or all -'04Jan08 Revised normal outline - JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(oShape, flag) -on error resume next -if flag = 0 then - GSH_GROUPREGULATORYCONTROLSHOWNORMAL(oShape) - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN 'Hide RedTag - - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -End If - -if flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - - 'Check for Off Normal and hide text entry and combobox if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_SPValue").style.visibility = GSH_HIDDEN - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - -if flag = 0 then - 'PV Data Check - If GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - 'Display OP Value - 'oShape.objects("txt_OPValue").value = formatNumber(alp_OPValue.value,GSH_OUTPUTINDICATORDECIMALS) - oShape.objects("txt_OPValue").value = FormatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - - 'Display SP Value - 'oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,alp_SPValue.value) - oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SP)) - - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - 'Status message - dim val_redTag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if strcomp(val_redTag,GSH_ON,vbtextcompare) = 0 then - oShape.objects("txt_statusmessage") = GSH_REDTAG_TEXT - oShape.objects("txt_statusmessage").style.visibility = GSH_VISIBLE - end if - 'Set Ramping - Select case GSH_GET_POINT_RAMPING_VALUE(oShape.objects("rec_DataScript")) - Case GSH_RAMPING_RUN - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_RUN,1)) - Case GSH_RAMPING_PRESET - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_PRESET,1)) - Case else - 'do nothing because visibility is hidden by default and in Show Normal - end select -End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPREGULATORYCONTROL_SM_ONUPDATE'''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 02/19/08 Created from GROUPREGULATORYCONTROL for StatusMessage addition -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPREGULATORYCONTROL_SM_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_GROUPREGULATORYCONTROL_SM_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -on error resume next -if flag = 0 then - GSH_GROUPREGULATORYCONTROLSHOWNORMAL(oShape) - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN 'Hide RedTag - - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -End If - -if flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - - 'Check for Off Normal and hide text entry and combobox if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_SPValue").style.visibility = GSH_HIDDEN - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - -'if flag = 0 then - 'PV Data Check - If GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - 'Display OP Value - 'oShape.objects("txt_OPValue").value = formatNumber(alp_OPValue.value,GSH_OUTPUTINDICATORDECIMALS) - oShape.objects("txt_OPValue").value = FormatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - - 'Display SP Value - 'oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,alp_SPValue.value) - oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SP)) - - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - 'RedTag and Status Message - dim val_redTag, val_stsMsg, tagName, stsMsgType, numOfMessage - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG)) - - if strcomp(val_redTag,GSH_ON,vbtextcompare) = 0 then - oShape.objects("txt_statusmessage") = GSH_REDTAG_TEXT - oShape.objects("txt_statusmessage").style.visibility = GSH_VISIBLE -' gsh_log "val_redTag = " & val_redTag - else if (val_stsMsg > 0) then - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - numOfMessage = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & "NoOfMessages", "0") -' gsh_log "numOfMessage = " & numOfMessage - - if val_stsMsg >0 and val_stsMsg <=numOfMessage then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &val_stsMsg, "") - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) - end if - end if - - 'Set Ramping - Select case GSH_GET_POINT_RAMPING_VALUE(oShape.objects("rec_DataScript")) - Case GSH_RAMPING_RUN - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_RUN,1)) - Case GSH_RAMPING_PRESET - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_PRESET,1)) - Case else - 'do nothing because visibility is hidden by default and in Show Normal - end select -End If -'gsh_log_e("GSH_C200_GROUPREGULATORYCONTROL_SM_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPRATIOTRACK_ONUPDATE'''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'08 July 2008 Added for Sasol - JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPRATIOTRACK_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_GROUPRATIOTRACK_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -on error resume next - -if flag = 0 then - GSH_GROUPREGULATORYCONTROLSHOWNORMAL(oShape) - - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -end if - -if flag <=1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - - 'Hide text entry and combobox if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - oShape.objects("alp_SPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - end if -End If -' -'if flag = 0 then - dim txtFormat - txtFormat = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_RFormat") - numOfDecimals = CInt(Right(txtFormat,1)) - 'PV Data Check - txtIn = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - If (StrComp(txtIn,"1.#QNAN")= 0) or (StrComp(txtIn,"---")= 0) then - tempReturn = GSH_BADPV_TEXT - else - tempReturn = FormatNumber(txtIn, numOfDecimals,-2, 0, 0) - end if - oShape.objects("txt_AnalogValue").value = tempReturn - - 'Display SP Value - txtIn = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SP) - If (StrComp(txtIn,"1.#QNAN")= 0) or (StrComp(txtIn,"---")= 0) then - tempReturn = GSH_BADPV_TEXT - else - tempReturn = FormatNumber(txtIn, numOfDecimals,-2, 0, 0) - end if - oShape.objects("txt_SPValue").value = tempReturn - 'Ratio Mode - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) -'End If -'gsh_log_e("GSH_C200_GROUPRATIOTRACK_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_REGCTLBOX_ONUPDATE'''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'20Feb08 Created new shape for Sasol - JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_REGCTLBOX_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_REGCTLBOX_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -on error resume next -if flag = 0 then - - call GSH_REGCTLBOXSHOWNORMAL(oShape) - - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -End If - -if flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - - 'Check for Off Normal and hide text entry and combobox if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - -if flag = 0 then - 'PV Data Check - If GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - 'Display OP Value - oShape.objects("txt_OPValue").value = FormatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - - 'Display SP Value - oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SP)) - - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - 'Set Ramping - Select case GSH_GET_POINT_RAMPING_VALUE(oShape.objects("rec_DataScript")) - Case GSH_RAMPING_RUN - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_RUN,1)) - Case GSH_RAMPING_PRESET - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_PRESET,1)) - Case else - 'do nothing because visibility is hidden by default and in Show Normal - end select -End If -'gsh_log_e("GSH_C200_REGCTLBOX_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_REGCTLBOX_ENH_ONUPDATE'''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'21July08 Created new shape for Sasol - JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_REGCTLBOX_ENH_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_REGCTLBOX_ENH_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -on error resume next -if flag = 0 then - - call GSH_REGCTLBOXSHOWNORMAL(oShape) - - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -End If - -if flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - - 'Check for Off Normal and hide text entry and combobox if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - -if flag = 0 then - 'PV Data Check - If GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - 'Display OP Value - oShape.objects("txt_OPValue").value = FormatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - - 'Display SP Value - oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SP)) - - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - -End If -'gsh_log_e("GSH_C200_REGCTLBOX_ENH_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGCTLBOXSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: ' oDataBoundObject = subshape name or me, if calling within subshape -'Used in ALL MULITFP Reg Ctl based! -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGCTLBOXSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_REGCTLBOXSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagName - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - tagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - 'Assign values to textboxes - oDataBoundObject.objects("txt_tagname").value = tagName - 'Disable Alarms - call GSH_SHOWNOALARM(oDataBoundObject) - 'Show values - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPREGULATORYCONTROLNORMAL - oDataBoundObject.objects("outline").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_Initialization").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_ramp").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_REGCTLBOXSHOWNORMAL") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_LEVELREGCTLGAP_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_LEVELREGCTLGAP_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_LEVELREGCTLGAP_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -On Error Resume Next -If flag <= 1 then - GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - else - call GSH_SHOWLEVELALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - - call GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) 'Check Focus - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) - end if - end if - - 'Check for bad value - If GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - oShape.objects("plg_SPIndicator1").style.pixeltop = cint(GSH_LEVELINDICATOR_SPFLOATPOSITION (oShape,GSH_CPPARAM_SPHIGH)- (oShape.objects("plg_SPIndicator2").style.pixelheight / 2)) - oShape.objects("plg_SPIndicator2").style.pixeltop = cint(GSH_LEVELINDICATOR_SPFLOATPOSITION (oShape,GSH_CPPARAM_SPLOW)- (oShape.objects("plg_SPIndicator1").style.pixelheight / 2)) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If - -End If -If flag = 0 then - - 'When SPHigh or SPLow value is Nan -> do not show the marker - if not((oShape.objects("rec_DataScript")).isNAN(GSH_CPENTITY &"." &GSH_CPPARAM_SPHIGH)) then - oShape.objects("plg_SPIndicator1").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_SPIndicator1").style.visibility = GSH_HIDDEN - end if - - if not((oShape.objects("rec_DataScript")).isNAN(GSH_CPENTITY &"." &GSH_CPPARAM_SPLOW)) then - oShape.objects("plg_SPIndicator2").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_SPIndicator2").style.visibility = GSH_HIDDEN - end if - -End If -'gsh_log_e("GSH_C200_LEVELREGCTLGAP_ONUPDATE") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_LEVELREGCTLGAP_DACA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 08/31/07 Function to handle LevelGap_data shape. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_LEVELREGCTLGAP_DACA_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_LEVELREGCTLGAP_DACA_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -On Error Resume Next -If flag <= 1 then - GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - else - call GSH_SHOWLEVELALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -'End If -'If flag <= 1 then - call GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) 'Check Focus - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_REGCTLGAP_DACA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) - end if - end if - - 'Check for bad value - If GSH_C200_ANALOG_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - oShape.objects("plg_SPIndicator1").style.pixeltop = cint(GSH_LEVELINDICATOR_SPFLOATPOSITION (oShape,GSH_CPPARAM_SPHIGH)- (oShape.objects("plg_SPIndicator2").style.pixelheight / 2)) - oShape.objects("plg_SPIndicator2").style.pixeltop = cint(GSH_LEVELINDICATOR_SPFLOATPOSITION (oShape,GSH_CPPARAM_SPLOW)- (oShape.objects("plg_SPIndicator1").style.pixelheight / 2)) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If - -End If -If flag = 0 then - - 'When SPHigh or SPLow value is Nan -> do not show the marker - if not((oShape.objects("rec_DataScript")).isNAN(GSH_CPENTITY &"." &GSH_CPPARAM_SPHIGH)) then - oShape.objects("plg_SPIndicator1").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_SPIndicator1").style.visibility = GSH_HIDDEN - end if - - if not((oShape.objects("rec_DataScript")).isNAN(GSH_CPENTITY &"." &GSH_CPPARAM_SPLOW)) then - oShape.objects("plg_SPIndicator2").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_SPIndicator2").style.visibility = GSH_HIDDEN - end if - -End If -'gsh_log_e("GSH_C200_LEVELREGCTLGAP_DACA_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_LEVELREGCTL_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -' 06/04/07 Remove Initman because already using ARWOP HILO. -' 06/04/07 Replace Windup select statement with GSH_SHOWWINDUPSTATUS -' 01/14/08 Add the check for alarms in both ctl and fun block when there is alarm (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_LEVELREGCTL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_LEVELREGCTL_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -On Error Resume Next -If flag <= 1 then - GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - else - call GSH_SHOWLEVELALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - 'call GSH_SHOWLEVELALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -'End If -'If flag <= 1 then - call GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) - end if - end if - - 'Check for bad value - If GSH_C200_ANALOG_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - call GSH_LevelIndicatorShowSPFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If -End If - - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - -'gsh_log_e("GSH_C200_LEVELREGCTL_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITALOUTPUTINDICATOR_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/06/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/09/07 Check for Off Normal not required; Removed. -' GSH_DIGITALOUTPUTINDICATORSETFOCUS(oShape) replaced by GSH_GEN_SETSHAPEFOCUS(oShape) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_DIGITALOUTPUTINDICATOR_ONUPDATE (oShape, flag) -on error resume next - -' gsh_log_s("GSH_C200_DIGITALOUTPUTINDICATOR_ONUPDATE") - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - 'oShape.objects("shp_focus").style.visibility = GSH_HIDDEN - End If - If flag <= 1 then - 'Alarming not needed - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'No Check for Off Normal required - 'End If - 'If flag = 0 then - 'Display OP Value - Dim sOPStateTxt - - sOPStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - - oShape.objects("txt_OPvalue").value = sOPStateTxt - 'oShape.objects("txt_OPvalue").value = oShape.objects("rec_DataScript") - - End If -' gsh_log_e("GSH_C200_DIGITALOUTPUTINDICATOR_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_ANALOGOUTPUTINDICATOR_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -' 06/12/07 GSH_GEN_SETSHAPEFOCUS replaced GSH_NUMERICINDICATORSETFOCUS -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_ANALOGOUTPUTINDICATOR_ONUPDATE (oShape, flag) -on error resume next -If flag = 0 then - oShape.objects("outline").styleClass = GSH_CSSANALOGOUTPUTINDICATORNORMAL - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) -end if -If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) -end if -End sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_ValveRegulatoryControl_OnUpdate'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/12/07 Removed initman check because it is redundant to Windup = HILO -' 06/12/07 Fixed incorrect display of txt_OPvalue -' 06/12/07 Alarms must use GSH_GETHIGHESTALARMPRIORITY_OP -' 08/08/07 Add: check & show status message flag on status message text. Reference issue #370 (Cuong Ly) -' Fix potential problem of sticky redTag -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_VALVEREGCTL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_VALVEREGCTL_ONUPDATE oShape=" & oShape.id) - - If flag <= 1 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - call GSH_ValveRegulatoryControlShowNormal(oShape) - Dim OPValue,stsmsg, val_redTag, initMan - OPValue = oShape.objects("ind_OPStem").value - If (OPValue <= 5) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else if ( (OPValue > 5) and (OPValue < 95) ) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if: end if - 'Check the points alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_ValveRegulatoryControlShowDisabledAlarm(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - - 'Assumption: Reg tag and status message are mutual exclusive - 'Status message - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - 'red tag - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) -' else - 'Check status Message -' dim val_stsMsg -' val_stsMsg = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG) -' call GSH_Show_StatusMessageFlag(oShape, val_stsMsg) - end if - - 'End If - - 'If flag <= 1 then - 'Focus - call GSH_ValveRegulatoryControlSetFocus(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_C200_ValveREGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL)) then - 'if (GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL)) then - call GSH_ValveRegulatoryControlShowOffNormal(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - End If - - If flag = 0 then - 'Check the point Windup - dim sWindupStatus - sWindupStatus = GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")) - call GSH_SHOWWINDUPSTATUS(sWindupStatus,oShape) - - 'Make the focus transparent for valves - oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - End If -'gsh_log_e("GSH_C200_VALVEREGCTL_ONUPDATE") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_VALVEAUTOMAN_OnUpdate'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 02/22/08 Created shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_VALVEAUTOMAN_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_VALVEAUTOMAN_ONUPDATE oShape=" & oShape.id) - - If flag <= 1 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - call GSH_ValveRegulatoryControlShowNormal(oShape) - Dim OPValue,stsmsg, val_redTag, initMan - OPValue = oShape.objects("ind_OPStem").value - If (OPValue <= 5) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else if ( (OPValue > 5) and (OPValue < 95) ) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if: end if - 'Check the points alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_ValveRegulatoryControlShowDisabledAlarm(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - - 'Red Tag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - 'red tag - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - end if - - 'If flag <= 1 then - 'Focus - call GSH_ValveRegulatoryControlSetFocus(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - call GSH_ValveRegulatoryControlShowOffNormal(oShape) - end if - end if - End If - - If flag = 0 then - 'Check the point Windup - dim sWindupStatus - sWindupStatus = GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")) - call GSH_SHOWWINDUPSTATUS(sWindupStatus,oShape) - - 'Make the focus transparent for valves - oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - End If -'gsh_log_e("GSH_C200_VALVEAUTOMAN_ONUPDATE") -end sub -' -' GSH_C200_STATUSMESSAGE_ONUPDATE -' -'10/12/07 - Status Message shape to put on shapes that require status message to be shown -' however, because stsMessage parameter is not available on every points -> they need -' to be manually put on when needed. -' Only apply to Winz at the moment. (CL) -''04/30/08 - Add isNAN checking condition to handle bad value -sub GSH_C200_STATUSMESSAGE_ONUPDATE(oShape) -'gsh_log_s("GSH_C200_STATUSMESSAGE_ONUPDATE oShape=" & oShape.id) - 'Get Status Message value - dim val_stsMsg, tagName, stsMsgType - if not(oShape.objects("txt_statusMessage")).isNAN(GSH_CPENTITY &"." &GSH_CPPARAM_STSMSG) then - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("txt_statusMessage"),GSH_CPPARAM_STSMSG)) - else - val_stsMsg = 0 - end if - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - call GSH_Show_StatusMessage(oShape, val_stsMsg, stsMsgType) -'gsh_log_e("GSH_C200_STATUSMESSAGE_ONUPDATE oShape=" & oShape.id) -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_Show_StatusMessage'''''''''''''''''''''''''''''''''''''''''' -' stsMsg_flag = 0 => Off (No Message shown) - Default -' stsMsg_flag = 1 => Bypass (shown as Bypass) -' stsMsg_flag = 2 => HandJack (shown as Hand) -' stsMsg_flag = 3 => Isolated (shown as Isolate) -'08/08/07 - Created the sub routine (Cuong Ly) -'10/12/07 - Modified to work with C200_StatusMessage shape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_Show_StatusMessage(oShape, stsMsg_flag, stsMsgType) -'gsh_log_s("GSH_Show_StatusMessage stsMsg_flag = "&stsMsg_flag & " stsMsgType= " &stsMsgType) - dim message, numOfMessage - - numOfMessage = cInt(GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & "NoOfMessages", "0")) - - if stsMsg_flag >0 and stsMsg_flag <=numOfMessage and stsMsgType <> "" then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &stsMsg_flag, "") - oShape.objects("txt_statusmessage").style.visibility = GSH_VISIBLE - oShape.objects("txt_statusmessage").value = message - else - oShape.objects("txt_statusMessage").style.visibility = GSH_HIDDEN - end if -'gsh_log_e("GSH_Show_StatusMessage") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_VALVEDIGITAL_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape handle -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/06/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/14/07 replaced GSH_GETHIGHESTALARMPRIORITYPARAMETER with GSH_GETHIGHESTALARMPRIORITYPROPERTY -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_VALVEDIGITAL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_ValveDigital_OnUpdate oShape=" & oShape.id) -on error resume next - - If flag <= 1 then - Dim nNumericState - nNumericState = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - call GSH_ValveDigitalShowNormal(oShape) - call GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_ValveDigitalShowDisabledAlarm(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")),oShape) - End If - - 'End If - - 'If flag <= 1 then - 'focus - call GSH_ValveDigitalSetFocus(oShape) - 'Check for Off Normal if not in focus - dim sStateTxt: sStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_C200_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL, sStateTxt)) then - call GSH_ValveDigitalShowOffNormal(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - - End If - 'Make the focus transparent for valves - 'oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - - If flag = 0 then - 'Bad Data Check - If GSH_C200_DIGITALCOMPOSITE_ISDATABAD(oShape.objects("rec_DataScript")) Then - call GSH_ValveDigitalShowBadPV(oShape) - else - oShape.objects("txt_PVvalue").value = sStateTxt - End If - - End If -'gsh_log_e("GSH_C200_VALVEDIGITAL_ONUPDATE oShape") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_VALVEDIGITAL_LM_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape handle -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 08/14/2007 - Create the function to handle ValveDigital_LM shapes with Localman and Interlock indicators -' Reference issue #524 (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_VALVEDIGITAL_LM_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_VALVEDIGITAL_LM_ONUPDATE oShape=" & oShape.id) -on error resume next - - If flag <= 1 then - Dim nNumericState - nNumericState = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - call GSH_ValveDigitalShowNormal(oShape) - call GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_ValveDigitalShowDisabledAlarm(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")),oShape) - End If - - 'End If - - 'If flag <= 1 then - 'focus - call GSH_ValveDigitalSetFocus(oShape) - 'Check for Off Normal if not in focus - dim sStateTxt: sStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_C200_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL, sStateTxt)) then - call GSH_ValveDigitalShowOffNormal(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - - End If - 'Make the focus transparent for valves - 'oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - - If flag = 0 then - 'Bad Data Check - If GSH_C200_DIGITALCOMPOSITE_ISDATABAD(oShape.objects("rec_DataScript")) Then - call GSH_ValveDigitalShowBadPV(oShape) - else - oShape.objects("txt_PVvalue").value = sStateTxt - End If - - 'Check for Localman and Interlock status - dim bLocalMan, bInterlock - bInterlock = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_INTERLOCK) - - if(bInterlock) then - oShape.objects("txt_Localman").value = GSH_INTERLOCK_TXT - oShape.objects("txt_Localman").style.visibility = GSH_VISIBLE - else - bLocalMan = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_LOCALMAN) - if(bLocalMan) then - oShape.objects("txt_Localman").value = GSH_LOCALMAN_TXT - oShape.objects("txt_Localman").style.visibility = GSH_VISIBLE - else - oShape.objects("txt_Localman").style.visibility = GSH_HIDDEN - end if - end if - - End If -'gsh_log_e("GSH_C200_VALVEDIGITAL_LM_ONUPDATE oShape") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_VALVEDIGITALFLAG_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Functions the same as Valve Digital but the Offnormal check only exists for Normal State -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/06/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/13/07 Replace GSH_GETHIGHESTALARMPRIORITYPARAMETER by GSH_GETHIGHESTALARMPRIORITYPROPERTY -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_VALVEDIGITALFLAG_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_VALVEDIGITALFLAG_ONUPDATE oShape=" & oShape.id) -on error resume next - - 'flag check here is not necessary, but can leave it for consistency - If flag <= 1 then - Dim nNumericState - nNumericState = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - call GSH_ValveDigitalShowNormal(oShape) - call GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_ValveDigitalShowDisabledAlarm(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")), oShape) - End If - - 'focus - call GSH_ValveDigitalSetFocus(oShape) - 'Check for Off Normal if not in focus - dim sStateTxt: sStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sStateTxt) then - call GSH_ValveDigitalShowOffNormal(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - End If - - 'Make the focus transparent for valves - 'oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground -> should set to be transparent, now done in GSH_ValveDigitalSetFocus - - If flag = 0 then - 'NO Bad Data Check on FLAGA - oShape.objects("txt_PVvalue").value = sStateTxt - End If - - -'gsh_log_e("GSH_C200_VALVEDIGITALFLAG_ONUPDATE oShape") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_MOTORINDICATOR_ONUPDATE''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/13/07 use GSH_GEN_SETSHAPEFOCUS to display focus -' 06/13/07 Use GSH_GETHIGHESTALARMPRIORITYPROPERTY instead of GSH_GETHIGHESTALARMPRIORITYPARAMETER -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_C200_MOTORINDICATOR_ONUPDATE(oShape, flag) -On Error Resume Next - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")), oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - dim sPVStateTxt - sPVStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV,oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_MOTORINDICATOR_LM_ONUPDATE''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 08/14/2007 - Create the function to handle MotoIndicator_lm shapes with Localman and Interlock indicators -' Reference issue #524 (CL) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_C200_MOTORINDICATOR_LM_ONUPDATE(oShape, flag) -On Error Resume Next - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")), oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - dim sPVStateTxt - sPVStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV,oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - 'This piece of code need to be testd on site - If flag = 0 then - 'Check for Localman and Interlock status - dim bLocalMan, bInterlock - bInterlock = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_INTERLOCK) - - if(bInterlock) then - oShape.objects("txt_Localman").value = GSH_INTERLOCK_TXT - oShape.objects("txt_Localman").style.visibility = GSH_VISIBLE - else - bLocalMan = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_LOCALMAN) - if(bLocalMan) then - oShape.objects("txt_Localman").value = GSH_LOCALMAN_TXT - oShape.objects("txt_Localman").style.visibility = GSH_VISIBLE - else - oShape.objects("txt_Localman").style.visibility = GSH_HIDDEN - end if - end if - end if - -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_LevelIndicator_OnUpdate''''''''''''''''''''''''''''''''''''''' -'Parameters:oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_LevelIndicator_OnUpdate(oShape, flag) -'gsh_log_s("GSH_C200_LevelIndicator_OnUpdate oShape="&oShape.id & ", flag="&flag) -On Error Resume Next -If flag <= 1 then - call GSH_LevelIndicatorShowNormal(oShape) - 'Check Alarms - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_LevelIndicatorShowDisbledAlarm(oShape) - else - 'alarming is enabled, get highest priority(if any) and change shape accordingly - call GSH_SHOWLEVELALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -'End If -'If flag <= 1 then - call GSH_LevelIndicatorSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorSHOWOFFNORMAL(oShape) - end if - end if - -'End If -'If flag = 0 then - 'Check for Bad PV - If GSH_C200_ANALOG_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If -End If -'gsh_log_e("GSH_C200_LevelIndicator_OnUpdate") -end sub - -sub GSH_SHOWLEVELALARMS(sAlarmPriority,oShape) - Select Case sAlarmPriority - Case GSH_NOALARMCODE - call GSH_LevelIndicatorShowNoAlarm(oShape) - Case GSH_UNACKEMERG - call GSH_LevelIndicatorShowEmergencyAlarm(oShape,True) - Case GSH_UNACKHIGH - call GSH_LevelIndicatorShowHighAlarm(oShape,true) - Case GSH_UNACKLOW - call GSH_LevelIndicatorShowLowAlarm(oShape,true) - Case GSH_ACKEMERG - call GSH_LevelIndicatorShowEmergencyAlarm(oShape,false) - Case GSH_ACKHIGH - call GSH_LevelIndicatorShowHighAlarm(oShape,false) - Case GSH_ACKLOW - call GSH_LevelIndicatorShowLowAlarm(oShape,false) - Case Else - call GSH_LevelIndicatorShowNoAlarm(oShape) - End Select -end sub - -sub GSH_SHOWLEVELSMALLALARMS(sAlarmPriority,oShape) - call GSH_SHOWLEVELALARMS(sAlarmPriority,oShape) - 'Make Alarm outline width smaller - oShape.objects("outline").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSLVLINDICATORSMALLALARMWIDTH -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPANALOG_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'06/05/07 Added flag parameter to execute only focus status update or all -' 06/12/07 GSH_GEN_SETSHAPEFOCUS replaced GSH_GROUPANALOGSETFOCUS -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPANALOG_ONUPDATE(oShape,flag) -on error resume next -if flag = 0 then - call GSH_GROUPANALOGSHOWNORMAL(oShape) - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_GROUPANALOGSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -End If -If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'Set the focus - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_GROUPANALOGSHOWOFFNORMAL(oShape) - end if - end if - -End If -If flag = 0 then - 'PV Data Check - If NOT(GSH_C200_ANALOG_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false)) Then - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - Else - call GSH_GROUPANALOGSHOWBADPV(oShape) - End If -End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPAUTOMANSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' 06/13/07 Added GSH_SHOWNOALARM to initialize the state of the alarms -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPAUTOMANSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPAUTOMANSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagKeyword, tagName - call GSH_SHOWNOALARM(oDataBoundObject) - 'Show values -' oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPREGULATORYCONTROLNORMAL -' oDataBoundObject.objects("outline").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_statusmessage").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_Initialization").style.visibility = GSH_HIDDEN - 'Read Values from Registry - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - tagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - 'Assign values to textboxes - oDataBoundObject.objects("txt_tagname").value = tagName - oDataBoundObject.objects("txt_keyword").value = tagKeyword -'gsh_log_e("GSH_GROUPAUTOMANSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPAUTOMAN_ONUPDATE''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/10/07 Optimized windup code with GSH_ShowWindupStatus. -' 06/12/07 Add alarming code referencing CP_OP and fix focus display. -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve problem that the combox was open, -' but no entry made, then other tag is selected as focus tag. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPAUTOMAN_ONUPDATE(oShape, flag) -on error resume next - If flag = 0 then - GSH_GROUPAUTOMANSHOWNORMAL(oShape) - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_C200_AUTOMAN_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - If flag = 0 then - 'Display OP Value - oShape.objects("txt_OPValue").value = formatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - 'RedTag message - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - end if - End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPAUTOMAN_SM_ONUPDATE'''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus -' 02/19/08 Created from C200_GROUPAUTOMAN for StatusMessage addition -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPAUTOMAN_SM_ONUPDATE(oShape, flag) -'gsh_log_s("C200_GROUPAUTOMAN_SM oShape = " & oShape.id) -on error resume next - If flag = 0 then - GSH_GROUPAUTOMANSHOWNORMAL(oShape) - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_C200_AUTOMAN_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - If flag = 0 then - 'Display OP Value - oShape.objects("txt_OPValue").value = formatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - -' 'RedTag and Status Message - dim val_redTag, val_stsMsg, tagName, stsMsgType, numOfMessage - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG)) -' - if strcomp(val_redTag,GSH_ON,vbtextcompare) = 0 then - oShape.objects("txt_statusmessage") = GSH_REDTAG_TEXT - oShape.objects("txt_statusmessage").style.visibility = GSH_VISIBLE - else if (val_stsMsg > 0) then - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - numOfMessage = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & "NoOfMessages", "0") - if val_stsMsg >0 and val_stsMsg <=numOfMessage then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &val_stsMsg, "") - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) - end if - end if - end if - End If -'gsh_log_e("GSH_C200_GROUPAUTOMAN_SM") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPDIGITALINPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape - Shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/06/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/13/07 Replace GSH_GETHIGHESTALARMPRIORITYPARAMETER by GSH_GETHIGHESTALARMPRIORITYPROPERTY -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPDIGITALINPUT_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_GROUPDIGITALINPUT_ONUPDATE oShape = " & oShape.id) -on error resume next - - If flag = 0 then - GSH_GROUPDIGITALINPUTSHOWNORMAL(oShape) - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_GROUPDIGITALINPUTSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")), oShape) - End If - - oShape.objects("txt_DigitalValue").value = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - - End If - - If flag <= 1 then - 'Set the focus - 'call GSH_GROUPDIGITALINPUTSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - If GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, oShape.objects("txt_DigitalValue").value) then - call GSH_GROUPDIGITALINPUTSHOWOFFNORMAL(oShape) - end if - end if - - End If - -'gsh_log_e("GSH_C200_GROUPDIGITALINPUT_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPORSEL_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'06/05/07 Added flag parameter to execute only focus status update or all -'06/05/07 Added Redtag and Windup -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPORSEL_ONUPDATE(oShape, flag) -on error resume next -if flag = 0 then - GSH_GROUPORSELSHOWNORMAL(oShape) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_GROUPORSELSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_WINDUP),oShape) - End If -End If -If flag <= 1 then - call GSH_GROUPORSELSETFOCUS(oShape) 'Set the focus - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then 'Check for Off Normal if not in focus - if GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_GROUPORSELSHOWOFFNORMAL(oShape) - end if - end if -End If - -If flag = 0 then - 'Display OP Value - oShape.objects("txt_OPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP)) - 'Display Mode Data - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - - - 'oShape.objects("txt_OPValue").value = GSH_FormatPVText(oShape,alp_OPValue.value) - 'oShape.objects("txt_ModeValue").value = cmb_ModeValue.value - - 'Set Outline fill color White - oShape.objects("outline").styleClass = GSH_CSSWHITE - - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - 'Status message - dim val_redTag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if strcomp(val_redTag,GSH_ON,vbtextcompare) = 0 then - oShape.objects("txt_statusmessage") = GSH_REDTAG_TEXT - oShape.objects("txt_statusmessage").style.visibility = GSH_VISIBLE - end if - -End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_MOTORINDICATORWITHALARMS_ONUPDATE'''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/13/07 use GSH_GEN_SETSHAPEFOCUS to display focus -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_C200_MOTORINDICATORWITHALARMS_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_C200_MOTORINDICATORWITHALARMS_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - 'Alarming: Don't check alarm disabled for this alarm group (OK'd by Jamie) - dim sAlarmPriority, bUnack - sAlarmPriority = GSH_GETALARMGROUPPRIORITYPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITYALARM) - bUnack = GSH_GETALARMGROUPUNACKPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITYALARM) -' gsh_log ("sAlarmPriority = " & sAlarmPriority & "bUnack = " & bUnack ) - call GSH_SHOWALARMS (sAlarmPriority, bUnack, oShape) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - dim sPVStateTxt - sPVStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV,oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -'gsh_log_e("GSH_C200_MOTORINDICATORWITHALARMS_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_MOTORINDICATORWITHALARMS_LM_ONUPDATE'''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 08/14/2007 - Create the function to handle MotorWithAlarms_lm shapes with Localman and Interlock indicators -' Reference issue #524 (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_C200_MOTORINDICATORWITHALARMS_LM_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_C200_MOTORINDICATORWITHALARMS_LM_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - 'Alarming: Don't check alarm disabled for this alarm group (OK'd by Jamie) - dim sAlarmPriority, bUnack - sAlarmPriority = GSH_GETALARMGROUPPRIORITYPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITYALARM) - bUnack = GSH_GETALARMGROUPUNACKPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITYALARM) - 'gsh_log ("sAlarmPriority = " & sAlarmPriority & "bUnack = " & bUnack ) - call GSH_SHOWALARMS (sAlarmPriority, bUnack, oShape) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - dim sPVStateTxt - sPVStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV,oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - 'This piece of code need to be testd on site - If flag = 0 then - 'Check for Localman and Interlock status - dim bLocalMan, bInterlock - bInterlock = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_INTERLOCK) - - if(bInterlock) then - oShape.objects("txt_Localman").value = GSH_INTERLOCK_TXT - oShape.objects("txt_Localman").style.visibility = GSH_VISIBLE - else - bLocalMan = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_LOCALMAN) - if(bLocalMan) then - oShape.objects("txt_Localman").value = GSH_LOCALMAN_TXT - oShape.objects("txt_Localman").style.visibility = GSH_VISIBLE - else - oShape.objects("txt_Localman").style.visibility = GSH_HIDDEN - end if - end if - end if - -'gsh_log_e("GSH_C200_MOTORINDICATORWITHALARMS_LM_ONUPDATE") -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MULTIPLESENSORS_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/12/07 Added else statement to alarm display to show alarms if alarms are not disabled -' 06/14/07 replaced GSH_GETHIGHESTALARMPRIORITYPARAMETER with GSH_GETHIGHESTALARMPRIORITYPROPERTY -' 06/20/07 Replace GSH_GETHIGHESTALARMPRIORITYPROPERTY by GSH_GETHIGHESTALARMPRIORITYWITHALARMPARAMETERS to have the C200_SensorMulitple works -' as they need to work with both Tag.DACA.PV and Tag.A1.PV. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_MULTIPLESENSORS_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_MULTIPLESENSORS_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - If flag = 0 then - call GSH_MULTIPLESENSORSSHOWNORMAL(oShape) - 'Alarming - if (GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) or GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITYALARM)) Then - call GSH_MULTIPLESENSORSSHOWSUPPRESSEDALARM(oShape) - else - 'Get Highest Alarm -' iAlarmCode1 = GSH_GETHIGHESTALARMPRIORITYWITHALARMPARAMETERS(oShape.objects("rec_DataScript"),GSH_CPENTITY) -' iAlarmCode2 = GSH_GETHIGHESTALARMPRIORITYWITHALARMPARAMETERS(oShape.objects("rec_DataScript"),GSH_CPENTITYALARM) - iAlarmCode1 = GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITYALARM,GSH_EXPERION_PARAM_ALARMPRIORITY) - iAlarmCode2 = GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY) - - iAlarmCode = GSH_COMPAREHIGHESTALARMPRIORITY(iAlarmCode1, iAlarmCode2) - Select Case iAlarmCode - Case GSH_UNACKEMERG - call GSH_MULTIPLESENSORSSHOWEMERGENCYALARM(oShape,true) - Case GSH_UNACKHIGH - call GSH_MULTIPLESENSORSSHOWHIGHALARM(oShape,true) - Case GSH_UNACKLOW - call GSH_MULTIPLESENSORSSHOWLOWALARM(oShape,true) - Case GSH_ACKEMERG - call GSH_MULTIPLESENSORSSHOWEMERGENCYALARM(oShape,false) - Case GSH_ACKHIGH - call GSH_MULTIPLESENSORSSHOWHIGHALARM(oShape,false) - Case GSH_ACKLOW - call GSH_MULTIPLESENSORSSHOWLOWALARM(oShape,false) - Case Else - 'No Alarms - End Select - end if - End If - - If flag <= 1 then - - 'Set the focus - call GSH_MULTIPLESENSORSSETFOCUS(oShape) - 'No Offnormal check as this shape could be a digital flag or analog point. - 'gsh_log_e("GSH_C200_MULTIPLESENSORS_ONUPDATE") - End If -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_NUMERICINDICATOR_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/12/07 GSH_GEN_SETSHAPEFOCUS replaced GSH_NUMERICINDICATORSETFOCUS -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_NUMERICINDICATOR_ONUPDATE (oShape, flag) -on error resume next - If flag = 0 then - oShape.objects("outline").styleClass = GSH_CSSNUMERICINDICATORNORMAL - End If - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'GSH_NUMERICINDICATORSETFOCUS(oShape) - End If - If flag = 0 then - 'Bad Data Check removed by Request of Rich M May3,2007. - oShape.objects("txt_PVvalue").value = GSH_FormatPVText(oShape,oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV)) - End If -End sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_RATIOTRACKINDICATOR_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 08/July/2008 New Shape - JE -' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_RATIOTRACKINDICATOR_ONUPDATE (oShape, flag) -on error resume next - If flag = 0 then - oShape.objects("outline").styleClass = GSH_CSSNUMERICINDICATORNORMAL - End If - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'GSH_NUMERICINDICATORSETFOCUS(oShape) - End If - If flag = 0 then -' do own PVFormatting as using RTFormat not PVFormat - txtIn = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV) - If StrComp(txtIn,"1.#QNAN",vbTextcompare)= 0 then - oShape.objects("txt_PVvalue").value = "---" - else - numOfDecimals = CInt(Right(GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), "RTFORMAT", GSH_DEFAULTPVFORMAT),1)) - tempReturn = FormatNumber(txtIn, numOfDecimals,-2, 0, 0) - oShape.objects("txt_PVvalue").value = tempReturn - end if - End If -End sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'LevelIndicatorSmall Shape Section -' Contains all functions specific to the Level Indicator Small shape -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Added flag parameter to execute only focus status update or all -' 08/05/08 Remove flag checking because we have to do everything in all the cases(CL), otherwise badPV does not show correctly -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_LevelIndicatorSmall_OnUpdate(oShape, flag) -'gsh_log_s("GSH_C200_LevelIndicatorSmall_OnUpdate, oshape=" & oShape.id & "w flag = "&flag) -On Error Resume Next - - call GSH_LevelIndicatorShowNormal(oShape) - 'Check Alarms - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_LevelIndicatorShowDisbledAlarm(oShape) - else - call GSH_SHOWLEVELSMALLALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If -'End If -'If flag <=1 then - call GSH_LEVELINDICATORSETFOCUS(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - IF GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorSHOWOFFNORMAL(oShape) - end if - end if - - - - 'Check for Bad PV - If GSH_C200_ANALOG_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If - -'gsh_log_e("GSH_C200_LevelIndicatorSmall_OnUpdate") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_LevelIndicatorRegCtlSmall_OnUpdate'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/04/07 Remove Initman because already using ARWOP HILO. -' 06/04/07 Replace Windup select statement with GSH_SHOWWINDUPSTATUS -' 06/05/07 Added flag parameter to execute only focus status update or all -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_LevelIndicatorRegCtlSmall_OnUpdate(oShape, flag) -'gsh_log_s("GSH_C200_LevelIndicatorRegCtlSmall_OnUpdate oShape="&oShape.id& ", flag = "&flag) -On Error Resume Next -If flag <= 1 then - GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - else - - 'alarming is enabled, get highest priority and change shape accordingly - Select Case GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY) - Case GSH_NOALARMCODE - call GSH_LevelIndicatorRegulatoryControlShowNoAlarm(oShape) - Case GSH_UNACKEMERG - call GSH_LevelIndicatorRegCtlSmallShowEmergencyAlarm(oShape,True) - Case GSH_UNACKHIGH - call GSH_LevelIndicatorRegCtlSmallShowHighAlarm(oShape,true) - Case GSH_UNACKLOW - call GSH_LevelIndicatorRegCtlSmallShowLowAlarm(oShape,true) - Case GSH_ACKEMERG - call GSH_LevelIndicatorRegCtlSmallShowEmergencyAlarm(oShape,false) - Case GSH_ACKHIGH - call GSH_LevelIndicatorRegCtlSmallShowHighAlarm(oShape,false) - Case GSH_ACKLOW - call GSH_LevelIndicatorRegCtlSmallShowLowAlarm(oShape,false) - Case Else - call GSH_LevelIndicatorRegulatoryControlShowNoAlarm(oShape) - End Select - End If -'End If -'If flag <= 1 then - call GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) 'Check Focus - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) - end if - end if - - 'Check for bad value - IF GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) THEN - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - call GSH_LevelIndicatorShowSPFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), GSH_LEVELINDICATORDECIMALS) - End If - -End If - -If flag = 0 then - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) -End If -'gsh_log_e("GSH_C200_LevelIndicatorRegCtlSmall_OnUpdate") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_MOTORINDICATORSMALL_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/13/07 use GSH_GEN_SETSHAPEFOCUS to display focus -' 06/13/07 Replace GSH_GETHIGHESTALARMPRIORITYPARAMETER by GSH_GETHIGHESTALARMPRIORITYPROPERTY -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_C200_MOTORINDICATORSMALL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_MOTORINDICATORSMALL_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next - - If flag = 0 then - call GSH_MINIMOTORINDICATORSHOWNORMAL(oShape) - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSSMINIMOTORINDICATORDISABLEDALARM - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")), oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - dim sPVStateTxt - sPVStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -'gsh_log_e("GSH_C200_MOTORINDICATORSMALL_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_MOTORINDICATORSMALL_LM_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 08/14/2007 - Create the function to handle MotoIndicatorSmall_lm shapes with Localman and Interlock indicators -' Reference issue #524 (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_C200_MOTORINDICATORSMALL_LM_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_MOTORINDICATORSMALL_LM_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next - - If flag = 0 then - call GSH_MINIMOTORINDICATORSHOWNORMAL(oShape) - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSSMINIMOTORINDICATORDISABLEDALARM - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")), oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - dim sPVStateTxt - sPVStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - 'This piece of code need to be testd on site - If flag = 0 then - 'Check for Localman and Interlock status - dim bLocalMan, bInterlock - bInterlock = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_INTERLOCK) - - if(bInterlock) then - oShape.objects("txt_Localman").value = GSH_INTERLOCK_TXT - oShape.objects("txt_Localman").style.visibility = GSH_VISIBLE - else - bLocalMan = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_LOCALMAN) - if(bLocalMan) then - oShape.objects("txt_Localman").value = GSH_LOCALMAN_TXT - oShape.objects("txt_Localman").style.visibility = GSH_VISIBLE - else - oShape.objects("txt_Localman").style.visibility = GSH_HIDDEN - end if - end if - end if -'gsh_log_e("GSH_C200_MOTORINDICATORSMALL_LM_ONUPDATE") -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_SENSOR_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/13/07 Replace GSH_GETHIGHESTALARMPRIORITY(oShape.objects("rec_DataScript")) by GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")) -' 06/20/07 Replace GSH_GETHIGHESTALARMPRIORITYPROPERTY by GSH_GETHIGHESTALARMPRIORITYWITHALARMPARAMETERS to have the C200_Sensor work -' as they need to work with both Tag.DACA.PV and Tag.A1.PV. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_SENSOR_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_SENSOR_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - If flag = 0 then - call GSH_SENSORSHOWNORMAL(oShape) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_SENSORSHOWSUPPRESSEDALARM(oShape) - else - 'alarming is enabled, get highest priority and change shape accordingly -' Select Case GSH_GETHIGHESTALARMPRIORITYWITHALARMPARAMETERS(oShape.objects("rec_DataScript"),GSH_CPENTITY) - Select Case GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY) - Case GSH_UNACKEMERG - call GSH_SENSORSHOWEMERGENCYALARM(oShape,true) - Case GSH_UNACKHIGH - call GSH_SENSORSHOWHIGHALARM(oShape,true) - Case GSH_UNACKLOW - call GSH_SENSORSHOWLOWALARM(oShape,true) - Case GSH_ACKEMERG - call GSH_SENSORSHOWEMERGENCYALARM(oShape,false) - Case GSH_ACKHIGH - call GSH_SENSORSHOWHIGHALARM(oShape,false) - Case GSH_ACKLOW - call GSH_SENSORSHOWLOWALARM(oShape,false) - Case Else - End Select - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_SETSHAPEFOCUS(oShape) - 'No Offnormal check as this shape could be a digital flag or analog point. - 'gsh_log_e("GSH_C200_SENSOR_ONUPDATE") - End If -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_SELECTOROUTPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/14/07 GSH_SELECTOROUTPUTSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS -' 06/14/07 Added alarm checking for GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_SELECTOROUTPUT_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_SELECTOROUTPUT_ONUPDATE oShape=" & oShape.id) - -On Error Resume Next - - If flag = 0 then - call GSH_SELECTOROUTPUTSHOWNORMAL(oShape) - call GSH_SELECTOROUTPUTSHOWSELECTOR(oShape, GSH_CPPARAM_SELINPUT) - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_SELECTOROUTPUT_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - -'gsh_log_e("GSH_C200_SELECTOROUTPUT_ONUPDATE") - -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SELECTOROUTPUTSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' 06/14/07 initialized the state of alarms -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SELECTOROUTPUTSHOWNORMAL(oShape) -'gsh_log_s("GSH_SELECTOROUTPUTSHOWNORMAL oShape=" & oShape.id) -on error resume next - call GSH_SHOWNOALARM(oShape) - oShape.objects("linLeft").style.visibility = GSH_HIDDEN - oShape.objects("linRight").style.visibility = GSH_HIDDEN - oShape.objects("linTop").style.visibility = GSH_HIDDEN - oShape.objects("focus").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_SELECTOROUTPUTSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SELECTOROUTPUTSHOWSELECTOR'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape -' paramSelector = custom parameter -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SELECTOROUTPUTSHOWSELECTOR(oShape, paramSelector) -'gsh_log_s("GSH_SELECTOROUTPUTSHOWSELECTOR oShape=" & oShape.id & ", paramSelector=" & paramSelector) -on error resume next - dim xinput, selOrientation - xinput = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),paramSelector) - ' Determine selector orientation (LEFT, RIGHT, CENTER) - selOrientation = GSH_NONE - select case xinput - case GSH_SELX1 - ' Retrive custom parameter X1 - selOrientation = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPX1, GSH_CPVALUE) - case GSH_SELX2 - ' Retrive custom parameter X2 - selOrientation = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPX2, GSH_CPVALUE) - case GSH_SELX3 - ' Retrive custom parameter X3 - selOrientation = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPX3, GSH_CPVALUE) - end select - 'Set Orientation - call GSH_SELECTOROUTPUTSETORIENTATION(oShape, selOrientation) -'gsh_log_e("GSH_SELECTOROUTPUTSHOWSELECTOR") - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SELECTOROUTPUTSETORIENTATION'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape -' selOrientation = orientation (LEFT, RIGHT, CENTER) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SELECTOROUTPUTSETORIENTATION(oShape, selOrientation) -'gsh_log_s("GSH_SELECTOROUTPUTSETORIENTATION oShape=" & oShape.id & ", selOrientation=" & selOrientation) -on error resume next - - if (strcomp(selOrientation,GSH_LEFT,vbtextcompare)=0) then - oShape.objects("linLeft").style.visibility = GSH_VISIBLE - ElseIf (strcomp(selOrientation,GSH_RIGHT,vbtextcompare)=0 ) then - oShape.objects("linRight").style.visibility = GSH_VISIBLE - ElseIf (strcomp(selOrientation,GSH_CENTER,vbtextcompare)=0 ) then - oShape.objects("linTop").style.visibility = GSH_VISIBLE - else - 'Do Nothing - end if -'gsh_log_e("GSH_SELECTOROUTPUTSETORIENTATION") - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SELECTOROUTPUTSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS 06/14/07 - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPSELECTORINPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape -' 06/14/07 GSH_GROUPSELECTORINPUTSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPSELECTORINPUT_ONUPDATE(oShape, flag) -on error resume next - If flag = 0 then - call GSH_GROUPSELECTORINPUTSHOWNORMAL(oShape) - End If - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) - End If - If flag = 0 then - 'Get SELOUT value - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SELOUT)) - End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPSELECTORINPUTSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPSELECTORINPUTSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPSELECTORINPUTSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagKeyword, sTagName - 'Show objects - oDataBoundObject.objects("outline").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPANALOGNORMAL - oDataBoundObject.objects("txt_AnalogValue").style.visibility = GSH_VISIBLE - 'Read Values from Registry - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - sTagname = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - oDataBoundObject.objects("txt_tagname").value = sTagname - oDataBoundObject.objects("txt_keyword").value = tagKeyword -'gsh_log_e("GSH_GROUPSELECTORINPUTSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPSELECTORINPUTSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS 06/14/07 - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPSELECTOROUTPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/14/07 GSH_GROUPSELECTOROUTPUTSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS -' 06/14/07 removed check for initman because it is redundant with the check for Windup = HILO -' 06/14/07 optimized select case code by replacing it with SHOWWINDUPSTATUS -' 06/14/07 use GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER for alarming -' 09/14/07 hide OP combobox when the shape is not in principle focus to solve problem -' that the combox or alp entry was open, -' but no entry made, then other tag is selected as focus tag. (CL) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPSELECTOROUTPUT_ONUPDATE(oShape, flag) -on error resume next - - - If flag = 0 then - GSH_GROUPSELECTOROUTPUTSHOWNORMAL(oShape) - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_GROUPSELECTOROUTPUTSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - End If - - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_C200_SELECTOROUTPUT_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - If flag = 0 then - 'Display OP Value (no check for bad data needed) - oShape.objects("txt_OPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP)) - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) - 'Status message - dim val_redTag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - end if - 'No Ramping needed - End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_GROUPSELECTOROUTPUT_SM_ONUPDATE''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 02/19/08 Created from C200_GROUPSELECTOROUTPUT for StatusMessage addition -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_GROUPSELECTOROUTPUT_SM_ONUPDATE(oShape, flag) -on error resume next - - If flag = 0 then - GSH_GROUPSELECTOROUTPUTSHOWNORMAL(oShape) - 'Alarming - If GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - call GSH_GROUPSELECTOROUTPUTSHOWSUPPRESSEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - End If - - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_C200_SELECTOROUTPUT_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - If flag = 0 then - 'Display OP Value (no check for bad data needed) - oShape.objects("txt_OPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP)) - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) - - 'RedTag and Status Message - dim val_redTag, val_stsMsg, tagName, stsMsgType - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - val_stsMsg = cInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG)) - - if (val_redTag = GSH_ON) then - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - else if (val_stsMsg > 0) then - 'Get custom status messages from registry - tagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(tagName, GSH_REGKEY_STSMSGLIST, "") - if val_stsMsg >0 and stsMsgType <> "" then - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &val_stsMsg, "") - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,message) - end if - end if - end if - End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPSELECTOROUTPUTSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPSELECTOROUTPUTSHOWNORMAL(oDataBoundObject) -'gsh_log_s("GSH_GROUPSELECTOROUTPUTSHOWNORMAL oDataBoundObject=" & oDataBoundObject.id) -on error resume next -Dim shapePoint, tagKeyword, tagName - shapePoint = GSH_GETSHAPETAG(oDataBoundObject) - tagName = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_TAGNAME_ALIAS, shapePoint) - tagKeyword = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_KEYWORD, defaultString) - 'Assign values to textboxes - oDataBoundObject.objects("txt_tagname").value = tagName - oDataBoundObject.objects("txt_keyword").value = tagKeyword - call GSH_SHOWNOALARM(oDataBoundObject) - 'Show values - oDataBoundObject.objects("outline").style.visibility = GSH_VISIBLE - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPORSELNORMAL - oDataBoundObject.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_Initialization").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_status").style.visibility = GSH_HIDDEN - oDataBoundObject.objects("txt_statusmessage").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_GROUPSELECTOROUTPUTSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GROUPSELECTOROUTPUTSHOWSUPPRESSEDALARM''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GROUPSELECTOROUTPUTSHOWSUPPRESSEDALARM(oDataBoundObject) -'gsh_log_s("GSH_GROUPSELECTOROUTPUTSHOWSUPPRESSEDALARM oDataBoundObject=" & oDataBoundObject.id) -on error resume next - oDataBoundObject.objects("outline").styleClass = GSH_CSSGROUPORSELDISABLEDALARM -'gsh_log_e("GSH_GROUPSELECTOROUTPUTSHOWSUPPRESSEDALARM") -end sub - -'GSH_GROUPSELECTOROUTPUTSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS 06/14/07 -'GSH_GROUPSELECTOROUTPUTSHOW_RAMP removed function May 11'''''''''''''' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_SELECTORINPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/14/07 GSH_GSH_SELECTORINPUTSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_SELECTORINPUT_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_SELECTORINPUT_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - If flag = 0 then - call GSH_SELECTORINPUTSHOWNORMAL(oShape) - call GSH_SELECTORINPUTSHOWSELECTOR(oShape, GSH_CPPARAM_SELINPUT) - End If - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) - End If -'gsh_log_e("GSH_C200_SELECTORINPUT_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SELECTORINPUTSHOWNORMAL'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' 06/14/07 initialized the state of "outline" -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SELECTORINPUTSHOWNORMAL(oShape) -'gsh_log_s("GSH_SELECTORINPUTSHOWNORMAL oShape=" & oShape.id) -on error resume next - oShape.objects("outline").styleClass = GSH_CSSALARMNONE - oShape.objects("linLeft").style.visibility = GSH_HIDDEN - oShape.objects("linRight").style.visibility = GSH_HIDDEN - oShape.objects("linTop").style.visibility = GSH_HIDDEN - oShape.objects("focus").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_SELECTORINPUTSHOWNORMAL") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SELECTORINPUTSHOWSELECTOR'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape -' paramSelector = custom parameter -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SELECTORINPUTSHOWSELECTOR(oShape, paramSelector) -'gsh_log_s("GSH_SELECTORINPUTSHOWSELECTOR oShape=" & oShape.id & ", paramSelector=" & paramSelector) -on error resume next - dim ininput, selOrientation - ininput = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),paramSelector) - ' Determine selector orientation (LEFT, RIGHT, CENTER) - selOrientation = GSH_LEFT - if strcomp(ininput,GSH_SELIN1, vbTextCompare) = 0 then - selOrientation = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPIN1, GSH_CPVALUE) - else if strcomp(ininput,GSH_SELIN2, vbTextCompare) = 0 then - ' Retrive custom parameter IN2 - selOrientation = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPIN2, GSH_CPVALUE) - end if: end if - 'Set Orientation - call GSH_SELECTORINPUTSETORIENTATION(oShape, selOrientation) -'gsh_log_e("GSH_SELECTORINPUTSHOWSELECTOR") - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SELECTORINPUTSETORIENTATION'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape -' selOrientation = orientation (LEFT, RIGHT, CENTER) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SELECTORINPUTSETORIENTATION(oShape, selOrientation) -'gsh_log_s("GSH_SELECTORINPUTSETORIENTATION oShape=" & oShape.id & ", selOrientation=" & selOrientation) -on error resume next - - if (strcomp(selOrientation,GSH_LEFT,vbtextcompare)=0) then - oShape.objects("linLeft").style.visibility = GSH_VISIBLE - ElseIf (strcomp(selOrientation,GSH_RIGHT,vbtextcompare)=0 ) then - oShape.objects("linRight").style.visibility = GSH_VISIBLE - ElseIf (strcomp(selOrientation,GSH_CENTER,vbtextcompare)=0 ) then - oShape.objects("linTop").style.visibility = GSH_VISIBLE - else - 'Do Nothing - end if -'gsh_log_e("GSH_SELECTORINPUTSETORIENTATION") - -end sub - -'GSH_SELECTORINPUTSETFOCUS replaced by GSH_GEN_SETSHAPEFOCUS 06/14/07 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_VALVEANALOG3WAY_SCADA_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_VALVEANALOG3WAY_SCADA_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_VALVEANALOG3WAY_SCADA_ONUPDATE oShape=" & oShape.id) - - If flag <= 1 then - call GSH_VALVEANALOG3WAYSHOWNORMAL(oShape) - - Dim OPValue,stsmsg, val_redTag, initMan - OPValue = oShape.objects("ind_OPStem").value - If (OPValue <= 5) then - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else if ( (OPValue > 5) and (OPValue < 95) ) then - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if: end if - - call GSH_VALVEANALOG3WAYSHOWPORT(oShape) - - 'Check the points alarming - if GSH_SCADA_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_VALVEANALOG3WAYSHOWDISABLEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITY_OP(oShape.objects("rec_DataScript")),oShape) - End If - -' End If - -' If flag <= 1 then - 'Focus - call GSH_VALVEANALOG3WAYSETFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_PV)) then - call GSH_VALVEANALOG3WAYSHOWOFFNORMAL(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - - 'Make the focus transparent for valves - 'oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground --> outline is always transparent - End If - 'gsh_log_e("GSH_VALVEANALOG3WAY_SCADA_ONUPDATE") -end sub - - -' -' 10/12/2007 - Modified so that ValveAnalog3Way can show input flow that come from -' left (default) or right hand side. (CL) -' -sub GSH_VALVEANALOG3WAYSHOWPORT(oShape) -'gsh_log_s("GSH_VALVEANALOG3WAYSHOWPORT oShape=" & oShape.id) -on error resume next - Dim OPValue, divertMinValue, divertMaxValue, throughMinValue, throughMaxValue, inputDirection - Dim styleLeftPort, styleRightPort, styleDivertPort - - OPValue = CSng(oShape.objects("ind_OPStem").value) - 'gsh_log("OPValue=" & OPValue) - divertMinValue = CSng(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPDIVERTMIN, GSH_CPVALUE)) - divertMaxValue = CSng(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPDIVERTMAX, GSH_CPVALUE)) - throughMinValue = CSng(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPTHROUGHMIN, GSH_CPVALUE)) - throughMaxValue = CSng(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPTHROUGHMAX, GSH_CPVALUE)) - - 'gsh_log("divertMinValue=" & divertMinValue & ", divertMaxValue=" & divertMaxValue & ", throughMinValue=" & throughMinValue & ", throughMaxValue=" & throughMaxValue) - styleLeftPort = GSH_CSSVALVEREGULATORYCONTROLNORMAL - styleRightPort = GSH_CSSVALVEREGULATORYCONTROLNORMAL - styleDivertPort = GSH_CSSVALVEREGULATORYCONTROLNORMAL - - - if ((OPValue >= divertMinValue) or (OPValue >= throughMinValue)) then - styleLeftPort = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if - if (OPValue >= divertMinValue) and (OPValue <= divertMaxValue) then - styleDivertPort = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if - if ((OPValue >= throughMinValue) and (OPValue <= throughMaxValue)) then - styleRightPort = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if - - inputDirection = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPINPUTDIRECTION, GSH_CPVALUE) - - 'Input flow direction from the right hand side. - dim temp - If strComp(inputDirection,"right",vbTextCompare) = 0 Then - temp = styleLeftPort - styleLeftPort = styleRightPort - styleRightPort = temp - End If - - - 'Set style - oShape.objects("plg_LeftPort").styleClass = styleLeftPort - oShape.objects("plg_RightPort").styleClass = styleRightPort - oShape.objects("plg_DivertPort").styleClass = styleDivertPort - - 'gsh_log("Left Port styleClass=" & oShape.objects("plg_LeftPort").styleClass) - 'gsh_log("Right Port styleClass=" & oShape.objects("plg_RightPort").styleClass) - 'gsh_log("Divert Port styleClass=" & oShape.objects("plg_DivertPort").styleClass) -'gsh_log_e("GSH_VALVEANALOG3WAYSHOWPORT") -end sub - -sub GSH_VALVEANALOG3WAYSETFOCUS(oShape) -'gsh_log_s("GSH_VALVEANALOG3WAYSETFOCUS oShape=" & oShape.id) -on error resume next - call GSH_SetShapeFocus(oShape) - - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - call GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,false) - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("rec_LineCover").styleClass = GSH_CSSFOCUSASSOCIATED_COLOUR - oShape.objects("txt_OPValue").style.visibility = GSH_VISIBLE 'changed AL - else - oShape.objects("rec_LineCover").styleClass = GSH_CSSBACKGROUND_GRAY - end if - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT '-> set alarm filled the outline -> set it back to transparent here -'gsh_log_e("GSH_VALVEANALOG3WAYSETFOCUS") -end sub - -sub GSH_VALVEANALOG3WAYSHOWNORMAL(oShape) -'gsh_log_s("GSH_VALVEANALOG3WAYSHOWNORMAL oShape=" & oShape.id) -on error resume next - oShape.objects("txt_OPValue").value = FormatNumber(oShape.objects("ind_OPStem").value,GSH_OUTPUTINDICATORDECIMALS) - oShape.objects("rec_LineCover").styleClass = GSH_CSSBACKGROUND_GRAY - oShape.objects("txt_OPValue").style.visibility = GSH_HIDDEN 'changed AL - oShape.objects("ind_OPBottom").style.visibility = GSH_VISIBLE - call GSH_ShowNoAlarm(oShape) - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN - oShape.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oShape.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oShape.objects("txt_initialization").style.visibility = GSH_HIDDEN -'gsh_log_e("GSH_VALVEANALOG3WAYSHOWNORMAL") -end sub - -sub GSH_VALVEANALOG3WAYSHOWOFFNORMAL(oShape) -'gsh_log_s("GSH_VALVEANALOG3WAYSHOWOFFNORMAL oShape=" & oShape.id) -on error resume next - oShape.objects("focus").style.visibility = GSH_VISIBLE - oShape.objects("focus").styleClass = GSH_CSSREGULATORYCONTROLVALVEOFFNORMAL - call GSH_ValveRegulatoryControlShowBottomFlowIndicator(oShape,true) -'gsh_log_e("GSH_VALVEANALOG3WAYSHOWOFFNORMAL") -end sub - -sub GSH_VALVEANALOG3WAYSHOWDISABLEDALARM(oShape) -'gsh_log_s("GSH_VALVEANALOG3WAYSHOWDISABLEDALARM oShape=" & oShape.id) -on error resume next - call GSH_ShowNoAlarm(oShape) - call GSH_VALVEANALOG3WAYSHOWBOTTOMFLOWINDICATOR(oShape,true) - oShape.objects("outline").styleClass = GSH_CSSREGULATORYCONTROLINDICATORDISABLEDALARM -'gsh_log_e("GSH_VALVEANALOG3WAYSHOWDISABLEDALARM") -end sub - -sub GSH_VALVEANALOG3WAYSHOWBOTTOMFLOWINDICATOR(oShape,ShowBottomFlowdicator) -'gsh_log_s("GSH_VALVEANALOG3WAYSHOWBOTTOMFLOWINDICATOR oShape="&oShape&" "& CSTR(ShowBottomFlowdicator)) -on error resume next - if (ShowBottomFlowdicator) then - oShape.objects("txt_OPValue").style.visibility = GSH_HIDDEN - else - oShape.objects("txt_OPValue").style.visibility = GSH_VISIBLE - end if -'gsh_log_e("GSH_VALVEANALOG3WAYSHOWBOTTOMFLOWINDICATOR") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_VALVEANALOG3WAY_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/07/07 Added flag parameter to execute only focus & offnormal status update or all -' 06/10/07 Removed initman check because it is redundant to Windup = HILO -' 08/08/07 Add: check & show status message flag on status message text. Reference issue #370 (Cuong Ly) -' 12/09/07 Removed status message CP for now until database is ready - JE -' Fix potential problem of sticky red -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_VALVEANALOG3WAY_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_VALVEANALOG3WAY_ONUPDATE oShape=" & oShape.id) - - If flag <= 1 then - call GSH_VALVEANALOG3WAYSHOWNORMAL(oShape) - - Dim OPValue,stsmsg, val_redTag, initMan - OPValue = oShape.objects("ind_OPStem").value - If (OPValue <= 5) then - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else if ( (OPValue > 5) and (OPValue < 95) ) then - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if: end if - - call GSH_VALVEANALOG3WAYSHOWPORT(oShape) - - 'Check the points alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - 'Alarm is Disabled - call GSH_VALVEANALOG3WAYSHOWDISABLEDALARM(oShape) - else - call GSH_SHOWPOINTALARMS(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - End If - - 'Assumption: Reg tag and status message are mutual exclusive - 'Status message - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - 'red tag - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) -' else - 'Check status Message -' dim val_stsMsg -' val_stsMsg = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG) -' call GSH_Show_StatusMessageFlag(oShape, val_stsMsg) - end if - - 'End If - - 'If flag <= 1 then - 'Focus - call GSH_VALVEANALOG3WAYSETFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then -' if (GSH_C200_ValveREGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL)) then - if (GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL)) then - call GSH_VALVEANALOG3WAYSHOWOFFNORMAL(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - End If - - If flag = 0 then - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) - End If - - 'Make the focus transparent for valves - 'oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - -'gsh_log_e("GSH_C200_VALVEANALOG3WAY_ONUPDATE") -end sub - -sub GSH_VALVEANALOG3WAYSHOWSTATUSMESSAGE(oShape,message) -'gsh_log_s("GSH_VALVEANALOG3WAYSHOWSTATUSMESSAGE oShape=" & oShape.id & ",message="&message) -on error resume next - oShape.objects("txt_statusmessage").style.visibility = GSH_VISIBLE - oShape.objects("txt_statusmessage").value = message -'gsh_log_e("GSH_VALVEANALOG3WAYSHOWSTATUSMESSAGE") -end sub - -sub GSH_VALVEANALOG3WAYSHOWINITIALIZATION(oShape) -'gsh_log_s("GSH_VALVEANALOG3WAYSHOWINITIALIZATION oShape=" & oShape.id) -on error resume next - oShape.objects("plg_OpHigh").style.visibility = GSH_HIDDEN - oShape.objects("plg_OpLow").style.visibility = GSH_HIDDEN - oShape.objects("txt_initialization").style.visibility = GSH_VISIBLE -'gsh_log_e("GSH_VALVEANALOG3WAYSHOWINITIALIZATION") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALINDICATORSHORT_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital value does not change often) only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_DIGITALINDICATORSHORT_ONUPDATE (oShape, flag) -on error resume next - -If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY),oShape) - End If - -End If - -If flag <=1 then - 'Set the focus - 'call GSH_DIGITALINDICATORSETFOCUS(oShape) - call GSH_GEN_SETSHAPEFOCUS(oShape) - - - 'Check for Off Normal if not in focus - dim sPVStateTxt - sPVStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - -End If - -If flag = 0 then - 'Bad Data Check - If GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - oShape.objects("txt_PVvalue").value = "---" - Else - oShape.objects("txt_PVvalue").value = oShape.GetCustomProperty(GSH_CPVALUE,GSH_CPLABEL) - End If -End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITALINDICATORSHORT_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/06/07 Added flag parameter to execute only focus & offnormal status update or all -' 13/06/07 Use GSH_GETHIGHESTALARMPRIORITYPROPERTY of GSH_GETHIGHESTALARMPRIORITYPARAMETER -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_DIGITALINDICATORSHORT_ONUPDATE (oShape, flag) -on error resume next - - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - else - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")), oShape) - End If - End If - - If flag <= 1 then - 'Set the focus - 'call GSH_DIGITALINDICATORSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - dim sPVStateTxt - sPVStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sPVStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - End If -'Bad Data Check not needed -'Shape's Label is automatically assign to the Shape Custom property "Label" -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_FLAGINDICATOR_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_FLAGINDICATOR_ONUPDATE (oShape, flag) -on error resume next - - call GSH_GEN_SETSHAPEFOCUS(oShape) - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - dim sPVStateTxt - sPVStateTxt = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV) - oShape.objects("txt_PVvalue").value = sPVStateTxt -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_UpdateAlarmStatus -'Check alarm status and updates the text value for ConTxtAlmEnabled object -'Parameter: sAlarmStatusParamName = GSH_SCADA_PARAM_ALARMDISABLED or C200 param constant -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_UpdateAlarmStatus (sAlarmStatusParamName) -'gsh_log_s "GSH_FP_UpdateAlarmStatus sAlarmStatusParamName ="& sAlarmStatusParamName -dim sAlarmStatus - sAlarmStatus = "---" - if (ConTxtAlmEnabled.DataValue(GSH_SDR_CURRENTPOINT & "." & sAlarmStatusParamName)<> 0) then - 'if strcomp(ConTxtAlmEnabled.DataValue(GSH_SDR_CURRENTPOINT & "." & sAlarmStatusParamName),"DISABLED",vbTextCompare) = 0 then - sAlarmStatus = "Disabled" - Rec_AlmEnabledOffNorm.style.visibility = GSH_VISIBLE - else - sAlarmStatus = "Enabled" - Rec_AlmEnabledOffNorm.style.visibility = GSH_HIDDEN - end if - ConTxtAlmEnabled.value = sAlarmStatus -'gsh_log_e "GSH_FP_UpdateAlarmStatus" -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_SCADA_ShowAlarmLimits -'function: Sets the style and position of the 4 alarm limits on the PV Bar graph -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_SCADA_ShowAlarmLimits -dim alarmtype, alarmlim, alarmPri 'to do: handle null return from the limit and priority values -alarmtype = 0: alarmlim = 0: alarmPri = 0 - for i = 1 to 4 - alarmtype = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".ALARMTYPE" & i) - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".ALARM" & i & "PRIORITY") - page.all("txt_alarmtype"&i).value = GSH_FP_SCADA_GETALARMTYPELABEL(alarmtype) - if (alarmtype <> 0 and alarmPri <> 0) then - alarmlim = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".ALARMLIMIT" & i) - page.all("txt_alarmlim"&i).value = GSH_FormatPVTextTag(ConAlpTagname.value,alarmlim) - call GSH_FP_SCADA_ShowAlarmRec(page.all("RecAlarm"&i), alarmlim, alarmPri) - page.all("txt_alarmlim"&i).style.visibility = GSH_VISIBLE - page.all("txt_alarmtype"&i).style.visibility = GSH_VISIBLE - page.all("RecAlarm"&i).style.visibility = GSH_VISIBLE - end if - next -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_SCADA_GETALARMTYPELABEL -'function: Returns the text for the Alarm Limit label -'parameters: nAlarmType = numeric value for the Alarm Type -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_FP_SCADA_GETALARMTYPELABEL(nAlarmType) -'gsh_log_s("GSH_FP_SCADA_GETALARMTYPELABEL nAlarmType=" & nAlarmType) -Dim sLabel: sLabel = "" - select case nAlarmType - case GSH_FP_PVHH - sLabel = GSH_FP_PVHH_LABEL - case GSH_FP_PVH - sLabel = GSH_FP_PVH_LABEL - case GSH_FP_PVL - sLabel = GSH_FP_PVL_LABEL - case GSH_FP_PVLL - sLabel = GSH_FP_PVLL_LABEL - end select - GSH_FP_SCADA_GETALARMTYPELABEL = sLabel -'gsh_log_e("GSH_FP_SCADA_GETALARMTYPELABEL returns >>>>>>>>"&sLabel) -end function - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_SCADA_ShowAlarmRec -'function: Sets the style and position of one alarm limit on the PV Bar graph -'parameters: oRect = object ref to limit bar -' alarmlim = value of the limit, alarmPri = value of the alarm priority determines the style -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_SCADA_ShowAlarmRec(oRect, alarmlim, alarmPri) -'gsh_log_s("GSH_FP_ShowAlarmRec oRect=" & oRect.id & ", alarmlim=" & alarmlim & ", alarmPri=" & alarmPri) - dim iNumPixels, iBottom, iRange - 'Retrieve Type value & calculate rectangle position - iRange = cdbl(txt_euhi.value) - cdbl(txt_eulo.value) - if iRange = 0 then - oRect.style.visibility = GSH_HIDDEN - else - iNumPixels = (ConIndPV.style.pixelheight * ((cdbl(alarmlim) - cdbl(txt_eulo.value)) / iRange)) - iBottom = (ConIndPV.style.pixelheight + ConIndPV.style.pixeltop) - oRect.style.pixeltop = iBottom - iNumPixels - oRect.style.pixelheight - - 'Retrieve Priority value & set style sheet - select case alarmPri - case 1 - oRect.styleClass = "AlarmLowColor" - oRect.style.visibility = GSH_VISIBLE - case 2 - oRect.styleClass = "AlarmHighColor" - oRect.style.visibility = GSH_VISIBLE - case 3 - oRect.styleClass = "AlarmEmergColor" - oRect.style.visibility = GSH_VISIBLE - case else - oRect.style.visibility = GSH_HIDDEN - end select - end if -'gsh_log_e("GSH_FP_SCADA_ShowAlarmRec") -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_C200_ShowAlarmRec -'function: Sets the style and position of one alarm limit on the PV Bar graph -'parameters: oRect = object ref to limit bar -' alarmlim = value of the limit, alarmPri = value of the alarm priority determines the style -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_C200_ShowAlarmRec(oRect, alarmlim, alarmPri) -'gsh_log_s("GSH_FP_C200_ShowAlarmRec oRect=" & oRect.id & ", alarmlim=" & alarmlim & ", alarmPri=" & alarmPri) - dim iNumPixels, iBottom, iRange - 'Retrieve Type value & calculate rectangle position - iRange = cdbl(txt_euhi.value) - cdbl(txt_eulo.value) - if iRange = 0 then - oRect.style.visibility = GSH_HIDDEN - else - iNumPixels = (ConIndPV.style.pixelheight * ((cdbl(alarmlim) - cdbl(txt_eulo.value)) / iRange)) - iBottom = (ConIndPV.style.pixelheight + ConIndPV.style.pixeltop) - oRect.style.pixeltop = iBottom - iNumPixels - oRect.style.pixelheight -'Retrieve Priority value & set style sheet - select case alarmPri - case 2 - oRect.styleClass = "AlarmLowColor" - oRect.style.visibility = GSH_VISIBLE - case 3 - oRect.styleClass = "AlarmHighColor" - oRect.style.visibility = GSH_VISIBLE - case 4 - oRect.styleClass = "AlarmEmergColor" - oRect.style.visibility = GSH_VISIBLE - case else - oRect.style.visibility = GSH_HIDDEN - end select - end if -'gsh_log_e("GSH_FP_C200_ShowAlarmRec") -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TagNameEntryTimeout -'function: Hides timed out Tagname combobox object -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TagNameEntryTimeout - call GSH_HIDESUBSHAPE(cmb_tagnames) - call GSH_HIDESUBSHAPE(txt_newTagname) - btn_EnterTagName.disabled = false - window.clearInterval(GSH_FPTimerId) -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_clearTimerInterval -'function: Hides timed out entry object and clears the specified timer if ID is not 0. -'parameters: oTimedOutEntryObj = object ref to something like the SP entry box -' sTimerID = unique id of the time to be cleared or 0 if no time needs to be cleared -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_ClearTimerInterval(oTimedOutEntryObj, sTimerID) -'gsh_log_s("GSH_FP_ClearTimerInterval " & " oTimedOutEntryObj=" & oTimedOutEntryObj.id & " sTimerID=" & sTimerID) - call GSH_HIDESUBSHAPE(oTimedOutEntryObj) - call GSH_FP_TagNameEntryTimeout - if sTimerID <> 0 then - window.clearInterval(sTimerID) - end if -'gsh_log_e("GSH_FP_ClearTimerInterval ") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_DEMANDTRENDBTN_CLICK ''''''''''''''''''''''''''''''''''''''''''' -'06/01/07 Remove sPathPrefix because its not being used. -'06/01/07 Added sTagNameHDA from the TagInformation because the Historian names do not match the tagname -'06/01/07 parse out the function block for storing the itemAlias -'06/25/07 change asTraceParams to asTraceNames as asTraceParams does not exists causing registry not saved. -'08/21/2008 (CL) Add a check to determine if we should use shortname for HDA Item path in order to work with Sasol PHD historian interface (Issue#21) -'10/06/2008 (CL) Add writing value of tag euhigh and eulow to trend range high and trend range low to allow the trend use -' the range from registry when the range is not available from the historian -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_DEMANDTRENDBTN_CLICK(sTagName) - -'gsh_log_s("GSH_FP_DEMANDTRENDBTN_CLICK " & " sTagName=" & sTagName) -Dim DispStr(), asCommandStr(), asTrendParams() -Dim nRetVal, nNumTrendParams, nNumCommands, nCount -Dim nIndex, nAddIndex, nDeleteIndex, nCommandIndex, nCancelIndex -Dim nNumTrends, vTrendAvail, sParseStr, istrLen, iPosition -Dim asDeleteParams(9), asActive(8), asTraceNames(8), asAutoscale(8), arY_Max(8), arY_Min(8), asStepped(8), asPVFormat(8), asTrendParamShort(8), asEUHIGH(8), asEULOW(8) -Dim sTemp, nActiveCount, nSaveIndex, nCounter, sStepped, sPathPrefix, sPVFormat, asItemAliasName, sTagNameAlias, sPVeuhigh, sPVeulow - -on error resume next - sTagNameAlias = GSH_READTAGINFORMATIONKEYVALUE(sTagName, GSH_REGKEY_TAGNAME_ALIAS, sTagName) - nIndex = 0 - nNumTrends = 8 - nNumTrendParams = GSH_READTAGINFORMATIONKEYVALUE(sTagName, "NoOfTrendingParams", 0) - nNumCommands = GSH_GETMENUCONFIG(GSH_REGKEY_NUMCMDS, 0) - sPVFormat = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT) - sPathPrefix = GSH_GETDEMANDTREND (GSH_REGISTRY_SETTINGS,GSH_REGKEY_PATHPREFIX, "") - - '10/06/2008 CL - sPVeuhigh = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_EUHIGH, 0) - sPVeulow = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_EULOW, 0) - - If nNumTrendParams >0 Then - ReDim asTrendParams(nNumTrendParams-1) - End If - - If nNumCommands>0 Then - ReDim asCommandStr(nNumCommands-1) - End If - - nActiveCount = 0 - For nCount = 1 To nNumTrends Step 1 - asTraceNames(nCount) = GSH_GETDEMANDTREND (GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, "") - asActive(nCount) = GSH_GETDEMANDTREND (GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, "OFF") - asAutoscale(nCount) = GSH_GETDEMANDTREND (GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, "OFF") - asDeleteParams(nCount) = "" - If strComp(asActive(nCount),"ON",vbTextCompare) = 0 Then - nActiveCount = nActiveCount + 1 - asDeleteParams(nCount) = asTraceNames(nCount) - End If - Next - - If nActiveCount > 0 Then - nActiveCount = nActiveCount + 1 - End If - - If (nNumTrendParams > 0) Then - For nCount = 1 To nNumTrendParams Step 1 - asTrendParams(nCount-1) = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TRENDPARAM & nCount, "") - istrLen = len(asTrendParams(nCount-1)) - iPosition= Instr(1, asTrendParams(nCount-1) , ".",vbtextcompare) - asTrendParamShort(nCount-1) = right(asTrendParams(nCount-1), istrLen - iPosition) - asStepped(nCount) = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TRENDSTEPPED & nCount, "OFF") - Select Case asTrendParamShort(nCount-1) -' Select Case asTrendParams(nCount-1) - Case "PV" - asPVFormat(nCount) = sPVFormat - '10/06/2008 CL - asEUHIGH(nCount) = sPVeuhigh - asEULOW(nCount) = sPVeulow - Case "SP" - asPVFormat(nCount) = sPVFormat - '10/06/2008 CL - asEUHIGH(nCount) = sPVeuhigh - asEULOW(nCount) = sPVeulow - Case "OP" - asPVFormat(nCount) = "D1" - '10/06/2008 CL - asEUHIGH(nCount) = 106.9 - asEULOW(nCount) = -6.9 - End Select - Next - End If - - If (nNumCommands > 0) Then - For nCount = 1 To nNumCommands Step 1 - asCommandStr(nCount-1) = GSH_GETMENUCONFIG(GSH_REGKEY_CMDSTR & nCount, "") - Next - End If - - ReDim DispStr(nNumTrendParams + nNumCommands + 7 + nActiveCount) - - DispStr(nIndex) = "Tag : " & sTagNameAlias - nIndex = nIndex + 1 - DispStr(nIndex) = "" - nIndex = nIndex + 1 - - If (nNumTrendParams > 0) Then - nAddIndex = nIndex - For nCount = 0 To UBound(asTrendParams) Step 1 - DispStr(nIndex) = "Add Trace " & sTagNameAlias & "." & asTrendParams(nCount) - nIndex = nIndex + 1 - Next - - DispStr(nIndex) = "" - nIndex = nIndex + 1 - nDeleteIndex = nIndex - For nCount = 1 To nNumTrends - If asDeleteParams(nCount) <> "" Then - DispStr(nIndex) = "Delete Trace " & asDeleteParams(nCount) - nIndex = nIndex + 1 - End If - Next - - If nActiveCount > 0 Then - DispStr(nIndex) = "Delete ALL Demand Trend traces" - nIndex = nIndex + 1 - - DispStr(nIndex) = "" - nIndex = nIndex + 1 - End If - End If - - nSaveIndex = nIndex - - DispStr(nIndex) = "Save Demand Trend Setup" - nIndex = nIndex + 1 - - DispStr(nIndex) = "Restore Previous Demand Trend" - nIndex = nIndex + 1 - - DispStr(nIndex) = "" - nIndex = nIndex + 1 - - If (nNumCommands > 0) Then - nCommandIndex = nIndex - For nCount = 0 To UBound(asCommandStr) Step 1 - DispStr(nIndex) = asCommandStr(nCount) - nIndex = nIndex + 1 - Next - End If - - nCancelIndex = nIndex - 'Debugging - For nCount = 0 To nIndex Step 1 - 'gsh_log("GSH_DEMANDTRENDBTN nCount=" &nCount&"DispStr(nCount)"& DispStr(nCount)) - Next - - If nNumCommands = 0 Then - nCommandIndex = nCancelIndex - End If - -'CallAgain: - do while nRetVal = 0 - - Dim ArrMenu ' As ArrPopupMenuX - Set ArrMenu = CreateObject("ArrPopupMenuXControl.ArrPopupMenuX") - ArrMenu.ShowMenuArr DispStr - nRetVal = ArrMenu.Item - - If nActiveCount = 0 Then 'added this to handle case when all traces are inactive - nDeleteIndex = nAddIndex + 1 - End If - loop - - Set ArrMenu = Nothing - - If ((nRetVal >= nAddIndex) And (nRetVal < nDeleteIndex)) Then - Dim sOPC1_PathPrefix,sOPC2_PathPrefix, sTagNameHDA, bUseShortNameForHDA - sOPC1_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY1PREFIX,"") - sOPC2_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY2PREFIX,"") - bUseShortNameForHDA = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_USESHORTNAME_FOR_HDAPATH,"") - - For nCount = 1 To nNumTrends Step 1 - If asActive(nCount) = GSH_OFF Then - sTagNameHDA = GSH_READTAGINFORMATIONKEYVALUE(sTagName,GSH_REGKEY_TAGNAMEHDA, sTagName) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, sTagNameAlias & "." & asTrendParamShort(nRetVal - nAddIndex) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPCITEMPATH, sOPC1_PathPrefix & sPathPrefix & sTagName & "." & asTrendParams(nRetVal - nAddIndex) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPC2ITEMPATH, sOPC2_PathPrefix& sPathPrefix & sTagName & "." & asTrendParams(nRetVal - nAddIndex) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, GSH_ON - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TRENDSTEPPED, asStepped(nRetVal - nAddIndex + 1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_PVFORMATKEY, asPVFormat(nRetVal - nAddIndex + 1) - - 'Added 10/06/2008 (CL) add to allows trend to use range from registry if they are not available from historian - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_HIGH, asEUHIGH(nRetVal - nAddIndex + 1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_LOW, asEULOW(nRetVal - nAddIndex + 1) - - - 'Added 08/21/2008 (CL) to work with Sasol PHD historian interface - 'Issue#21: http://wss-edm-1/clients/hcs/services/ISE-HCS8227/ClientProjectAccess/Lists/Issue%20Tracker/DispForm.aspx?ID=21 - If(UCASE(bUseShortNameForHDA) = "ON") then - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTrendParamShort(nRetVal - nAddIndex) - - Else - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTrendParams(nRetVal - nAddIndex) - End If - - Exit Sub - End If - Next - Msgbox "Sorry ! No Traces available. Please delete a Trace before adding a new one." & Chr(13),,"HMI Operator Interface" - ElseIf ((nRetVal >= nDeleteIndex) And (nRetVal < nSaveIndex)) Then - nCount = nRetVal - nDeleteIndex + 1 - If nCount = nActiveCount Then - For nCount = 1 To nNumTrends - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, GSH_OFF - Next - Else - nDelete = 1 - For n = 1 To nNumTrends Step 1 - If asActive(n) <> "OFF" Then - If nDelete = nCount Then - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & n,GSH_REGKEY_ACTIVE, GSH_OFF - Exit Sub - End If - nDelete = nDelete + 1 - End If - Next - End If - ElseIf ((nRetVal >= nSaveIndex) And (nRetVal < nCommandIndex)) Then - nCnt = nRetVal - nSaveIndex + 1 - 'Saving demand trends to previous demand trend on registry - If nCnt = 1 Then - For nCount = 1 To nNumTrends - asItemAliasName = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, "") - asTraceNames(1) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, "") - asTraceNames(2) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPCITEMPATH, "") - asTraceNames(3) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPC2ITEMPATH, "") - asActive(1) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, "") - asAutoscale(1) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, "") - asStepped(1)= GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TRENDSTEPPED, "") - asPVFormat(1) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_PVFORMATKEY, "") - arY_Max(1) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMAX,"") - arY_Min(1) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMIN,"") - - '10/06/2008 (CL) - asEUHIGH(1) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_HIGH,"") - asEULOW(1) = GSH_GETDEMANDTREND(GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_LOW,"") - - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, asItemAliasName - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, asTraceNames(1) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPCITEMPATH, asTraceNames(2) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPC2ITEMPATH, asTraceNames(3) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, asActive(1) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, asAutoscale(1) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TRENDSTEPPED, asStepped(1) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_PVFORMATKEY, asPVFormat(1) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMAX, arY_Max(1) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMIN, arY_Min(1) - - '10/06/2008 (CL) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_HIGH, asEUHIGH(1) - GSH_SETOPERATORTREND GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_LOW, asEULOW(1) - - - Next - 'Restore previous demand strends to demand trend on Registry - Else - For nCount = 1 To nNumTrends - asItemAliasName = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, "") - asTraceNames(1) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, "") - asTraceNames(2) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPCITEMPATH, "") - asTraceNames(3) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPC2ITEMPATH, "") - asActive(1) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, "") - asAutoscale(1) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, "") - asStepped(1)= GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TRENDSTEPPED, "") - asPVFormat(1) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_PVFORMATKEY, "") - - '10/06/2008 (CL) - asEUHIGH(1) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV, GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_HIGH,"") - asEULOW(1) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV, GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_LOW,"") - - - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, asItemAliasName - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, asTraceNames(1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPCITEMPATH, asTraceNames(2) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPC2ITEMPATH, asTraceNames(3) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, asActive(1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TRENDSTEPPED, asStepped(1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_PVFORMATKEY, asPVFormat(1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, asAutoscale(1) - - '10/06/2008 (CL) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_HIGH, asEUHIGH(1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_RANGE_LOW, asEULOW(1) - - - If (strComp(asAutoscale(1),"Off",vbTextCompare) = 0) Then - arY_Max(1) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMAX,"") - arY_Min(1) = GSH_GETOPERATORTREND(GSH_REGKEY_DEMANDTRENDPREV,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMIN,"") - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMAX,arY_Max(1) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMIN,arY_Min(1) - End If - Next - End If - ElseIf ((nRetVal >= nCommandIndex) And (nRetVal < nCancelIndex)) Then - Dim nLen, nTemp, sCommandLeft, sCommandRight, sCommand - - sParseStr = GSH_GETMENUCONFIG(GSH_REGKEY_CMDSTRING & ((nRetVal-nCommandIndex)+1), "") - nLen = Len(sParseStr) - nTemp = Instr(1,sParseStr,"XXXXXX",1) - - If nTemp = 0 Then ' do not need to add tag name to command - sCommand = sParseStr -' gsh_log("GSH_RIGHTCLICKTAGNAME 1 sCommand=" & sCommand) - Else - sCommandLeft = left(sParseStr,(nTemp - 1)) - nTemp = nLen - nTemp - 5 - If nTemp < 1 Then - sCommandRight = "" - Else - sCommandRight = right(sParseStr,(nTemp)) - End If -' gsh_log("GSH_RIGHTCLICKTAGNAME 2 sCommand=" & sCommand) - - sCommand = sCommandLeft & sTagName & sCommandRight -' id = shell(sCommand,1) - End If - id = window.parent.external.shell(sCommand,1) - End If -'errorhandler: -'gsh_log_e("GSH_DEMANDTRENDBTN" ) - -End Sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Procedure: WRITE FACEPLATE TAGNAME KEY VALUE''''''''''''''''''''''''''''''' -'Parameters: -' strKey - Part of path to Registry Item -' strValue - Value of string key -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_WRITEFACEPLATETAGNAMEKEYVALUE(strKey, strValue) -'gsh_log_s("GSH_WRITEFACEPLATETAGNAMEKEYVALUE " & "strKey=" & strKey & ",strValue=" & strValue ) - dim strRegLocation - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_FACEPLATE_TAGS & strKey - 'gsh_log("GSH_WRITEFACEPLATETAGNAMEKEYVALUE checkPoint strRegLocation=" & strRegLocation) - GSH_WRITETOREGISTRY strRegLocation,strValue,"REG_SZ" -'gsh_log_e("GSH_WRITEFACEPLATETAGNAMEKEYVALUE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: READ FACEPLATE TAGNAME KEY VALUE ''''''''''''''''''''''''' -'Parameters: -' strKey - Part of path to Registry Item -' defaultString - Default Value if error or nothing found -'Returns: -' value of registry item or parameter of defaultString -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_READFACEPLATETAGNAMEKEYVALUE(strKey, defaultString) -'gsh_log_s("GSH_READFACEPLATETAGNAMEKEYVALUE" & " strKey=" & strKey & ",defaultString=" & defaultString ) - dim tempString, strRegLocationm, tempReturn - strRegLocation = GSH_REGISTRY_BASE & GSH_REGISTRY_FACEPLATE_TAGS & strKey - 'gsh_log("GSH_READFACEPLATETAGNAMEKEYVALUE checkPoint strRegLocation=" & strRegLocation) - tempString = GSH_READREGISTRY(strRegLocation,defaultString) - if tempString = "" then - tempReturn = defaultString - else - tempReturn = tempString - End If - GSH_READFACEPLATETAGNAMEKEYVALUE = tempReturn -'gsh_log_e("GSH_READFACEPLATETAGNAMEKEYVALUE returning >>>" & tempReturn&"<<<") -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'Function: GSH_FP_TAG_CHANGED '''''''''''''''''''''''''''''''''''''' -' Sets registry settings for faceplates -'Parameters: -' tagname - tag name of new tag user wants displayed in faceplate -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TAG_CHANGED(tagname) -on error resume next -'gsh_log_s("GSH_FP_TAG_CHANGED tagname=" & tagname) - - dim vTagFamily - - 'Make tagname the focus tag - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_FOCUSTAG,tagname - 'Need to take care of associate tags as well - vTagFamily = GSH_READTAGINFORMATIONKEYVALUE(tagname, GSH_REGKEY_TAGFAM, "") - 'Store Tag Family in Display Communication Mailbox - GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE GSH_REGKEY_TAGFAM,vTagFamily - - 'Update faceplate - call GSH_UpdateFaceplate - - 'Comment out by Cuong Ly on Jun 12, 2007 - 'call GSH_UpdateFaceplate(tagname) '-> GSH_UpdateFaceplate take no paramter. -'put new tagname into current -'move current to prior1, prior1 to prior2, etc - for cnt = 1 to 4 - call GSH_WRITEFACEPLATETAGNAMEKEYVALUE(GSH_REGKEY_FACEPLATE_PRIOR&cstr(6-cnt),GSH_READFACEPLATETAGNAMEKEYVALUE(GSH_REGKEY_FACEPLATE_PRIOR&cstr(6-cnt-1),"")) - Next - call GSH_WRITEFACEPLATETAGNAMEKEYVALUE(GSH_REGKEY_FACEPLATE_PRIOR&cstr(1),GSH_READFACEPLATETAGNAMEKEYVALUE(GSH_REGKEY_FACEPLATE_CURRENT,"")) - call GSH_WRITEFACEPLATETAGNAMEKEYVALUE(GSH_REGKEY_FACEPLATE_CURRENT,tagname) -'gsh_log_e("GSH_FP_TAG_CHANGED") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_SHOWNAMESBTN_ONCLICK -'Function: Toggles the visible flag for tag name labels and changes the -'button text label between Show and Hide Names, then updates all shapes -'06/27/07 Removed call to GSH_UPDATESHAPESONDISPLAY on all 3 displays -' this is now being handled by the onperiodicupdate event handler on each pg -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_FP_SHOWNAMESBTN_ONCLICK (oShape) -'gsh_log_S("GSH_FP_SHOWNAMESBTN_ONCLICK oShape = "& oShape.id) - -Dim sIsTagNameVisible, sPushbuttonLabel - sIsTagNameVisible = GSH_FALSE - sPushbuttonLabel = "Show Names" - if (strcomp(oShape.value,"Show Names", vbtextcompare) = 0) then - sIsTagNameVisible = GSH_TRUE - sPushbuttonLabel = "Hide Names" - end if - - GSH_TAGNAMELABEL_SET_VISIBILITYSTATUS(sIsTagNameVisible) - - oShape.value = sPushbuttonLabel -'gsh_log_e("GSH_FP_SHOWNAMESBTN_ONCLICK") -End Sub - -sub GSH_FP_SHOWNAMESBTNPERIODICUPDATE - Dim sPushbuttonLabel - sPushbuttonLabel = "Show Names" - dim tagLabelVisibility - tagLabelVisibility = GSH_TAGNAMELABEL_GET_VISIBILITYSTATUS() - if (strcomp(tagLabelVisibility,GSH_TRUE, vbtextcompare) = 0) then - sPushbuttonLabel = "Hide Names" - end if - btn_ShowNames.value = sPushbuttonLabel -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_ACKALARMBUTTONCLICK -'Function: Toggles the acknowlege alarm flag to trigger an acknowledge event -' in the alarm summary page -'TODO: update -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_ACKALARMBUTTONCLICK - on error resume next - ConAlpTagname.focus - window.external.Application.Document.ParentWindow.external.InvokeMenu2 "Acknowledge Alarm" -end sub - -function GSH_FP_VALIDATETAG (sTagname) -'gsh_log_s "GSH_FP_VALIDATETAG <<<<<<" & sTagname - dim sFaceplateName, tempReturn - - 'Comment out by Cuong Ly, Jun 12, 2007. Not sure what this does - 'but it gave error - 'call DisplayDataRepository.PutValue (GSH_SDR_INTERIMPOINT, sTagname) - -'for i=1 to 1000 -'GSH_LOG i -'next - 'if ConAlpTagname.DataExists(GSH_SDR_INTERIMPOINT & ".PointID") then - sFaceplateName = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_TagFacePlate, "Error") -' gsh_log "Data Exists? " & ConAlpTagname.DataExists(GSH_SDR_INTERIMPOINT & ".PointID") & " sFaceplateName? " & sFaceplateName -' if ConAlpTagname.DataExists(GSH_SDR_INTERIMPOINT & ".PointID") or strcomp(sFaceplateName, "Error",vbtextcompare) <> 0 then - - if strcomp(sFaceplateName, "Error",vbtextcompare) <> 0 then - tempReturn = true - else - tempReturn = false - end if - GSH_FP_VALIDATETAG = tempReturn -'gsh_log_e "GSH_FP_VALIDATETAG returns >>>>>>>>>>>" & tempReturn -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TXTNEWTAGNAME_ONCHANGE -'Function: Hides Tagname entry objects and updates the Current Point -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TXTNEWTAGNAME_ONCHANGE -'gsh_log_s "GSH_FP_TXTNEWTAGNAME_ONCHANGE" - txt_newTagname.style.visibility = "hidden" - cmb_tagnames.style.visibility = "hidden" - if (btn_EnterTagName.disabled) then 'added this check because this event was firing twice sequentially - if GSH_FP_VALIDATETAG (txt_newTagname.value) then - GSH_FP_TAG_CHANGED(txt_newTagname.value) - else - msgbox "This Tag does not exist." - end if - btn_EnterTagName.disabled = false - end if - window.clearInterval(GSH_FPTimerId) - txt_newTagname.CancelChange -'gsh_log_e "GSH_FP_TXTNEWTAGNAME_ONCHANGE" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_CMBTAGNAMES_ONACTIVATE -'Function: Refreshs the dropdown list to the last 5 tags used -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_CMBTAGNAMES_ONACTIVATE -'gsh_log_s "GSH_FP_CMBTAGNAMES_ONACTIVATE" -cmb_tagnames.ResetContent - for cnt = 1 to 5 - cmb_tagnames.AddString GSH_READFACEPLATETAGNAMEKEYVALUE(GSH_REGKEY_FACEPLATE_PRIOR&cstr(cnt),"") - Next -'gsh_log_e "GSH_FP_CMBTAGNAMES_ONACTIVATE" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_CMBTAGNAMES_ONCHANGE -'Function: Hides Tagname entry objects and updates the Current Point -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_CMBTAGNAMES_ONCHANGE -'gsh_log_s "GSH_FP_CMBTAGNAMES_ONCHANGE" - cmb_tagnames.style.visibility = "Hidden" - txt_newTagname.style.visibility = "hidden" - GSH_FP_TAG_CHANGED(cmb_tagnames.value) - btn_EnterTagName.disabled = false - window.clearInterval(GSH_FPTimerId) -'gsh_log_e "GSH_FP_CMBTAGNAMES_ONCHANGE" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_LAUNCHPOINTDETAILPAGE -'Function: Calls system detail page -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_LAUNCHPOINTDETAILPAGE -'gsh_log_s "GSH_FP_LAUNCHPOINTDETAILPAGE" - ConAlpTagname.focus - window.external.Application.Document.ParentWindow.external.InvokeMenu2 "Request Point Detail" -'gsh_log_e "GSH_FP_LAUNCHPOINTDETAILPAGE" -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_LAUNCHHOMEDISPLAYS -'Function: Launches T2, T3 and T4 for current point -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_LAUNCHHOMEDISPLAYS -'sh_log_s "GSH_FP_LAUNCHHOMEDISPLAYS" - Dim sOnDispT2, sOnDispT3, sOnDispT4, sHomeDispT2, sHomeDispT3, sHomeDispT4 - Dim sDispLocation - - sOnDispT2 = GSH_READDISPLAYCOMMUNICATIONKEYVALUE("Type2Filename","") - sOnDispT3 = GSH_READDISPLAYCOMMUNICATIONKEYVALUE("Type3Filename","") - sOnDispT4 = GSH_READDISPLAYCOMMUNICATIONKEYVALUE("Type4Filename","") - - sHomeDispT2 = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, "Type2HomeDispFN", "") - sHomeDispT3 = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, "Type3HomeDispFN", "") - sHomeDispT4 = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, "Type4HomeDispFN", "") - - sDispLocation = GSH_READDISPLAYNAMES("") - if strcomp(sHomeDispT3, "", vbtextcompare) <> 0 then - if strcomp(sOnDispT3, sHomeDispT3, vbtextcompare) <> 0 then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T3FN,sHomeDispT3) - window.navigate( sDispLocation & sHomeDispT3 & GSH_DISPLAYFILEEXTENSION ) - end if - end if - if strcomp(sHomeDispT4, "", vbtextcompare) <> 0 then - if strcomp(sOnDispT4, sHomeDispT4, vbtextcompare) <> 0 then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sHomeDispT4) - window.navigate( sDispLocation & sHomeDispT4 & GSH_DISPLAYFILEEXTENSION ) - end if - end if - if strcomp(sHomeDispT2, "", vbtextcompare) <> 0 then - if strcomp(sOnDispT2, sHomeDispT2, vbtextcompare) <> 0 then - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T2FN,sHomeDispT2) - window.navigate( sDispLocation & sHomeDispT2 & GSH_DISPLAYFILEEXTENSION ) - end if - end if -'sh_log_e "GSH_FP_LAUNCHHOMEDISPLAYS" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_ENTRYFIELD_ONCHANGE -'Function: If there is a change, hide the entry field, -' set the data value, and clear the Timer -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_ENTRYFIELD_ONCHANGE (oShapeObj, sParamName, nTimerID) -if not(isNull(oShapeObj.value) or isEmpty(oShapeObj.value)) then - call GSH_HIDESUBSHAPE(oShapeObj) - ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sParamName) = oShapeObj.value - window.clearInterval(nTimerID) - oShapeObj.CancelChange -end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_SHOWNOALARM -'Function: Unlike other shapes, the alarm status display on the fp doesn't -' show the outline when not in alarm. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_SHOWNOALARM(oShape) - call GSH_SHOWNOALARM(oShape) - oShape.objects("outline").style.visibility = GSH_HIDDEN -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_GENERAL_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, ShowNames Button, Detail Trend -' 06/08/07 Removed the line to write the current FP Filename to the -' Registry mailbox because it is no longer needed in GSH_UpdateFaceplate. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_GENERAL_ONPAGECOMPLETE -'gsh_log_s "GSH_FP_GENERAL_ONPAGECOMPLETE" -on error resume next - document.title = CSTR("fp") - - txt_Description.value = cStr(GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_REGKEY_TAGDESCRIPTION, defaultString)) - txt_Keyword.value = cStr(GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_REGKEY_KEYWORD, defaultString)) - txt_Units.value = cStr(GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_REGKEY_UNITS, defaultString)) - - 'Initialize the ShowNames button label - call GSH_FP_SHOWNAMESBTNPERIODICUPDATE - window.clearInterval(GSH_FP_ShowNamesBtnTimerId) - GSH_FP_ShowNamesBtnTimerId = window.setInterval("GSH_FP_SHOWNAMESBTNPERIODICUPDATE", GSH_FP_SHOWNAMESBTNUPDATEPERIOD_SECS * 1000) - 'Start the detail trend timer and periodic update function - call GSH_FP_DetailTrendInitialize(ConAlpTagname.value) - window.clearInterval(GSH_DetailTrendUpdateTimerId) - GSH_DetailTrendUpdateTimerId = window.setInterval("GSH_DETAILTRENDPERIODICUPDATE(" & ConAlpTagname.id & ")", GSH_DETAILTRENDUPDATEPERIOD_SECS * 1000) -'gsh_log_e "GSH_FP_GENERAL_ONPAGECOMPLETE" -end sub - - -sub GSH_FP_GENERAL_INIT_STSMSG(dataScriptObj, stsMsgComboObj, stsMsgOffNormalObj, point, parameter) -'gsh_log_s("GSH_FP_GENERAL_INIT_STSMSG") -on error resume next - dim i, message, stsMsgType, numOfMessage - - 'Enter states for the StsMsg combo - stsMsgComboObj.AddString(GSH_NONE) - stsMsgType = GSH_READTAGINFORMATIONKEYVALUE(dataScriptObj.value, GSH_REGKEY_STSMSGLIST, defaultString) - - - numOfMessage = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & "NoOfMessages", "0") - - dim stsMsg_flag - stsMsg_flag = dataScriptObj.DataValue(point &"." ¶meter) - - stsMsgComboObj.value = GSH_NONE - stsMsgOffNormalObj.style.visibility = GSH_HIDDEN - - for i = 1 to numOfMessage - message = GSH_READSTSMSGLISTSKEYVALUE(stsMsgType & "\" & GSH_REGKEY_STATUSMESSAGE &i, "") - ConCboStsMsg.AddString(message) - - if i = stsMsg_flag then - stsMsgComboObj.value = message - stsMsgOffNormalObj.style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e("GSH_FP_GENERAL_INIT_STSMSG") -end sub - - -sub GSH_FP_STSMSG_ONCHANGE(dataScriptObj, stsMsgComboObj, stsMsgOffNormalObj, point, parameter) - - if stsMsgComboObj.selectedIndex <> -1 then - dataScriptObj.DataValue(point & "." ¶meter) = stsMsgComboObj.selectedIndex - - if stsMsgComboObj.selectedIndex <> 0 then - stsMsgOffNormalObj.style.visibility = GSH_VISIBLE - else - stsMsgOffNormalObj.style.visibility = GSH_HIDDEN - end if - - end if - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_GENERAL_ONPAGEUNLOAD -'Function: clears timers -'08/14/2007 - add GSH_PageUnload function to clear WshShell object -' when faceplates are unloaded. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_GENERAL_ONPAGEUNLOAD -'gsh_log_s "GSH_FP_GENERAL_ONPAGEUNLOAD" - window.clearInterval(GSH_FP_ShowNamesBtnTimerId) - window.clearInterval(GSH_DetailTrendUpdateTimerId) - GSH_PageUnload -'gsh_log_e "GSH_FP_GENERAL_ONPAGEUNLOAD" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_ANALOG_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Alarm Limits, Detail Trend -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_ANALOG_ONPAGECOMPLETE -'gsh_log_s "GSH_FP_ANALOG_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE - dim nPVFormat - nPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - txt_euhi.value = FORMATNUMBER(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_EUHI),nPVFormat,-2, 0, 0) - txt_eulo.value = FORMATNUMBER(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_EULO),nPVFormat,-2, 0, 0) - call GSH_FP_SCADA_ShowAlarmLimits 'Setup Alarm Limits -'gsh_log_e "GSH_FP_ANALOG_ONPAGECOMPLETE" -end sub - - -sub GSH_FP_DIGITALOUTPUT_ONPAGECOMPLETE -'gsh_log_s "GSH_FP_DIGITALOUTPUT_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to 3 '(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".NumberOfInputStates")-1) - page.all("txt_OPState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".State" & i & "Descriptor") - - if strcomp(page.all("txt_OPState"&i).value,"",vbtextcompare)<>0 then - page.all("TxtOP"&i).style.visibility = GSH_VISIBLE - page.all("ShpStateOP"&i).style.visibility = GSH_VISIBLE - page.all("txt_OPState"&i).style.visibility = GSH_VISIBLE - end if - next -' call GSH_FP_DIGITAL_SHOWALARMSTATES 'Setup Alarm Limits -'gsh_log_e "GSH_FP_DIGITALOUTPUT_ONPAGECOMPLETE" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_DIGITAL_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Alarm Limits, Detail Trend -' 06/28/07 having the FP_Digital to handle 4 PV states -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_DIGITAL_ONPAGECOMPLETE -'gsh_log_s "GSH_FP_DIGITAL_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to 3 '(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".NumberOfInputStates")-1) - page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".State" & i & "Descriptor") - - if strcomp(page.all("txt_PVState"&i).value,"",vbtextcompare)<>0 then - page.all("TxtPV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStatePV"&i).style.visibility = GSH_VISIBLE - page.all("txt_PVState"&i).style.visibility = GSH_VISIBLE - end if - next -' call GSH_FP_DIGITAL_SHOWALARMSTATES 'Setup Alarm Limits -'gsh_log_e "GSH_FP_DIGITAL_ONPAGECOMPLETE" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TPS_DIGITAL_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Detail Trend -' 09/23/09 -' n is number of states -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TPS_DIGITAL_ONPAGECOMPLETE(n) -'gsh_log_s "GSH_FP_TPS_DIGITAL_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to (n-1) '(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".NumberOfInputStates")-1) - 'page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".Statetxt(" &i & ")") - page.all("txt_PVState"&i).value = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, "STATETXT(" &i &")", GSH_NONE) - if strcomp(page.all("txt_PVState"&i).value,"",vbtextcompare)<>0 then - page.all("TxtPV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStatePV"&i).style.visibility = GSH_VISIBLE - page.all("txt_PVState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_TPS_DIGITAL_ONPAGECOMPLETE" -end sub - -'GSH_FP_TPS_DIGITALOUTPUT_ONPAGECOMPLETE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TPS_DIGITAL_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Detail Trend -' 09/23/09 -' n is number of states -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TPS_DIGITALOUTPUT_ONPAGECOMPLETE(n) -'gsh_log_s "GSH_FP_TPS_DIGITALOUTPUT_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to (n-1) '(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".NumberOfInputStates")-1) - page.all("txt_OPState"&i).value = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, "STATETXT(" &i &")", GSH_NONE) - if strcomp(page.all("txt_OPState"&i).value,"",vbtextcompare)<>0 then - page.all("TxtOP"&i).style.visibility = GSH_VISIBLE - page.all("ShpStateOP"&i).style.visibility = GSH_VISIBLE - page.all("txt_OPState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_TPS_DIGITALOUTPUT_ONPAGECOMPLETE" -end sub - - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TPS_DIGITALCOMPOSITE_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Detail Trend -' 09/23/09 -' n is number of states -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TPS_DIGITALCOMPOSITE_ONPAGECOMPLETE(n) -'gsh_log_s "GSH_FP_TPS_DIGITAL_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE -' for i = 0 to (ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".NOSTATES")-1) - for i = 0 to (n-1) - page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".Statetxt(" &i & ")") - if strcomp(page.all("txt_PVState"&i).value,"",vbtextcompare)<>0 then - page.all("TxtPV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStatePV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStateOP"&i).style.visibility = GSH_VISIBLE - page.all("txt_PVState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_TPS_DIGITALCOMPOSITE_ONPAGECOMPLETE" -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TPS_DIGITALCOMPOSITE_HG_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Detail Trend -' 09/23/09 -' n is number of states -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TPS_DIGITALCOMPOSITE_HG_ONPAGECOMPLETE(n) -'gsh_log_s "GSH_FP_TPS_DIGITAL_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE -' for i = 0 to (ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".NOSTATES")-1) - for i = 0 to (n-1) - page.all("txt_PVState"&i).value = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, "STATETXT("&i&")", "") - if strcomp(page.all("txt_PVState"&i).value,"",vbtextcompare)<>0 then - page.all("TxtPV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStatePV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStateOP"&i).style.visibility = GSH_VISIBLE - page.all("txt_PVState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_TPS_DIGITALCOMPOSITE_HG_ONPAGECOMPLETE" -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TPS_DIGITAL_HG_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Detail Trend -' 09/23/09 -' n is number of states -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TPS_DIGITAL_HG_ONPAGECOMPLETE(n) -'gsh_log_s "GSH_FP_TPS_DIGITAL_HG_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to (n-1) '(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".NumberOfInputStates")-1) -' j = i+1 -'Option1 (prefer): Jamie to replace the parameters .StateiDescriptor by the correct TPS parameters -' page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".Statetxt(" & j & ")") - -'Option2: use states from the registry. Comment this out if we use option1 - page.all("txt_PVState"&i).value = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, "STATETXT("&i&")", "") - - if strcomp(page.all("txt_PVState"&i).value,"",vbtextcompare)<>0 then - page.all("TxtPV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStatePV"&i).style.visibility = GSH_VISIBLE - page.all("txt_PVState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_TPS_DIGITAL_HG_ONPAGECOMPLETE" -end sub - - -sub GSH_FP_SCADA_DIGITALCOMPOSITE_ONPAGECOMPLETE -'gsh_log_s "GSH_FP_SCADA_DIGITALCOMPOSITE_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to 3 '(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".NumberOfInputStates")-1) - page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".State" & i & "Descriptor") - - - if strcomp(page.all("txt_PVState"&i).value,"",vbtextcompare)<>0 then - page.all("TxtPV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStatePV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStateOP"&i).style.visibility = GSH_VISIBLE - page.all("txt_PVState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_SCADA_DIGITALCOMPOSITE_ONPAGECOMPLETE" -end sub - -sub GSH_FP_DIGITAL_SHOWALARMSTATES -'gsh_log_s("GSH_FP_DIGITAL_SHOWALARMSTATES") -dim alarmEnabled, alarmPri - for i = 0 to 1 - alarmEnabled = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".State"&i&"AlarmEnabled") - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".State"&i&"AlarmPriority") - call GSH_FP_DIGITAL_SHOWALARMLINE(page.all("TxtPV"&i), page.all("ShpState"&i),page.all("LinAlm"&i), alarmEnabled, alarmPri) - next -'gsh_log_e("GSH_FP_DIGITAL_SHOWALARMSTATES") -end sub - -sub GSH_FP_DIGITAL_SHOWALARMLINE(oLabel, oState, oLine, alarmEnabled, alarmPri) -'gsh_log_s("GSH_FP_DIGITAL_SHOWALARMLINE oLine=" & oLine.id & ", alarmEnabled=" & alarmEnabled & ", alarmPri=" & alarmPri) -On error resume next -If alarmPri>0 then - if alarmEnabled>0 then - select case alarmPri - case 1 oLine.styleClass="AlarmLowColor" - case 2 oLine.styleClass="AlarmHighColor" - case 3 oLine.styleClass="AlarmEmergColor" - end select - oLine.style.visibility = GSH_VISIBLE - end if - oLabel.style.visibility = GSH_VISIBLE - oState.style.visibility = GSH_VISIBLE -end if -'gsh_log_e("GSH_FP_DIGITAL_SHOWALARMLINE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' GSH_FP_DIGITAL_SHOWALARMBAR -' give the bar line correct color based on the given alarm code. -' -' 08/10/2007 - Add this function to show a bar beside -' state that has alarm. -' Do not check if a state has alarm enabled as it required additional -' parameter. -' Reference: issue #722 (Cuong Ly) -' -sub GSH_FP_DIGITAL_SHOWALARMBAR(numOfStates) - -'gsh_log_s("GSH_FP_DIGITAL_SHOWALARMBAR numOfStates = " &numOfStates) - - dim n, alarmPri - n = numOfStates-1 - for i = 0 to n - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".State"&i&"AlarmPriority") - alarmEnabled = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".State"&i&"AlarmEnabled") - - if alarmEnabled>0 then - if alarmPri > 0 then - select case alarmPri - case 1 page.all("ln_AlmBar"&i).styleClass=GSH_CSSALARMLOWACK - case 2 page.all("ln_AlmBar"&i).styleClass=GSH_CSSALARMHIGHACK - case 3 page.all("ln_AlmBar"&i).styleClass=GSH_CSSALARMEMERGENCYACK - end select - page.all("ln_AlmBar"&i).style.visibility = GSH_VISIBLE - else - page.all("ln_AlmBar"&i).style.visibility = GSH_HIDDEN - end if - else - page.all("ln_AlmBar"&i).style.visibility = GSH_HIDDEN - end if - next - -'gsh_log_e("GSH_FP_DIGITAL_SHOWALARMBAR ") - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_C200_DIGITAL_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Alarm Limits, Detail Trend -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_C200_DIGITAL_ONPAGECOMPLETE(sFunctionBlock) -'gsh_log_s("GSH_FP_C200_DIGITAL_ONPAGECOMPLETE >>>> sFunctionBlock = " & sFunctionBlock) - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to 1 - page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "StateText(" & i+4 & ")") - next -'gsh_log_e "GSH_FP_C200_DIGITAL_ONPAGECOMPLETE" -end sub - -sub GSH_FP_C200_DIGITALCOMPOSITE_ONPAGECOMPLETE(sFunctionBlock) -'gsh_log_s ("GSH_FP_C200_DIGITALCOMPOSITE_ONPAGECOMPLETE>>>> sFunctionBlock = " & sFunctionBlock) - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to (ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "NUMSTATES")-1) - if strcomp(page.all("txt_PVState"&i).value,"",vbtextcompare)<>0 then - page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "StateText(" & i+4 & ")") - page.all("TxtPV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStatePV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStateOP"&i).style.visibility = GSH_VISIBLE - page.all("txt_PVState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_C200_DIGITALCOMPOSITE_ONPAGECOMPLETE" -end sub - -sub GSH_FP_C200_DIGITALCOMPOSITE_NOOP_ONPAGECOMPLETE(sFunctionBlock) -' -'Added this subroutine for the No Output Faceplate - 04Jan2008 - JE -' -'gsh_log_s ("GSH_FP_C200_DIGITALCOMPOSITE_NOOP_ONPAGECOMPLETE>>>> sFunctionBlock = " & sFunctionBlock) - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to (ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "NUMSTATES")-1) - if strcomp(page.all("txt_PVState"&i).value,"",vbtextcompare)<>0 then - page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "StateText(" & i+4 & ")") - page.all("TxtPV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStatePV"&i).style.visibility = GSH_VISIBLE -' page.all("ShpStateOP"&i).style.visibility = GSH_VISIBLE - page.all("txt_PVState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_C200_DIGITALCOMPOSITE_NOOP_ONPAGECOMPLETE" -end sub - -sub GSH_FP_C200_DIGITALCOMPOSITE_NOPV_ONPAGECOMPLETE(sFunctionBlock) -'gsh_log_s ("GSH_FP_C200_DIGITALCOMPOSITE_NOPV_ONPAGECOMPLETE>>>> sFunctionBlock = " & sFunctionBlock) - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to (ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "NUMSTATES")-1) - if strcomp(page.all("txt_PVState"&i).value,"",vbtextcompare)<>0 then - page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "StateText(" & i+4 & ")") - page.all("TxtPV"&i).style.visibility = GSH_VISIBLE - page.all("ShpStateOP"&i).style.visibility = GSH_VISIBLE - page.all("txt_PVState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_C200_DIGITALCOMPOSITE_NOPV_ONPAGECOMPLETE" -end sub - -sub GSH_FP_C200_DIGITALOUTPUT_ONPAGECOMPLETE(sFunctionBlock) -'gsh_log_s ("GSH_FP_C200_DIGITALOUTPUT_ONPAGECOMPLETE>>>> sFunctionBlock = " & sFunctionBlock) - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to (ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "NUMSTATES")-1) - if strcomp(page.all("txt_OPState"&i).value,"",vbtextcompare)<>0 then - page.all("txt_OPState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "StateText(" & i+4 & ")") - page.all("TxtOP"&i).style.visibility = GSH_VISIBLE - page.all("ShpStateOP"&i).style.visibility = GSH_VISIBLE - page.all("txt_OPState"&i).style.visibility = GSH_VISIBLE - end if - next -'gsh_log_e "GSH_FP_C200_DIGITALOUTPUT_ONPAGECOMPLETE" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_C200_DIGITAL_FLAGA_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Alarm Limits, Detail Trend -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_C200_DIGITAL_FLAGA_ONPAGECOMPLETE(sFunctionBlock) -'gsh_log_s("GSH_FP_C200_DIGITAL_FLAGA_ONPAGECOMPLETE >>>> sFunctionBlock = " & sFunctionBlock) - call GSH_FP_GENERAL_ONPAGECOMPLETE - for i = 0 to 1 - page.all("txt_PVState"&i).value = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sFunctionBlock & "." & "StateText(" & i & ")") - next -'gsh_log_e "GSH_FP_C200_DIGITAL_FLAGA_ONPAGECOMPLETE" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_C200_SELO_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Alarm Limits, Detail Trend -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_C200_SELO_ONPAGECOMPLETE -'gsh_log_s "GSH_FP_C200_SELO_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE - For i = 3 to 4 - if not(ConAlpTagname.isNan(GSH_SDR_CURRENTPOINT &"."&CTLBLK&".X("&i&")")) then - page.all("TxtBypassX00"&i).style.visibility = GSH_VISIBLE - page.all("ConCboBypass"&i).style.visibility = GSH_VISIBLE - end if - Next -'gsh_log_e "GSH_FP_C200_SELO_ONPAGECOMPLETE" -end sub - -sub GSH_FP_C200_SHOWWINDUPSTATUS(sWindupCode) -'gsh_log_s("GSH_FP_C200_SHOWWINDUPSTATUS " & "sWindupCode=" & sWindupCode) -'dim tempReturn: tempReturn = true - - page.all("plg_OpLow").style.visibility = GSH_HIDDEN - page.all("plg_OpHigh").style.visibility = GSH_HIDDEN - page.all("txt_Initialization").style.visibility = GSH_HIDDEN - page.all("TxtInitialization").style.visibility = GSH_HIDDEN - - Select Case sWindupCode - Case GSH_WINDUP_LO - page.all("plg_OpLow").style.visibility = GSH_VISIBLE - Case GSH_WINDUP_HI - page.all("plg_OpHigh").style.visibility = GSH_VISIBLE - Case GSH_WINDUP_HILO - page.all("txt_Initialization").style.visibility = GSH_VISIBLE - page.all("TxtInitialization").style.visibility = GSH_VISIBLE - Case else - - end Select -'gsh_log_e("GSH_FP_C200_SHOWWINDUPSTATUS returns >>>>>>>>> "&tempReturn) -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_C200_ANALOG_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Alarm Limits, Detail Trend -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_C200_ANALOG_ONPAGECOMPLETE(sInputFunctionBlock, sControlFunctionBlock) -'gsh_log_s "GSH_FP_C200_ANALOG_ONPAGECOMPLETE sFunctionBlock "& sFunctionBlock - dim nPVFormat - call GSH_FP_GENERAL_ONPAGECOMPLETE - nPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - txt_euhi.value = formatnumber(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sControlFunctionBlock & ".PVEUHI"), nPVFormat) - txt_eulo.value = Formatnumber(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sControlFunctionBlock & ".PVEULO"), nPVFormat) - call GSH_FP_C200_ShowAlarmLimits (sInputFunctionBlock) 'Setup Alarm Limits -'gsh_log_e "GSH_FP_C200_ANALOG_ONPAGECOMPLETE" -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_C200_ShowAlarmLimits -'function: Sets the style and position of the 4 alarm limits on the PV Bar graph -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_C200_ShowAlarmLimits (sInputFunctionBlock) -dim alarmlim, alarmPri 'to do: handle null return from the limit and priority values - 'Alarm 1 - if ConAlpTagname.IsNan(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvllalm.tp") then - txt_alarmlim1.value = "---" - RecAlarm1.style.visibility = GSH_HIDDEN - else - alarmlim = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvllalm.tp") - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvllalm.pr") - If (alarmPri > 1) then - txt_alarmlim1.value = GSH_FormatPVTextTag(ConAlpTagname.value,alarmlim) - else - txt_alarmlim1.value = "---" - end if - call GSH_FP_C200_ShowAlarmRec(RecAlarm1, alarmlim, alarmPri) - end if - 'Alarm 2 - if ConAlpTagname.IsNan(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvloalm.tp") then - txt_alarmlim2.value = "---" - RecAlarm2.style.visibility = GSH_HIDDEN - else - alarmlim = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvloalm.tp") - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvloalm.pr") - If (alarmPri > 1) then - txt_alarmlim2.value = GSH_FormatPVTextTag(ConAlpTagname.value,alarmlim) - else - txt_alarmlim2.value = "---" - end if - call GSH_FP_C200_ShowAlarmRec(RecAlarm2, alarmlim, alarmPri) - end if - 'Alarm 3 - if ConAlpTagname.IsNan(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvhialm.tp") then - txt_alarmlim3.value = "---" - RecAlarm3.style.visibility = GSH_HIDDEN - else - alarmlim = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvhialm.tp") - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvhialm.pr") - If (alarmPri > 1) then - txt_alarmlim3.value = GSH_FormatPVTextTag(ConAlpTagname.value,alarmlim) - else - txt_alarmlim3.value = "---" - end if - call GSH_FP_C200_ShowAlarmRec(RecAlarm3, alarmlim, alarmPri) - end if - 'Alarm 4 - if ConAlpTagname.IsNan(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvhhalm.tp") then - txt_alarmlim4.value = "---" - RecAlarm4.style.visibility = GSH_HIDDEN - else - alarmlim = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvhhalm.tp") - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sInputFunctionBlock & ".pvhhalm.pr") - If (alarmPri > 1) then - txt_alarmlim4.value = GSH_FormatPVTextTag(ConAlpTagname.value,alarmlim) - else - txt_alarmlim4.value = "---" - end if - call GSH_FP_C200_ShowAlarmRec(RecAlarm4, alarmlim, alarmPri) - end if -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_C200_UpdateAlarmStatus -'Check alarm status and updates the text value for ConTxtAlmEnabled object -'Parameter: sAlarmStatusParamName = GSH_SCADA_PARAM_ALARMDISABLED or C200 param constant -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_C200_UpdateAlarmStatus (sAlarmStatusParamName) -'gsh_log_s "GSH_FP_C200_UpdateAlarmStatus" -dim sAlarmStatus - sAlarmStatus = "---" - if (ConTxtAlmEnabled.DataValue(GSH_SDR_CURRENTPOINT & "." & sAlarmStatusParamName) = 0) then - sAlarmStatus = "Disabled" - Rec_AlmEnabledOffNorm.style.visibility = GSH_VISIBLE - else - sAlarmStatus = "Enabled" - Rec_AlmEnabledOffNorm.style.visibility = GSH_HIDDEN - end if - ConTxtAlmEnabled.value = sAlarmStatus -'gsh_log_e "GSH_FP_C200_UpdateAlarmStatus" -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TPS_UpdateAlarmStatus -'Check alarm status and updates the text value for ConTxtAlmEnabled object -'Parameter: sAlarmStatusParamName = GSH_TPS_PARAM_ALARMDISABLED -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TPS_UpdateAlarmStatus (sAlarmStatusParamName) -'gsh_log_s "GSH_FP_TPS_UpdateAlarmStatus" -dim sAlarmStatus - sAlarmStatus = "---" - iAlarmStatus = ConTxtAlmEnabled.DataValue(GSH_SDR_CURRENTPOINT & "." & sAlarmStatusParamName) - if (iAlarmStatus = 0) then - sAlarmStatus = "Enabled" - Rec_AlmEnabledOffNorm.style.visibility = GSH_HIDDEN - elseif(iAlarmStatus = 1) then - sAlarmStatus = "Disabled" - Rec_AlmEnabledOffNorm.style.visibility = GSH_VISIBLE - else - sAlarmStatus = "Inhibit" - Rec_AlmEnabledOffNorm.style.visibility = GSH_VISIBLE - end if - ConTxtAlmEnabled.value = sAlarmStatus -'gsh_log_e "GSH_FP_TPS_UpdateAlarmStatus" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_C200_NUMERICA_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Alarm Limits, Detail Trend -' Added JE 14Jan08 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_C200_NUMERICA_ONPAGECOMPLETE(sInputFunctionBlock, sControlFunctionBlock) -'gsh_log_s "GSH_FP_C200_NUMERICA_ONPAGECOMPLETE sFunctionBlock "& sFunctionBlock - dim nPVFormat - call GSH_FP_GENERAL_ONPAGECOMPLETE - nPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - txt_euhi.value = formatnumber(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sControlFunctionBlock & ".PVHILM"), nPVFormat) '.PVEUHI? - txt_eulo.value = Formatnumber(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & sControlFunctionBlock & ".PVLOLM"), nPVFormat) '.PVEULO? -'gsh_log_e "GSH_FP_C200_NUMERICA_ONPAGECOMPLETE" -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_HORIZONTALPVBAR_ONUPDATE -'Update function for the shape SCADA_HORIZONTALPVBAR -'Parameter: Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 06/15/07 Initialize alarm state with GSH_SHOWALARMS_WOOUTLINE -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_HORIZONTALPVBAR_ONUPDATE(oShape, flag) -'gsh_log_s "GSH_SCADA_HORIZONTALPVBAR_ONUPDATE" - If flag = 0 then - call GSH_SHOWALARMS_WOOUTLINE(GSH_NOALARMCODE,oShape) 'show normal - dim nPVValue, iPVValue, iRangeHi, iRangeLo - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_DISABLED - else - call GSH_SHOWALARMS_WOOUTLINE(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY), oShape) - End If - if GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true, false, false) then - oShape.objects("ind_PVBar").value = 0 - oShape.objects("txtBadPV").style.visibility = GSH_VISIBLE - else - oShape.objects("txtBadPV").style.visibility = GSH_HIDDEN - nPVValue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - ' gsh_log "PV="& nPVValue - iRangeHi = CInt(oShape.GetCustomProperty("Value", "txtHighLimit")) - iRangeLo = CInt(oShape.GetCustomProperty("Value", "txtLowLimit")) - if (nPVValue >= iRangeHi) then - iPVValue = 100 - ElseIf (nPVValue <= iRangeLo) then - iPVValue = 0 - else - iPVValue = Cint(((nPVValue-iRangeLo)* 100 )/ (iRangeHi - iRangeLo)) - end if - oShape.objects("ind_PVBar").value = iPVValue - ' gsh_log "PV - iRangeLo ="& nPVValue - iRangeLo & ", iRangeHi - iRangeLo="&iRangeHi - iRangeLo - end if - End If - - If flag <= 1 then - call GSH_SETSHAPEFOCUS(oShape) - End If -'gsh_log_e "GSH_SCADA_HORIZONTALPVBAR_ONUPDATE" -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_HORIZONTALPVBAR_ONUPDATE -'Update function for the shape C200_HORIZONTALPVBAR -'Parameter: Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 06/15/07 Initialize alarm state with GSH_SHOWALARMS_WOOUTLINE -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_HORIZONTALPVBAR_ONUPDATE(oShape, flag) -'gsh_log_s "GSH_C200_HORIZONTALPVBAR_ONUPDATE" - If flag = 0 then - call GSH_SHOWALARMS_WOOUTLINE(GSH_NOALARMCODE,oShape) 'show normal - dim nPVValue, iPVValue, iRangeHi, iRangeLo - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_DISABLED - else - call GSH_SHOWALARMS_WOOUTLINE(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY), oShape) - End If - - if GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true, false, false) then - oShape.objects("ind_PVBar").value = 0 - oShape.objects("txtBadPV").style.visibility = GSH_VISIBLE -' gsh_log "bad data" - else - oShape.objects("txtBadPV").style.visibility = GSH_HIDDEN - nPVValue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - iRangeHi = CInt(oShape.GetCustomProperty("Value", "txtHighLimit")) - iRangeLo = CInt(oShape.GetCustomProperty("Value", "txtLowLimit")) - if (nPVValue >= iRangeHi) then - iPVValue = 100 - ElseIf (nPVValue <= iRangeLo) then - iPVValue = 0 - else - iPVValue = Cint(((nPVValue-iRangeLo)* 100 )/ (iRangeHi - iRangeLo)) - end if - oShape.objects("ind_PVBar").value = iPVValue -' gsh_log "PV - iRangeLo ="& nPVValue - iRangeLo & ", iRangeHi - iRangeLo="&iRangeHi - iRangeLo - end if - End If - - If flag <= 1 then -' gsh_log "into focus" - call GSH_SETSHAPEFOCUS(oShape) - End If -'gsh_log_e "GSH_C200_HORIZONTALPVBAR_ONUPDATE" -end sub - - - - -'-------------------------------------START COMMON FUNCTIONS ------------------------------------------' -'.oPYo. -'8 8 -'8 .oPYo. ooYoYo. ooYoYo. .oPYo. odYo. -'8 8 8 8' 8 8 8' 8 8 8 8 8' `8 -'8 8 8 8 8 8 8 8 8 8 8 8 8 8 -'`YooP' `YooP' 8 8 8 8 8 8 `YooP' 8 8 -'------------------------------------------------------------------------------------------------------- - -' -' -' -sub GSH_SETSHAPEOFFNROMAL(oShape,isOffNormal) -'gsh_log_s("GSH_SETSHAPEOFFNROMAL oShape="&oShape.id &"isOffNormal=" &isOffNormal) - - if CBool(isOffNormal) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - elseif (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - -'gsh_log_e("GSH_SETSHAPEOFFNROMAL") -end sub - - -sub GSH_LevelIndicatorShowSALimits(oShape, iSAHigh, iSALow) -'gsh_log_s("GSH_LevelIndicatorShowSALimits oShape=" & oShape.id &"iSAHi = " &iSAHigh &"iSALo = " &iSALow) - Dim iNumPixels, iBottom - Dim iRangeHi, iRangeLo, iSAHi, iSALo - - iRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - iRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - iSAHi = CDbl(iSAHigh) - iSALo = CDbl(iSALow) - - iNumPixels = 0 - if (iSAHi >= iRangeHi) then - iNumPixels = 0 - oShape.objects("rec_SAHigh").style.visibility = GSH_HIDDEN - ElseIf (iSAHi < iRangeLo) then - iNumPixels = oShape.objects("linePVRange").style.pixelheight - else - iNumPixels = (oShape.objects("linePVRange").style.pixelheight * ((iRangeHi - iSAHi) / (iRangeHi - iRangeLo))) - end if - - oShape.objects("rec_SAHigh").style.pixeltop = oShape.objects("linePVRange").style.pixeltop - oShape.objects("rec_SAHigh").style.pixelheight = iNumPixels - - iNumPixels = 0 - if (iSALo > iRangeHi) then - iNumPixels = oShape.objects("linePVRange").style.pixelheight - ElseIf (iSALo <= iRangeLo) then - oShape.objects("rec_SALow").style.visibility = GSH_HIDDEN - else - iNumPixels = (oShape.objects("linePVRange").style.pixelheight * ((iSALo - iRangeLo) / (iRangeHi - iRangeLo))) - end if - - iBottom = (oShape.objects("linePVRange").style.pixelheight + oShape.objects("linePVRange").style.pixeltop) - - oShape.objects("rec_SALow").style.pixeltop = iBottom - iNumPixels - oShape.objects("rec_SALow").style.pixelheight = iNumPixels - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_LevelIndicatorShowSALimits",oShape) - end if - -'gsh_log_e("GSH_LevelIndicatorShowSALimits") -end sub - - -sub GSH_LevelRegCtl_SAGauge_SetFocus(oShape, isOffNormal) -'gsh_log_s("GSH_LevelRegCtl_SAGauge_SetFocus oShape="&oShape.id &"isOffNormal=" &isOffNormal) - - call GSH_SETSHAPEFOCUS(oShape) - - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_IndicatorRange").fillstyle = GSH_FILLTRANSPARENT - end if - - call GSH_SETSHAPEOFFNROMAL(oShape, isOffNormal) - - -'gsh_log_e("GSH_LevelRegCtl_SAGauge_SetFocus") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_LevelRegCtl_SAGauge_SetFocus",oShape) - end if - -end sub - -sub GSH_LevelRegCtl_SAGauge_ShowHideComponents(oShape, sAlarmCode, bInSA, isOffNormal) - - dim sHidePV - sHidePV = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPHIDEPV, GSH_CPVALUE) - if ((StrComp(sHidePV, GSH_ON,vbtextcompare) = 0) AND (StrComp(sAlarmCode, GSH_NONE,vbtextcompare) = 0) AND not(bInSA) AND (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - - oShape.objects("txt_PVvalue").style.visibility = GSH_HIDDEN - oShape.objects("outline").style.visibility = GSH_HIDDEN - oShape.objects("txt_Mode").style.visibility = GSH_HIDDEN - oShape.objects("outline_static").style.visibility = GSH_HIDDEN - else - 'Setting these two shapes as transparent get the outlines to show correctly, but does not work when in SA - if (not(bInSA) OR isOffNormal) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_IndicatorRange").fillstyle = GSH_FILLTRANSPARENT - end if - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("outline_static").style.visibility = GSH_VISIBLE - oShape.objects("txt_Mode").style.visibility = GSH_VISIBLE - end if - - -end sub - -sub GSH_LevelAnalog_SAGauge_ShowHideComponents(oShape, sAlarmCode, bInSA, isOffNormal) -'gsh_log_s("GSH_LevelAnalog_SAGauge_ShowHideComponents oShape = " &oShape.id &" sAlarmCode=" &sAlarmCode &" bInSA=" &bInSA &" isOffNormal=" &isOffNormal) - dim sHidePV - sHidePV = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPHIDEPV, GSH_CPVALUE) - - - if ((StrComp(sHidePV, GSH_ON,vbtextcompare) = 0) AND (StrComp(sAlarmCode, GSH_NONE,vbtextcompare) = 0) AND not(bInSA) AND (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - - oShape.objects("txt_PVvalue").style.visibility = GSH_HIDDEN - oShape.objects("outline").style.visibility = GSH_HIDDEN - oShape.objects("outline_static").style.visibility = GSH_HIDDEN - else - 'Setting these two shapes as transparent get the outlines to show correctly, but does not work when in SA - if (not(bInSA) OR isOffNormal) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_IndicatorRange").fillstyle = GSH_FILLTRANSPARENT - end if - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("outline_static").style.visibility = GSH_VISIBLE - end if - -'gsh_log_e("GSH_LevelAnalog_SAGauge_ShowHideComponents") -end sub - -sub GSH_QualityAnalog_SAGauge_ShowHideComponents(oShape, sAlarmCode, bInSA, isOffNormal) - - dim sHidePV - sHidePV = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPHIDEPV, GSH_CPVALUE) - if ((StrComp(sHidePV, GSH_ON,vbtextcompare) = 0) AND (StrComp(sAlarmCode, GSH_NONE,vbtextcompare) = 0) AND not(bInSA) AND (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - - oShape.objects("txt_PVvalue").style.visibility = GSH_HIDDEN - oShape.objects("outline").style.visibility = GSH_HIDDEN - oShape.objects("outline_static").style.visibility = GSH_HIDDEN - else - 'Setting these two shapes as transparent get the outlines to show correctly, but does not work when in SA - if (not(bInSA) OR isOffNormal) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_IndicatorRange").fillstyle = GSH_FILLTRANSPARENT - end if - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("outline_static").style.visibility = GSH_VISIBLE - end if - - -end sub - -sub GSH_OPDeviation_L1_ShowHideComponents(oShape, bInSA, isOffNormal) -'gsh_log_s("GSH_OPDeviation_L1_ShowHideComponents oShape = " &oShape.id & " bInSA = " &bInSA &" isOffNormal = " &isOffNormal) - dim sHidePV - sHidePV = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPHIDEPV, GSH_CPVALUE) - if ((StrComp(sHidePV, GSH_ON,vbtextcompare) = 0) AND not(bInSA) AND (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - - oShape.objects("txt_OPvalue").style.visibility = GSH_HIDDEN - oShape.objects("outline").style.visibility = GSH_HIDDEN - oShape.objects("txt_mode").style.visibility = GSH_HIDDEN - else - 'Setting these two shapes as transparent get the outlines to show correctly, but does not work when in SA - if (not(bInSA) OR isOffNormal) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_IndicatorRange").fillstyle = GSH_FILLTRANSPARENT - end if - oShape.objects("txt_OPvalue").style.visibility = GSH_VISIBLE - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("txt_mode").style.visibility = GSH_VISIBLE - end if - -'gsh_log_e("GSH_OPDeviation_L1_ShowHideComponents") -end sub - - -' -'GSH_SetObjectLocation_Vertical -'Calculate and set the location of the moving object in within the range object, in the vertical direction -' -'rangeObject: the range indicator object -'movingObject: is the shape whom location need to be set. -'value (double): the value need to determine where the moving object needed to be located -'rangeHi (double): max value of the range -'rangeLo (double): min value of the range -sub GSH_SetObjectLocation_Vertical(rangeObject, movingObject, value, rangeHi, rangeLo) -'gsh_log_s("GSH_SetObjectLocation_Vertical rangeObject = " &rangeObject.id &" movingObject = " &movingObject.id &" value = " &value &"rangeHi = " &rangeHi &"rangeLo = " &rangeLo) -On Error Resume Next - - Dim iNumPixels, iBottom - - iNumPixels = 0 - if (value > rangeHi) then - iNumPixels = rangeObject.style.pixelheight - ElseIf (value < rangeLo) then - iNumPixels = 0 - else - iNumPixels = (rangeObject.style.pixelheight * ((value - rangeLo) / (rangeHi - rangeLo))) - end if - iBottom = rangeObject.style.pixelheight + rangeObject.style.pixeltop - movingObject.style.pixeltop = iBottom - iNumPixels - (movingObject.style.pixelheight / 2) - - -' gsh_log_e("GSH_SetObjectLocation_Vertical movingObject.style.pixeltop = " &movingObject.style.pixeltop) - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SetObjectLocation_Vertical", movingObject) - end if -end sub - - -' -'GSH_SetObjectLocation_Horizontal -'Calculate and set the location of the moving object in within the range object, in the horizontal direction -' -'rangeObject: the range indicator object -'movingObject: is the shape which location need to be set. -'value (double): the value need to determine where the moving object needed to be located -'rangeHi (double): max value of the range -'rangeLo (double): min value of the range -sub GSH_SetObjectLocation_Horizontal(rangeObject, movingObject, value, rangeHi, rangeLo) -'gsh_log_s("GSH_SetObjectLocation_Horizontal rangeObject = " &rangeObject.id &" movingObject = " &movingObject.id &" value = " &value &"rangeHi = " &rangeHi &"rangeLo = " &rangeLo) -On Error Resume Next - - Dim iNumPixels - - iNumPixels = 0 - if (value > rangeHi) then - iNumPixels = rangeObject.style.pixelwidth - ElseIf (value < rangeLo) then - iNumPixels = 0 - else - iNumPixels = (rangeObject.style.pixelwidth * ((value - rangeLo) / (rangeHi - rangeLo))) - end if - - movingObject.style.pixelleft = rangeObject.style.pixelleft + iNumPixels - (movingObject.style.pixelwidth / 2) - - -' gsh_log_e("GSH_SetObjectLocation_Horizontal movingObject.style.pixelleft = " &movingObject.style.pixelleft) - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SetObjectLocation_Horizontal", movingObject) - end if -end sub - - - -' -'calculate and set location and width of the moving object within the range object (both location and width can variate). -'rMaxValue, rMinValue, rRangeHi, rRangeLo are doubles. -' -sub GSH_SetObjectLocationAndWidth_Horizontal(rangeObject, movingObject, rMaxValue, rMinValue, rRangeHi, rRangeLo) -On Error Resume Next -'gsh_log_s("GSH_SetObjectLocationAndWidth_Horizontal rangeObject = " &rangeObject.id &" movingObject = " &movingObject.id &" rMinValue = " &rMinValue &" rMaxValue = " &rMaxValue &"rRangeLo = " &rRangeLo &"rRangeHi = " &rRangeHi) - - Dim iWidth, iLeft, rRange - - if (rMaxValue > rRangeHi) then - rMaxValue = rRangeHi - end if - - if (rMinValue < rRangeLo) then - rMinValue = rRangeLo - end if - - rRange = rRangeHi - rRangeLo - - iWidth = rangeObject.style.pixelwidth * ((rMaxValue - rMinValue) / rRange) - - iLeft = rangeObject.style.pixelleft + rangeObject.style.pixelwidth * ((rMinValue - rRangeLo) / rRange) - - - movingObject.style.pixelwidth = iWidth - movingObject.style.pixelleft = iLeft - -'gsh_log_e("GSH_SetObjectLocationAndWidth_Horizontal") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SetObjectLocationAndWidth_Horizontal", movingObject) - end if - -end sub - - -function GSH_IsShapeInSA(iPV, iSAHi, iSALo) -' gsh_log_s("GSH_IsShapeInSA iPV = " &iPV &" iSAHi = " &iSAHi &" iSALo = " &iSALo) - - dim rPV, rSALo, rSAHi, bRetVal - rPV = CDbl(iPV) - rSALo = CDbl(iSALo) - rSAHi = CDbl(iSAHi) - bRetVal = false - - If ((rPV > rSAHi) Or (rPV < rSALo)) Then - bRetVal = true - End If - - -' gsh_log_e("GSH_IsShapeInSA bRetVal = " &bRetVal) - GSH_IsShapeInSA = bRetVal - -end function - -sub GSH_LevelRegCtl_SAGauge_InSA(oShape, iPV, iSAHi, iSALo) -' gsh_log_s("GSH_LevelRegCtl_SAGauge_InSA oShape="&oShape.id & " iPV = " &iPV &" iSAHi = " &iSAHi &" iSALo = " &iSALo) - - dim rPV, rSALo, rSAHi - rPV = CDbl(iPV) - rSALo = CDbl(iSALo) - rSAHi = CDbl(iSAHi) - - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - If ((rPV > rSAHi) Or (rPV < rSALo)) Then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("txt_Mode").style.visibility = GSH_VISIBLE - End If - - -' gsh_log_e("GSH_LevelRegCtl_SAGauge_InSA") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_LevelRegCtl_SAGauge_SetFocus",oShape) - end if - -end sub - -sub GSH_OPDeviation_SAGauge_InSA(oShape, iOP, iSAHi, iSALo) -' gsh_log_s("GSH_OPDeviation_SAGauge_InSA oShape="&oShape.id & " iOP = " &iOP &" iSAHi = " &iSAHi &" iSALo = " &iSALo) - - dim rOP, rSALo, rSAHi - rOP = CDbl(iOP) - rSALo = CDbl(iSALo) - rSAHi = CDbl(iSAHi) - - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - If ((rPV > rSAHi) Or (rPV < rSALo)) Then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("plg_RightCover").styleClass = GSH_CSSSAFILL - oShape.objects("plg_LeftCover").styleClass = GSH_CSSSAFILL - oShape.objects("line007").styleClass = GSH_CSSSAFILL - oShape.objects("line009").styleClass = GSH_CSSSAFILL - End If - - - -' gsh_log_e("GSH_OPDeviation_SAGauge_InSA") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_OPDeviation_SAGauge_InSA",oShape) - end if - -end sub - - -sub GSH_LevelRegCtl_SAGauge_RedrawPVRangeBar(oShape, recentPVMax, recentPVMin) -'gsh_log_s("GSH_LevelRegCtl_SAGauge_RedrawPVRangeBar oShape=" & oShape.id &" recentPVMax = " &recentPVMax &" recentPVMin = " &recentPVMin) - Dim iNumPixels, iBottom, iPVRangeBarHeight - Dim iRangeHi, iRangeLo, recentPVHi, recentPVLo - - iRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - iRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - recentPVHi = CDbl(recentPVMax) - recentPVLo = CDbl(recentPVMin) - - If(recentPVHi > iRangeHi) Then - recentPVHi = iRangeHi - End If - - If(recentPVLo < iRangeLo) Then - recentPVLo = iRangeLo - End If - - iPVRangeBarHeight = (oShape.objects("linePVRange").style.pixelheight * ((recentPVHi - recentPVLo) / (iRangeHi - iRangeLo))) - - If(iPVRangeBarHeight < 0.5) Then - oShape.objects("rec_RecentPVRangeBar").style.visibility = GSH_HIDDEN - Else - oShape.objects("rec_RecentPVRangeBar").style.visibility = GSH_VISIBLE - End If - - oShape.objects("rec_RecentPVRangeBar").style.pixelheight = iPVRangeBarHeight - - iNumPixels = (oShape.objects("linePVRange").style.pixelheight * ((iRangeHi - recentPVHi) / (iRangeHi - iRangeLo))) - - - oShape.objects("rec_RecentPVRangeBar").style.pixeltop = oShape.objects("linePVRange").style.pixeltop + iNumPixels - - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_LevelRegCtl_SAGauge_RedrawPVRangeBar",oShape) - end if - -'gsh_log_e("GSH_LevelRegCtl_SAGauge_RedrawPVRangeBar") -end sub - - -sub GSH_OPDeviation_SAGauge_RedrawOPRangeBar(oShape, recentOPMax, recentOPMin) -'gsh_log_s("GSH_OPDeviation_SAGauge_RedrawOPRangeBar oShape=" & oShape.id &" recentOPMax = " &recentOPMax &" recentOPMin = " &recentOPMin) - Dim iNumPixels, iBottom, iPVRangeBarHeight - Dim iRangeHi, iRangeLo, recentPVHi, recentPVLo - - iRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - iRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - recentOPHi = CDbl(recentOPMax) - recentOPLo = CDbl(recentOPMin) - - If(recentOPHi > iRangeHi) Then - recentOPHi = iRangeHi - End If - - If(recentOPLo < iRangeLo) Then - recentOPLo = iRangeLo - End If - - iRangeBarWidth = (oShape.objects("lineOPRange").style.pixelwidth * ((recentOPHi - recentOPLo) / (iRangeHi - iRangeLo))) - - If(iRangeBarWidth < 0.5) Then - oShape.objects("rec_RecentOPRangeBar").style.visibility = GSH_HIDDEN - Else - oShape.objects("rec_RecentOPRangeBar").style.visibility = GSH_VISIBLE - End If - - oShape.objects("rec_RecentOPRangeBar").style.pixelwidth = iRangeBarWidth - - iNumPixels = (oShape.objects("lineOPRange").style.pixelwidth * ((recentOPLo - iRangeLo) / (iRangeHi - iRangeLo))) - - - oShape.objects("rec_RecentOPRangeBar").style.pixelleft = oShape.objects("lineOPRange").style.pixelleft + iNumPixels - - 'oShape.objects("lineOPRange").style.pixelleft + - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_OPDeviation_SAGauge_RedrawOPRangeBar",oShape) - end if - -'gsh_log_e("GSH_OPDeviation_SAGauge_RedrawOPRangeBar") -end sub - - - -sub GSH_LevelRegCtl_SAGauge_SetPVRangeBar(oShape, iPV) -'gsh_log_s("GSH_LevelRegCtl_SAGauge_RedrawPVRangeBar oShape=" & oShape.id &" iPV = " &iPV) - - 'Update recent PV values and reference time on the shape - 'We do not want shape to reload it self when Value changes, the changes will affect in next update - oShape.autoReloadContent=false - Dim lastRefTime, refTime - lastRefTime = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"LastRefTime", GSH_CPVALUE) - refTime = GSH_READREGISTRY(GSH_REGISTRY_BASE & GSH_REGISTRY_OPDEVMONITOR & GSH_REGKEY_OPDEVMON_RESETTIME, GSH_EMPTYSTRING) - - If(IsDate(lastRefTime) AND IsDate(refTime)) Then - 'reference time is reset - If(CDate(refTime) > CDate(lastRefTime)) Then - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentPVMax", GSH_CPVALUE, iPV) - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentPVMin", GSH_CPVALUE, iPV) - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "LastRefTime", GSH_CPVALUE, refTime) - oShape.objects("rec_RecentPVRangeBar").style.visibility = GSH_HIDDEN - Else - Dim recentPVMax, recentPVMin - recentPVMax = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"RecentPVMax", GSH_CPVALUE)) - recentPVMin = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"RecentPVMin", GSH_CPVALUE)) - - If(CDbl(recentPVMax) < CDbl(iPV)) Then - recentPVMax = iPV - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentPVMax", GSH_CPVALUE, iPV) - ElseIf(CDbl(recentPVMin) > CDbl(iPV)) Then - - recentPVMin = iPV - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentPVMin", GSH_CPVALUE, iPV) - End If - - 'redraw Recent PV Range bar - call GSH_LevelRegCtl_SAGauge_RedrawPVRangeBar(oShape, recentPVMax, recentPVMin) - End If - - Else - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentPVMax", GSH_CPVALUE, iPV) - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentPVMin", GSH_CPVALUE, iPV) - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "LastRefTime", GSH_CPVALUE, now) - oShape.objects("rec_RecentPVRangeBar").style.visibility = GSH_HIDDEN - End If - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_LevelRegCtl_SAGauge_SetPVRangeBar",oShape) - end if - -'gsh_log_e("GSH_LevelRegCtl_SAGauge_SetPVRangeBar") -end sub - - -sub GSH_OPDeviation_SAGauge_SetPVRangeBar(oShape, iOP) -'gsh_log_s("GSH_OPDeviation_SAGauge_SetPVRangeBar oShape=" & oShape.id &" iOP = " &iOP) -on Error resume next - 'Update recent PV values and reference time on the shape - 'We do not want shape to reload it self when Value changes, the changes will affect in next update - oShape.autoReloadContent=false - Dim lastRefTime, refTime - lastRefTime = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"LastRefTime", GSH_CPVALUE) - refTime = GSH_READREGISTRY(GSH_REGISTRY_BASE & GSH_REGISTRY_OPDEVMONITOR & GSH_REGKEY_OPDEVMON_RESETTIME, GSH_EMPTYSTRING) - - If(IsDate(lastRefTime) AND IsDate(refTime)) Then - 'reference time is reset - If(CDate(refTime) > CDate(lastRefTime)) Then - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentOPMax", GSH_CPVALUE, iOP) - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentOPMin", GSH_CPVALUE, iOP) - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "LastRefTime", GSH_CPVALUE, refTime) - oShape.objects("rec_RecentPVRangeBar").style.visibility = GSH_HIDDEN - Else - Dim recentMax, recentMin - recentMax = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"RecentOPMax", GSH_CPVALUE)) - recentMin = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"RecentOPMin", GSH_CPVALUE)) - - If(CDbl(recentMax) < CDbl(iOP)) Then - recentMax = iOP - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentOPMax", GSH_CPVALUE, iOP) - ElseIf(CDbl(recentMin) > CDbl(iOP)) Then - - recentMin = iOP - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentOPMin", GSH_CPVALUE, iOP) - End If - - 'redraw Recent PV Range bar - call GSH_OPDeviation_SAGauge_RedrawOPRangeBar(oShape, recentMax, recentMin) - End If - - Else - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentOPMax", GSH_CPVALUE, iOP) - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "RecentOPMin", GSH_CPVALUE, iOP) - call GSH_SETSHAPE_CUSTOM_PROPERTY(oShape, "LastRefTime", GSH_CPVALUE, now) - oShape.objects("rec_RecentOPRangeBar").style.visibility = GSH_HIDDEN - End If - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_OPDeviation_SAGauge_SetPVRangeBar",oShape) - end if - -'gsh_log_e("GSH_OPDeviation_SAGauge_SetPVRangeBar") -end sub - - -sub GSH_LevelRegCtl_QualitySAGauge_SetFocus(oShape) -'gsh_log_s("GSH_LevelRegCtl_QualitySAGauge_SetFocus oShape="&oShape.id) - - call GSH_SETSHAPEFOCUS(oShape) - - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_IndicatorRange").fillstyle = GSH_FILLTRANSPARENT -' oShape.objects("rec_IndicatorRange").style.visibility = GSH_VISIBLE - end if -' oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE -' oShape.objects("outline").style.visibility = GSH_VISIBLE - -'gsh_log_e("GSH_LevelRegCtl_QualitySAGauge_SetFocus") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_LevelRegCtl_SAGauge_SetFocus",oShape) - end if - -end sub - - - - - -sub GSH_QualitySAGauge_ShowSALimits(oShape, iSAHigh, iSALow) -'gsh_log_s("GSH_QualitySAGauge_ShowSALimits oShape=" & oShape.id &"iSAHi = " &iSAHigh &"iSALo = " &iSALow) - Dim iNumPixels, iLeft - Dim iRangeHi, iRangeLo, iSAHi, iSALo - - iRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - iRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - iSAHi = CDbl(iSAHigh) - iSALo = CDbl(iSALow) - - iNumPixels = 0 - if (iSAHi >= iRangeHi) then - iNumPixels = 0 - oShape.objects("rec_SAHigh").style.visibility = GSH_HIDDEN - ElseIf (iSAHi < iRangeLo) then - iNumPixels = oShape.objects("linePVRange").style.pixelwidth - else - iNumPixels = (oShape.objects("linePVRange").style.pixelwidth * ((iRangeHi - iSAHi) / (iRangeHi - iRangeLo))) - end if - - oShape.objects("rec_SAHigh").style.pixelleft = oShape.objects("linePVRange").style.pixelleft - oShape.objects("rec_SAHigh").style.pixelwidth = iNumPixels - iLeft = (oShape.objects("linePVRange").style.pixelwidth + oShape.objects("linePVRange").style.pixelleft) - oShape.objects("rec_SAHigh").style.pixelleft = iLeft - iNumPixels - - iNumPixels = 0 - if (iSALo > iRangeHi) then - iNumPixels = oShape.objects("linePVRange").style.pixelwidth - ElseIf (iSALo <= iRangeLo) then - oShape.objects("rec_SALow").style.visibility = GSH_HIDDEN - else - iNumPixels = (oShape.objects("linePVRange").style.pixelwidth * ((iSALo - iRangeLo) / (iRangeHi - iRangeLo))) - end if - - oShape.objects("rec_SALow").style.pixelwidth = iNumPixels - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_LevelIndicatorShowSALimits",oShape) - end if - -'gsh_log_e("GSH_QualitySAGauge_ShowSALimits") -end sub - - -' -'oShape: the HCS shape -'n: total number of alarm limit lines to show -sub GSH_SetAlarmLinesHorizontal(oShape, iRangeHi, iRangeLo, n) - - - dim alarmlim, alarmPri - alarmlim = 0: alarmPri = 0 - - for i = 1 to n - alarmPri = CDbl(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "ALARM" & i & "PRIORITY")) - - if (alarmPri > 0) and (alarmPri <=3) then - oShape.objects("LineAlarm"&i).style.visibility = GSH_VISIBLE - alarmlim = CDbl(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "AlarmLimit"&i)) - call GSH_SetObjectLocation_Horizontal(oShape.objects("linePVRange"), oShape.objects("LineAlarm"&i), alarmlim, iRangeHi, iRangeLo) - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - - next - -end sub - -' -'oShape: the HCS shape -'n: total number of alarm limit lines to show -sub GSH_SetAlarmLinesVertical(oShape, iRangeHi, iRangeLo, n) - - dim alarmlim, alarmPri - alarmlim = 0: alarmPri = 0 - - for i = 1 to n - alarmPri = CDbl(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "ALARM" & i & "PRIORITY")) - - if (alarmPri > 0) and (alarmPri <=3) then - - if not(oShape.objects("rec_DataScript").IsNan(GSH_CPENTITY & ".AlarmLimit" & i)) then - oShape.objects("LineAlarm"&i).style.visibility = GSH_VISIBLE - alarmlim = CDbl(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "AlarmLimit"&i)) - call GSH_SetObjectLocation_Vertical(oShape.objects("linePVRange"), oShape.objects("LineAlarm"&i), alarmlim, iRangeHi, iRangeLo) - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - - next - -end sub - - -sub GSH_QualitySAGauge_ShowPVFloat(oShape) -'gsh_log_s("GSH_QualitySAGauge_ShowPVFloat oShape=" & oShape.id) - Dim iNumPixels, iLeft - Dim iRangeHi, iRangeLo, iPV - 'Calculate pv value - iRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - iRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - iPV = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - iNumPixels = 0 - if (iPV > iRangeHi) then - iNumPixels = oShape.objects("linePVRange").style.pixelwidth - ElseIf (iPV < iRangeLo) then - iNumPixels = 0 - else - iNumPixels = (oShape.objects("linePVRange").style.pixelwidth * ((iPV - iRangeLo) / (iRangeHi - iRangeLo))) - end if - - oShape.objects("rec_IndicatorFloat").style.pixelleft = oShape.objects("linePVRange").style.pixelleft + iNumPixels - (oShape.objects("rec_IndicatorFloat").style.pixelwidth / 2) - -'gsh_log_e("GSH_QualitySAGauge_ShowPVFloat") -end sub - - - -'-------------------------------------START SCADA SPECIFIC ----------------------------------------------' -' .oooooo..o .oooooo. .o. oooooooooo. .o. -'d8P' `Y8 d8P' `Y8b .888. `888' `Y8b .888. -'Y88bo. 888 .8"888. 888 888 .8"888. -' `"Y8888o. 888 .8' `888. 888 888 .8' `888. -' `"Y88b 888 .88ooo8888. 888 888 .88ooo8888. -'oo .d8P `88b ooo .8' `888. 888 d88' .8' `888. -'8""88888P' `Y8bood8P' o88o o8888o o888bood8P' o88o o8888o -'------------------------------------------------------------------------------------------------------- - - - - - - - - -'------------------------------------------------------------------ -'SCADA L1 Shapes -'------------------------------------------------------------------ -sub GSH_SCADA_QualTrend_OnUpdate(oShape, flag) -'gsh_log_s("GSH_SCADA_QualTrend_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim isDataBad - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - call GSH_QualTrend_OnUpdate(oShape, flag, isDataBad) - -'gsh_log_e("GSH_SCADA_QualTrend_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SCADA_QualTrend_OnUpdate",oShape) - end if - -end sub - -sub GSH_SCADA_Quality_L1Deviation_FR_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_SCADA_Quality_L1Deviation_FR_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad, pvRefVal - isAlmEnabled = not(GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_datascript"))) - isOffNormal = false - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - pvRefVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"PVRefVal") - - call GSH_Quality_L1Deviation_FR_ONUPDATE(oShape, flag, isAlmEnabled, GSH_CPPARAM_PV, isOffNormal, isDataBad, pvRefVal) - - -'gsh_log_e("GSH_SCADA_Quality_L1Deviation_FR_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SCADA_Quality_L1Deviation_FR_ONUPDATE",oShape) - end if - -end sub - -sub GSH_SCADA_Quality_L1Deviation_Lo_ONUPDATE(oShape, flag) -'sh_log_s("GSH_SCADA_Quality_L1Deviation_Lo_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad, pvRefVal - isAlmEnabled = not(GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_datascript"))) - isOffNormal = false - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - pvRefVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"PVRefVal") - - call GSH_Quality_L1Deviation_Lo_ONUPDATE(oShape, flag, isAlmEnabled, GSH_CPPARAM_PV, isOffNormal, isDataBad, pvRefVal) - -'gsh_log_e("GSH_SCADA_Quality_L1Deviation_Lo_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SCADA_Quality_L1Deviation_Lo_ONUPDATE",oShape) - end if -end sub - -sub GSH_SCADA_Quality_L1Deviation_Hi_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_SCADA_Quality_L1Deviation_Hi_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad, pvRefVal - isAlmEnabled = not(GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_datascript"))) - isOffNormal = false - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - pvRefVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"PVRefVal") - - call GSH_Quality_L1Deviation_Hi_ONUPDATE(oShape, flag, isAlmEnabled, GSH_CPPARAM_PV, isOffNormal, isDataBad, pvRefVal) - - -'gsh_log_e("GSH_SCADA_Quality_L1Deviation_Hi_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SCADA_Quality_L1Deviation_Hi_ONUPDATE",oShape) - end if -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_QualityAnalog_L1Gauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_QualityAnalog_L1Gauge_FR_OnUpdate(oShape, flag) -'gsh_log_s("GSH_SCADA_QualityAnalog_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = not(GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_datascript"))) - isOffNormal = false - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - - call GSH_QualityAnalog_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, GSH_CPPARAM_PV, isOffNormal, isDataBad) - -'gsh_log_e("GSH_SCADA_QualityAnalog_L1Gauge_FR_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SCADA_QualityAnalog_L1Gauge_FR_OnUpdate",oShape) - end if - -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_LevelAnalog_SAGauge_FR_SCADA Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_LevelAnalog_L1Gauge_FR_OnUpdate(oShape, flag) -'gsh_log_s("GSH_SCADA_LevelAnalog_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = not(GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_datascript"))) - isOffNormal = false - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - - call GSH_LevelAnalog_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, GSH_CPPARAM_PV, isOffNormal, isDataBad) - -'gsh_log_e("GSH_SCADA_LevelAnalog_L1Gauge_FR_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SCADA_LevelAnalog_L1Gauge_FR_OnUpdate",oShape) - end if - - -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'LEVEL RegCtl GAUGE FULL RANGE Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_LevelRegCtl_L1Gauge_FR_OnUpdate(oShape, flag) -'gsh_log_s("GSH_SCADA_LevelRegCtl_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = not(GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_datascript"))) - isOffNormal = GSH_REGCTL_SCADA_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_CPPARAM_PV) - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - - call GSH_LevelRegCtl_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, GSH_CPPARAM_PV, isOffNormal, isDataBad) - -'gsh_log_e("GSH_SCADA_LevelRegCtl_L1Gauge_FR_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SCADA_LevelRegCtl_L1Gauge_FR_OnUpdate",oShape) - end if - - -end sub - -sub GSH_SALevelIndicatorRegulatoryControlShowNormal(oShape) -'gsh_log_s("GSH_SALevelIndicatorRegulatoryControlShowNormal") - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_IndicatorRange").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_IndicatorRange").style.visibility = GSH_VISIBLE - oShape.objects("txt_PVvalue").style.visibility = GSH_VISIBLE - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("txt_mode").style.visibility = GSH_VISIBLE - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN -' call GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) -'gsh_log_e("GSH_SALevelIndicatorRegulatoryControlShowNormal") -end sub - -sub GSH_SALevelIndicatorRegulatoryControlShowOffNormal(oShape) - oShape.objects("txt_mode").style.visibility = GSH_VISIBLE - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_ANALOGINDICATOR_SA_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_ANALOGINDICATOR_SA_SCADA_ONUPDATE (oShape, flag) -on error resume next - - call GSH_ANALOGINDICATOR_SCADA_ONUPDATE (oShape, flag) - - dim sAlarmCode, bInSA - bInSA = false - sAlarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_CPPARAM_PV) - - 'Check SA Bars Limit - rSAHi = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE))) - rSALo = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE))) - rPV = CDbl(FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV))) - - - If ((rPV > rSAHi) Or (rPV < rSALo)) Then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - bInSA = true - Else - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - End If - - if(not(bInSA) AND StrComp(sAlarmCode,GSH_NONE,vbtextcompare) <> 0) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - else - oShape.objects("outline").style.visibility = GSH_VISIBLE - end if - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_REGULATORYCONTROLINDICATOR_SA_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_REGULATORYCONTROLINDICATOR_SA_SCADA_ONUPDATE (oShape, flag) -on error resume next - - call GSH_REGULATORYCONTROLINDICATOR_SCADA_ONUPDATE (oShape, flag) - - dim sAlarmCode, bInSA - bInSA = false - sAlarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_CPPARAM_PV) - - 'Check SA Bars Limit - Dim rSAHi, rSALo, rPV - rSAHi = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE))) - rSALo = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE))) - rPV = CDbl(FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV))) - - If ((rPV > rSAHi) Or (rPV < rSALo)) Then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - bInSA = true - Else - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - End If - - if(not(bInSA) AND StrComp(sAlarmCode,GSH_NONE,vbtextcompare) <> 0) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - else - oShape.objects("outline").style.visibility = GSH_VISIBLE - end if - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DIGITALINDICATOR_L1_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DIGITALINDICATOR_L1_SCADA_ONUPDATE (oShape, flag) -on error resume next -'gsh_log_s("GSH_DIGITALINDICATOR_L1_SCADA_ONUPDATE oShape = " &oShape.id) - - call GSH_DIGITALINDICATOR_SCADA_ONUPDATE (oShape, flag) - - dim sPVState, sSAState - 'Check SA Condition - - sPVState = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - - Dim sTagname - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPENTITY, GSH_CPPOINT) - - 'gsh_log("sTagname = " &sTagname) - - sSAState = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_SA_STATE, GSH_NONE) - - 'gsh_log("sPVState " & sPVState & " sSAState = " &sSAState) - - If (StrComp(sPVState, sSAState, vbTextCompare) <> 0) Then - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - Else - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - End If - -' gsh_log_e("GSH_C200_DIGITALINDICATOR_L1_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_DIGITALINDICATOR_L1_SCADA_ONUPDATE",oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_OPDEVIATION_L1_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_OPDEVIATION_L1_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_SCADA_OPDEVIATION_L1_ONUPDATE oShape=" & oShape.id) -on error resume next - - dim isOffNormal - isOffNormal = GSH_SCADA_POINT_MODE_ISOFFNORMAL(oShape.objects("OPDevMonitor_Script")) - call GSH_OPDEVIATION_L1_ONUPDATE(oShape, flag, isOffNormal) - -'gsh_log_e("GSH_SCADA_OPDEVIATION_L1_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_SCADA_OPDEVIATION_L1_ONUPDATE",oShape) - end if -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_FIRSTOUT_ONUPDATE -'Update function for the shape SCADA_FIRSTOUT -'Parameter: Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_FIRSTOUT_ONUPDATE(oShape, flag) - If flag = 0 then - if GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) = 0 then - oShape.objects("lin_FirstOut").StyleClass = GSH_CSSFIRSTOUT_OFF - else - oShape.objects("lin_FirstOut").StyleClass = GSH_CSSFIRSTOUT_ON - end if - End If - If flag <= 1 then - call GSH_SETSHAPEFOCUS(oShape) - End If -end sub -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'SCADA_SPPVOPBAR Shape Specific Code -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SETSPINDICATOR_HORIZONTAL -'Determine the location of the SP float on a horizontal bar graph -'Parameter: Shape object, low limit, high limit. -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SETSPINDICATOR_HORIZONTAL(oShape, iRangeLo, iRangeHi) -'gsh_log_s("GSH_SETSPINDICATOR_HORIZONTAL oShape=" & oShape.id) - Dim iNumPixels, iXvalue, iSP - 'Calculate pv value -' gsh_log("iRangeHi=" & iRangeHi & ", iRangeLo=" & iRangeLo) - iSP = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SP) - if (iSP >= iRangeHi) then - iNumPixels = oShape.objects("ind_PVBar").style.pixelwidth - ElseIf (iSP <= iRangeLo) then - iNumPixels = 0 - else - iNumPixels = cint(oShape.objects("ind_PVBar").style.pixelwidth * ((iSP - iRangeLo) / (iRangeHi - iRangeLo))) - end if -' gsh_log("iNumPixels=" & iNumPixels) - iXvalue = oShape.objects("ind_PVBar").style.pixelLeft - oShape.objects("plg_SPIndicator").style.pixelLeft = iXvalue + iNumPixels - (oShape.objects("plg_SPIndicator").style.pixelwidth / 2) -' gsh_log(oShape.objects("plg_SPIndicator").id & " pixelLeft=" & oShape.objects("plg_SPIndicator").style.pixelLeft) -'gsh_log_e("GSH_SETSPINDICATOR_HORIZONTAL") -end sub -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -''''' Test if the SCADA_SPPVOPBAR is offnormal -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_SCADA_SPPVOPBAR_ISOFFNORMAL(oScriptDataObject) - - dim offNormalTest - offNormalTest = false - offNormalTest = GSH_SCADA_POINT_MODE_ISOFFNORMAL(oScriptDataObject) - - GSH_SCADA_SPPVOPBAR_ISOFFNORMAL = offNormalTest - -end function -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SCADA_SPPVOPBAR_ONUPDATE -'Update function for the shape SCADA_SPPVOPBAR -'Parameter: Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 06/15/07 Initialize alarm state with GSH_SHOWALARMS_WOOUTLINE -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SCADA_SPPVOPBAR_ONUPDATE(oShape, flag) - - If flag = 0 then - call GSH_SHOWALARMS_WOOUTLINE(GSH_NOALARMCODE,oShape) 'show normal - 'check if PV is bad then - if GSH_SCADA_ISDATABAD(oShape.objects("rec_DataScript"),true, false, false) or oShape.objects("rec_DataScript").IsNan(GSH_CPENTITY&"."&GSH_CPPARAM_PV) then - oShape.objects("ind_PVBar").value = 0 - oShape.objects("txtBadPV").style.visibility = GSH_VISIBLE - else - Dim iRangeHi, iRangeLo - iRangeHi = cint(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & ".EUHI")) - iRangeLo = cint(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & ".EULO")) - oShape.objects("ind_PVBar").value = Cint((GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)/(iRangeHi-iRangeLo))*100) - oShape.objects("txtBadPV").style.visibility = GSH_HIDDEN - end if - call GSH_SETSPINDICATOR_HORIZONTAL(oShape,iRangeLo,iRangeHi) - 'Alarming - if GSH_SCADA_IsAlarmingDisabled(oShape.objects("rec_DataScript")) Then - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_DISABLED - else - call GSH_SHOWALARMS_WOOUTLINE(GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY), oShape) - End If - End If - - If flag <= 1 then - call GSH_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_SCADA_SPPVOPBAR_ISOFFNORMAL(oShape.objects("rec_DataScript")) then - - 'alert("off normal") - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -end sub -'-------------------------------------START C200 SHAPE SPECIFIC----------------------------------------------' -' a88888b. d8888b. a8888a a8888a -'d8' `88 `88 d8' ..8b d8' ..8b -'88 .aaadP' 88 .P 88 88 .P 88 -'88 88' 88 d' 88 88 d' 88 -'Y8. .88 88. Y8'' .8P Y8'' .8P -' Y88888P' Y88888P Y8888P Y8888P -'------------------------------------------------------------------------------------------------------- - - - -'--------------------------------------------------------------------------- -'C200 L1 Shapes -'--------------------------------------------------------------------------- - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_LevelRegCtl_SAGauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_LevelRegCtl_SAGauge_FR_OnUpdate(oShape, flag) -'gsh_log_s("GSH_C200_LevelRegCtl_SAGauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = not(GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY)) - isOffNormal = GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - - call GSH_LevelRegCtl_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, GSH_EXPERION_PARAM_ALARMPRIORITY, isOffNormal, isDataBad) - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - -'gsh_log_e("GSH_C200_LevelRegCtl_SAGauge_FR_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_LevelRegCtl_SAGauge_FR_OnUpdate",oShape) - end if -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_LevelAnalog_L1Gauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_LevelAnalog_L1Gauge_FR_OnUpdate(oShape, flag) -'gsh_log_s("GSH_C200_LevelAnalog_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = not(GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY)) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - - call GSH_LevelAnalog_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, GSH_EXPERION_PARAM_ALARMPRIORITY, isOffNormal, isDataBad) - -' gsh_log_e("GSH_C200_LevelAnalog_L1Gauge_FR_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_LevelAnalog_L1Gauge_FR_OnUpdate",oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_QualityAnalog_L1Gauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_QualityAnalog_L1Gauge_FR_OnUpdate(oShape, flag) -'gsh_log_s("GSH_C200_QualityAnalog_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = not(GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY)) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - - - call GSH_QualityAnalog_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, GSH_EXPERION_PARAM_ALARMPRIORITY, isOffNormal, isDataBad) - -'gsh_log_e("GSH_C200_QualityAnalog_L1Gauge_FR_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_QualityAnalog_L1Gauge_FR_OnUpdate",oShape) - end if - -end sub - - - -sub GSH_C200_Quality_L1Deviation_FR_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_Quality_L1Deviation_FR_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = not(GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY)) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - pvRefVal = oShape.objects("rec_DataScript").DataValue("TargetEntity.PVRefVal") - - call GSH_Quality_L1Deviation_FR_ONUPDATE(oShape, flag, isAlmEnabled, GSH_EXPERION_PARAM_ALARMPRIORITY, isOffNormal, isDataBad, pvRefVal) - - -'gsh_log_e("GSH_C200_Quality_L1Deviation_FR_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_Quality_L1Deviation_FR_ONUPDATE",oShape) - end if - -end sub - - -sub GSH_C200_Quality_L1Deviation_Hi_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_C200_Quality_L1Deviation_Hi_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad, pvRefVal - isAlmEnabled = not(GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY)) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - pvRefVal = oShape.objects("rec_DataScript").DataValue("TargetEntity.PVRefVal") - - call GSH_Quality_L1Deviation_Hi_ONUPDATE(oShape, flag, isAlmEnabled, GSH_EXPERION_PARAM_ALARMPRIORITY, isOffNormal, isDataBad, pvRefVal) - -'gsh_log_e("GSH_C200_Quality_L1Deviation_Hi_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_Quality_L1Deviation_Hi_ONUPDATE",oShape) - end if -end sub - - - -sub GSH_C200_Quality_L1Deviation_Lo_ONUPDATE(oShape, flag) -'sh_log_s("GSH_C200_Quality_L1Deviation_Lo_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad, pvRefVal - isAlmEnabled = not(GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY)) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_SCADA_ISDATABAD(oShape.objects("rec_datascript"),true,false,false) - pvRefVal = oShape.objects("rec_DataScript").DataValue("TargetEntity.PVRefVal") - - call GSH_Quality_L1Deviation_Lo_ONUPDATE(oShape, flag, isAlmEnabled, GSH_EXPERION_PARAM_ALARMPRIORITY, isOffNormal, isDataBad, pvRefVal) - -'gsh_log_e("GSH_C200_Quality_L1Deviation_Lo_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_Quality_L1Deviation_Lo_ONUPDATE",oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_ANALOGINDICATOR_L1_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -' TODO: Need to refactor the code to make it efficient -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_ANALOGINDICATOR_L1_ONUPDATE (oShape, flag) -on error resume next - - call GSH_C200_ANALOGINDICATOR_ONUPDATE (oShape, flag) - - dim sAlarmCode, bInSA, bInOffnormal - bInSA = false - sAlarmCode = GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY) - bInOffnormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - - 'Check SA Bars Limit - rSAHi = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE))) - rSALo = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE))) - rPV = CDbl(FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV))) - - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - If ((rPV > rSAHi) Or (rPV < rSALo)) Then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - bInSA = true - End If - - - if(StrComp(sAlarmCode,GSH_NONE,vbtextcompare) <> 0 AND (bInOffnormal OR not(bInSA))) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - else - oShape.objects("outline").style.visibility = GSH_VISIBLE - end if - -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_DIGITALINDICATOR_L1_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_DIGITALINDICATOR_L1_ONUPDATE (oShape, flag) -on error resume next -'gsh_log_s("GSH_C200_DIGITALINDICATOR_L1_ONUPDATE oShape = " &oShape.id) - - call GSH_C200_DIGITALINDICATOR_ONUPDATE (oShape, flag) - - dim sAlarmCode, bInSA, bInOffnormal - bInSA = false - sAlarmCode = GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")) - bInOffnormal = GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, oShape.objects("txt_PVvalue").value) - - dim sPVState, sSAState - 'Check SA Condition - sPVState = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - - Dim sTagname - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPENTITY, GSH_CPPOINT) - -' gsh_log("sTagname = " &sTagname) - - sSAState = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_SA_STATE, GSH_NONE) - -' gsh_log("sPVState " & sPVState & " sSAState = " &sSAState) - - If (StrComp(sPVState, sSAState, vbTextCompare) <> 0) Then - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - Else - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - bInSA = true - End If - - if(StrComp(sAlarmCode,GSH_NONE,vbtextcompare) <> 0 AND (bInOffnormal OR not(bInSA))) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - else - oShape.objects("outline").style.visibility = GSH_VISIBLE - end if - -' gsh_log_e("GSH_C200_DIGITALINDICATOR_L1_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_DIGITALINDICATOR_L1_ONUPDATE",oShape) - end if -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_OPDEVIATION_L1_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_OPDEVIATION_L1_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_C200_OPDEVIATION_L1_ONUPDATE oShape=" & oShape.id) -on error resume next - - dim isOffNormal - isOffNormal = GSH_C200_ANALOG_MODE_ISOFFNORMAL(oShape.objects("OPDevMonitor_Script"), GSH_CPENTITY) - - call GSH_OPDEVIATION_L1_ONUPDATE (oShape, flag, isOffNormal) - -'gsh_log_e("GSH_C200_OPDEVIATION_L1_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_OPDEVIATION_L1_ONUPDATE",oShape) - end if -end sub -' -'oShape: the HCS shape -'n: total number of alarm limit lines to show -sub GSH_C200_SetAlarmLinesHorizontal(oShape, iRangeHi, iRangeLo, n) - dim alarmlim, alarmPri - alarmlim = 0: alarmPri = 0 - for i = 1 to n - alarmPri = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_AlarmPriority" & i)) - if (alarmPri > 0) and (alarmPri <=4) then - if not(oShape.objects("rec_DataScript").IsNan(GSH_CPENTITY & ".CP_AlarmLimit" & i)) then - alarmlim = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_AlarmLimit" & i)) - oShape.objects("LineAlarm"&i).style.visibility = GSH_VISIBLE - call GSH_SetObjectLocation_Horizontal(oShape.objects("linePVRange"), oShape.objects("LineAlarm"&i), alarmlim, iRangeHi, iRangeLo) - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - next -end sub - -sub GSH_C200_SetAlarmLinesVertical(oShape, rRangeHi, rRangeLo, n) -On Error Resume Next -'gsh_log_s("GSH_C200_SetAlarmLinesVertical oShape="&oShape.id) - dim alarmlim, alarmPri - alarmlim = 0: alarmPri = 0 - for i = 1 to n - alarmPri = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_AlarmPriority" & i)) - if (alarmPri > 0) and (alarmPri <=4) then - if not(oShape.objects("rec_DataScript").IsNan(GSH_CPENTITY & ".CP_AlarmLimit" & i)) then - oShape.objects("LineAlarm"&i).style.visibility = GSH_VISIBLE - alarmlim = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_AlarmLimit" & i)) - call GSH_SetObjectLocation_Vertical(oShape.objects("linePVRange"), oShape.objects("LineAlarm"&i), alarmlim, rRangeHi, rRangeLo) - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - next -'gsh_log_e("GSH_C200_SetAlarmLinesVertical") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_SetAlarmLinesVertical",oShape) - end if -end sub - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_SPPVOPBAR_ONUPDATE -'Update function for the shape SCADA_SPPVOPBAR -'Parameter: Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 07/31/2007 - Create this new shape & Add code to handle it (Cuong Ly) -' 09/03/2007 - Changed cint function to use int function as cint function -' can not handle large number (example 150000) (CL) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_SPPVOPBAR_ONUPDATE(oShape, flag) - -'gsh_log_s("GSH_C200_SPPVOPBAR_ONUPDATE ") - - If flag = 0 then - call GSH_SHOWALARMS_WOOUTLINE(GSH_NOALARMCODE,oShape) 'show normal - 'check if PV is bad then - If GSH_C200_REGCTL_ISDATABAD(oShape.objects("rec_DataScript"),true,false,false) Then - oShape.objects("ind_PVBar").value = 0 - oShape.objects("txtBadPV").style.visibility = GSH_VISIBLE - else - Dim iRangeHi, iRangeLo - - iRangeHi = int(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & ".DACA.PVEUHI")) - iRangeLo = int(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & ".DACA.PVEULO")) - oShape.objects("ind_PVBar").value = int((GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)/(iRangeHi-iRangeLo))*100) - oShape.objects("txtBadPV").style.visibility = GSH_HIDDEN -' gsh_log "iRangeHi="&iRangeHi-iRangeLo&", iRangeLo="&iRangeLo& ", PV="& GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) &", PVBar="& Cint((GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)/(iRangeHi-iRangeLo))*100) - End if - - call GSH_SETSPINDICATOR_HORIZONTAL(oShape,iRangeLo,iRangeHi) - End If - - If flag <= 1 then - - 'Alarming - if GSH_C200_ISALARMINGDISABLEDPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) Then - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_DISABLED - else - call GSH_SHOWALARMS_WOOUTLINE(GSH_C200_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY), oShape) - End If - - call GSH_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - 'TODO: Need to be tested - 'Check the point ramping - Select Case GSH_GET_POINT_RAMPING_VALUE(oShape.objects("rec_DataScript")) - Case GSH_RAMPING_RUN - call GSH_REGULATORYCONTROLINDICATORSHOW_RAMP(oShape,Left(GSH_RAMPING_RUN,1)) - Case GSH_RAMPING_PRESET - call GSH_REGULATORYCONTROLINDICATORSHOW_RAMP(oShape,Left(GSH_RAMPING_PRESET,1)) - Case else - oShape.objects("txt_ramp").style.visibility = GSH_HIDDEN - end Select - - End If -'gsh_log_e("GSH_C200_SPPVOPBAR_ONUPDATE ") -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_OPDEVMONITOR_ONUPDATE -'Update function for the shape GSH_C200_OPDEVIATION -'05/16/2008 - Create this new shape & Add code to handle it (Cuong Ly) -' -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_OPDEVMONITOR_ONUPDATE(oShape, flag) -' gsh_log_s("GSH_C200_OPDEVMONITOR_ONUPDATE oShapeId =" &oShape.id) - - call GSH_C200_OPDEVMONITOR_SHOWNORMAL(oShape) - ' No alarm checking (OK by Jamie) - - If flag <=1 then - - 'Do focus and offnormal checking here. It is important that all shape generic functionalities are - 'done before shape specific ones - call GSH_SETSHAPEFOCUS(oShape) - - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline -' oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("plg_LeftCover001").styleClass = GSH_CSSFOCUSASSOCIATED - oShape.objects("plg_LeftCover002").styleClass = GSH_CSSFOCUSASSOCIATED - oShape.objects("line007").styleClass = GSH_CSSFOCUSASSOCIATED - oShape.objects("line009").styleClass = GSH_CSSFOCUSASSOCIATED - end if - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_ANALOG_MODE_ISOFFNORMAL(oShape.objects("OPDevMonitor_Script"), GSH_CPENTITY) then - - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End if - - If flag = 0 then - - 'We do not want shape to reload it self when Value changes, the changes will affect in next update - oShape.autoReloadContent=false - - 'Get OP value - dim opRefVal, deadBand, filterVal, lastRefTime, diff_old - - 'Get the Deadband, filter, OPRefVal and the lastRefTime - - opRefVal = Cdbl(oShape.GetCustomProperty("Value","OPRefVal")) - deadBand = Cdbl(oShape.GetCustomProperty("Value","DeadBand")) - filterVal = oShape.GetCustomProperty("Value","Filter") - lastRefTime = oShape.GetCustomProperty("Value","LastRefTime") - diff_old = oShape.GetCustomProperty("Value","Diff_Old") - - dim diff_cur, deviation, opVal, diff_prev - opVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("OPDevMonitor_Script"),GSH_CPPARAM_OP) - - if(StrComp(opVal,GSH_BADPV_TEXT, vbtextcompare)=0) then - exit sub - end if - - 'Reference OP value is not set, - if(opRefVal < -99.0) then - opRefVal = opVal - oShape.SetCustomProperty "Value","OPRefVal",opVal - oShape.SetCustomProperty "Value","LastRefTime",now - oShape.objects("plg_OPRefValue").style.pixelleft = GSH_GET_OPREFPOSITION(oShape,opRefVal) - exit sub - end if - - 'Get the RefTime from Registry. - dim opDevMonRegistryBase, refTime - opDevMonRegistryBase = GSH_REGISTRY_BASE & GSH_REGISTRY_OPDEVMONITOR - refTime = GSH_READREGISTRY(opDevMonRegistryBase & GSH_REGKEY_OPDEVMON_RESETTIME, GSH_EMPTYSTRING) - - 'If the RefTime > lastRefTime then update OPRefVal to current OPVal & update lastRefTime to RefTime - 'Need to give it a time buffer (i.e within 10s)? - if((StrComp(refTime,GSH_EMPTYSTRING)<>0) AND (CDate(refTime) > CDate(lastRefTime))) then - oShape.SetCustomProperty "Value","OPRefVal",opVal - opRefVal = opVal - oShape.SetCustomProperty "Value","LastRefTime",refTime - oShape.SetCustomProperty "Value","Diff_Old",0 - diff_old = 0 - oShape.objects("plg_OPRefValue").style.pixelleft = GSH_GET_OPREFPOSITION(oShape,opRefVal) - end if - - 'Calculate OPDeviation - diff_prev = diff_old - diff_cur = opVal - opRefVal - diff_old = (diff_cur + diff_old)*filterVal - oShape.SetCustomProperty "Value","Diff_Old", diff_old - -' gsh_log("diff_cur = " &diff_cur &" diff_old = " &diff_old &" diff_prev = " &diff_prev) - - 'Set ButterFlies - if diff_cur > 0 then - oShape.objects("ind_OPDevBarRight").value = diff_cur - oShape.objects("ind_OPDevBarLeft").value = 0 - elseif diff_cur < 0 then - oShape.objects("ind_OPDevBarRight").value = 0 - oShape.objects("ind_OPDevBarLeft").value = diff_cur - else - oShape.objects("ind_OPDevBarRight").value = 0 - oShape.objects("ind_OPDevBarLeft").value = 0 - end if - - 'Set arrows - TODO: should this compare absolute value? - if ((diff_cur-diff_prev) > deadBand) then - 'set arrow to right - oShape.objects("grp_RightArrow").style.visibility = GSH_VISIBLE - oShape.objects("grp_LeftArrow").style.visibility = GSH_HIDDEN - elseif ((diff_prev - diff_cur) > deadBand) then - 'set arrow to the left - oShape.objects("grp_RightArrow").style.visibility = GSH_HIDDEN - oShape.objects("grp_LeftArrow").style.visibility = GSH_VISIBLE - else - 'hide arrows - oShape.objects("grp_RightArrow").style.visibility = GSH_HIDDEN - oShape.objects("grp_LeftArrow").style.visibility = GSH_HIDDEN - end if - - End If - -' gsh_log_e("GSH_C200_OPDEVMONITOR_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_C200_OPDEVMONITOR_ONUPDATE",oShape) - end if - -end sub - - -function GSH_GET_OPREFPOSITION(oShape, opRefVal) - - dim newPosition - dim opBarLeftPixel, opBarWidthPixel - opBarLeftPixel = oShape.objects("ind_OPBar").style.pixelleft - opBarWidthPixel = oShape.objects("ind_OPBar").style.pixelwidth - - if opRefVal <= 0 then - newPosition = opBarLeftPixel - 2 'There is a little offset - elseif opRefVal >= 100 then - newPosition = opBarWidthPixel + 2 'There is a little offset - else - newPosition = cint(opBarLeftPixel + (opBarWidthPixel - opBarLeftPixel)*(CInt(opRefVal))/100) - end if - - GSH_GET_OPREFPOSITION = newPosition - -end function - - -sub GSH_C200_OPDEVMONITOR_SHOWNORMAL(oShape) -'gsh_log_s("GSH_C200_OPDEVMONITOR_SHOWNORMAL oShapeID = " &oShape.id) - - oShape.objects("focus").style.visibility = GSH_HIDDEN - oShape.objects("grp_RightArrow").style.visibility = GSH_HIDDEN - oShape.objects("grp_LeftArrow").style.visibility = GSH_HIDDEN - oShape.objects("plg_LeftCover001").styleClass = GSH_CSSBACKGROUND_GRAY - oShape.objects("plg_LeftCover002").styleClass = GSH_CSSBACKGROUND_GRAY - oShape.objects("line007").styleClass = GSH_CSSBACKGROUND_GRAY - oShape.objects("line009").styleClass = GSH_CSSBACKGROUND_GRAY -' oShape.objects("ind_OPDevBarRight").value = 10 -' oShape.objects("ind_OPDevBarLeft").value = -10 -' call GSH_SHOWNOALARM(oShape) -'gsh_log_s("GSH_C200_OPDEVMONITOR_SHOWNORMAL") - -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_OPDEVIATIONRESET -'Update function for the shape GSH_C200_OPDEVIATIONRESET -'05/14/2008 - Create this new shape & Add code to handle it (Cuong Ly) -' -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_OPDEVIATIONRESET_ONLOAD(oShape) -' gsh_log_s("GSH_C200_OPDEVIATIONRESET_ONLOAD oShapeId =" &oShape.id) - - dim opDevMonRegistryBase - opDevMonRegistryBase = GSH_REGISTRY_BASE & GSH_REGISTRY_OPDEVMONITOR - - 'Set ResetTime and ResetDate to current time - GSH_WRITETOREGISTRY opDevMonRegistryBase & GSH_REGKEY_OPDEVMON_RESETTIME, Now,"REG_SZ" - oShape.objects("RefTime").value = FormatDateTime(now,vbShortDate) & " " &FormatDateTime(now,vbShortTime) - -' gsh_log_e("GSH_C200_OPDEVIATIONRESET_ONLOAD RefDate = " &Date &" RefTime = " &Time) - -end sub - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_C200_OPDEVIATIONRESET_ONCLICK -'Update function for the shape GSH_C200_OPDEVIATIONRESET -'05/14/2008 - Create this new shape & Add code to handle it (Cuong Ly) -' -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_C200_OPDEVIATIONRESET_ONCLICK(oShape) -' gsh_log_s("GSH_C200_OPDEVIATIONRESET_ONCLICK oShapeId =" &oShape.id) - - dim opDevMonRegistryBase - opDevMonRegistryBase = GSH_REGISTRY_BASE & GSH_REGISTRY_OPDEVMONITOR - - 'Set ResetTime and ResetDate to current time - GSH_WRITETOREGISTRY opDevMonRegistryBase & GSH_REGKEY_OPDEVMON_RESETTIME, Now,"REG_SZ" - oShape.objects("RefTime").value = FormatDateTime(now,vbShortDate) & " " &FormatDateTime(now,vbShortTime) - - 'Ask all the OPDevMonitor shapes to update themselves - GSH_UPDATE_OPDEVMON_ONDISPLAY("") - 'and other shapes as well - GSH_UPDATESHAPESONDISPLAY("") -' gsh_log_e("GSH_C200_OPDEVIATIONRESET_ONCLICK RefDate = " &Date &" RefTime = " &Time) - -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TRENDTARGET_CLICK -'06/01/07 Remove sPathPrefix because its not being used. -'06/01/07 Added sTagNameHDA from the TagInformation because the Historian names do not match the tagname -'06/01/07 parse out the function block for storing the itemAlias -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TRENDTARGET_CLICK(oShape) - Dim nCount, i, istrLen, iPosition, nNoOfTrends - Dim asTraceNames(9), asTrendParams(9), arAutoscale(9), anLower(9), anUpper(9) - Dim asStepped(9), asTrace(9), asTraceParams(9), asTraceNameAlias(9), asPVFormat(9), asTrendParamShort(9) - - Dim sOPC1_PathPrefix,sOPC2_PathPrefix, sTagNameHDA - sOPC1_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY1PREFIX,"") - sOPC2_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY2PREFIX,"") - bUseShortNameForHDA = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_USESHORTNAME_FOR_HDAPATH,"") - - nNoOfTrends = 8 - for i = 1 to nNoOfTrends - asTraceNames(i) = ucase(oShape.GetCustomProperty("Value","TrendTag"&i)) - asTrendParams(i) = oShape.GetCustomProperty("Value","TrendTag"&i&"Param") - arAutoscale(i) = oShape.GetCustomProperty("Value","Autoscale"& i) - anLower(i) = oShape.GetCustomProperty("Value","Lower"&i) - anUpper(i) = oShape.GetCustomProperty("Value","Upper"&i) - Next - - For nCount=1 To nNoOfTrends - If Left(asTraceNames(nCount),1) <> "" Then - asTraceParams(nCount) = ucase(GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount),GSH_REGKEY_TRENDPARAM & asTrendParams(nCount), "1")) - 'msgbox ("asTraceParams(nCount) = " & nCount & ", " & asTraceParams(nCount) ) - istrLen = len(cstr(asTraceParams(nCount))) - iPosition= Instr(1, asTraceParams(nCount) , ".",vbtextcompare) - asTrendParamShort(nCount) = right(asTraceParams(nCount), istrLen - iPosition) - - 'msgbox ("asTrendParamShort(nCount) = " & nCount & ", " & asTrendParamShort(nCount) ) - - asStepped(nCount) = GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount),GSH_REGKEY_TRENDSTEPPED & asTrendParams(nCount), "OFF") - asPVFormat(nCount) = GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount),GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT) - asTraceNameAlias(nCount) = GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount), GSH_REGKEY_TAGNAME_ALIAS, asTraceNames(nCount)) - sTagNameHDA = GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount),GSH_REGKEY_TAGNAMEHDA, asTraceNames(nCount)) - - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, asTraceNameAlias(nCount) & "." & asTrendParamShort(nCount) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPCITEMPATH, sOPC1_PathPrefix& asTraceNames(nCount) & "." & asTraceParams(nCount) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPC2ITEMPATH, sOPC2_PathPrefix &asTraceNames(nCount) & "." & asTraceParams(nCount) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, GSH_ON - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TRENDSTEPPED, asStepped(nCount) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_PVFORMATKEY, asPVFormat(nCount) - - 'Added 09/09/2008 (JE) to work with Sasol PHD historian interface - 'Issue#21: http://wss-edm-1/clients/hcs/services/ISE-HCS8227/ClientProjectAccess/Lists/Issue%20Tracker/DispForm.aspx?ID=21 - If(UCASE(bUseShortNameForHDA) = "ON") then - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTrendParamShort(nCount) - Else - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTraceParams(nCount) - End If - - If arAutoscale(nCount) <> 1 Then - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, "OFF" - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMAX, anUpper(nCount) - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMIN, anLower(nCount) - Else - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, "ON" - End If - Else - GSH_SETDEMANDTREND GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, GSH_OFF - End If - Next -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TRENDTARGET_VARIN_CLICK -' Feb. 27, 2008 Created to handle OVTrends as wells DemandTrend configuration - JE -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TRENDTARGET_VARIN_CLICK(oShape) - Dim nCount, i, istrLen, iPosition, nNoOfTrends - Dim asTraceNames(9), asTrendParams(9), arAutoscale(9), anLower(9), anUpper(9) - Dim asStepped(9), asTrace(9), asTraceParams(9), asTraceNameAlias(9), asPVFormat(9), asTrendParamShort(9) - Dim aTrendApp - - Dim sOPC1_PathPrefix,sOPC2_PathPrefix, sTagNameHDA, bUseShortNameForHDA - sOPC1_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY1PREFIX,"") - sOPC2_PathPrefix = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_OPCKEY2PREFIX,"") - bUseShortNameForHDA = GSH_READREGISTRY(GSH_REGISTRY_TRENDCONFIG&GSH_REGKEY_USESHORTNAME_FOR_HDAPATH,"") - aTrendApp = ucase(oShape.GetCustomProperty("Value","TrendApp")) - - nNoOfTrends = 8 - for i = 1 to nNoOfTrends - asTraceNames(i) = ucase(oShape.GetCustomProperty("Value","TrendTag"&i)) - asTrendParams(i) = oShape.GetCustomProperty("Value","TrendTag"&i&"Param") - arAutoscale(i) = oShape.GetCustomProperty("Value","Autoscale"&i) - anLower(i) = oShape.GetCustomProperty("Value","Lower"&i) - anUpper(i) = oShape.GetCustomProperty("Value","Upper"&i) - Next - - For nCount=1 To nNoOfTrends - If Left(asTraceNames(nCount),1) <> "" Then - asTraceParams(nCount) = ucase(GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount),GSH_REGKEY_TRENDPARAM & asTrendParams(nCount), "1")) - istrLen = len(cstr(asTraceParams(nCount))) - iPosition= Instr(1, asTraceParams(nCount) , ".",vbtextcompare) - asTrendParamShort(nCount) = right(asTraceParams(nCount), istrLen - iPosition) - asStepped(nCount) = GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount),GSH_REGKEY_TRENDSTEPPED & asTrendParams(nCount), "OFF") - asPVFormat(nCount) = GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount),GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT) - asTraceNameAlias(nCount) = GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount), GSH_REGKEY_TAGNAME_ALIAS, asTraceNames(nCount)) - sTagNameHDA = GSH_READTAGINFORMATIONKEYVALUE(asTraceNames(nCount),GSH_REGKEY_TAGNAMEHDA, asTraceNames(nCount)) - - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ITEMALIAS, asTraceNameAlias(nCount) & "." & asTrendParamShort(nCount) - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPCITEMPATH, sOPC1_PathPrefix& asTraceNames(nCount) & "." & asTraceParams(nCount) - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_OPC2ITEMPATH, sOPC2_PathPrefix &asTraceNames(nCount) & "." & asTraceParams(nCount) - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, GSH_ON - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TRENDSTEPPED, asStepped(nCount) - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_PVFORMATKEY, asPVFormat(nCount) - - 'Added 09/09/2008 (JE) to work with Sasol PHD historian interface - 'Issue#21: http://wss-edm-1/clients/hcs/services/ISE-HCS8227/ClientProjectAccess/Lists/Issue%20Tracker/DispForm.aspx?ID=21 - If(UCASE(bUseShortNameForHDA) = "ON") then - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTrendParamShort(nCount) - Else - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_HDAPATH, sTagNameHDA & "." & asTraceParams(nCount) - End If - - If arAutoscale(nCount) <> 1 Then - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, "OFF" - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMAX, anUpper(nCount) - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_TREND_YMIN, anLower(nCount) - Else - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_AUTOSCALE, "ON" - End If - Else - GSH_SETANYTREND aTrendApp,GSH_REGKEY_TRENDTRACE & nCount,GSH_REGKEY_ACTIVE, GSH_OFF - End If - Next -end sub - - - -Sub GSH_SV_RESET_LCLICK (oShape) -'gsh_log_s("GSH_SV_RESET_LCLICK oShape = "& oShape.id) - - Dim sT2DisplayName, sT3DisplayName, sT4DisplayName, sDispLocation, sDisplayName - sDispLocation = GSH_READDISPLAYNAMES("") - sT2DisplayName = oShape.GetCustomProperty("Value","L2_DisplayName") - sT3DisplayName = oShape.GetCustomProperty("Value","L3_DisplayName") - sT4DisplayName = oShape.GetCustomProperty("Value","L4_DisplayName") - - - sTemp = sDispLocation & sT2DisplayName & ".htm" - If sT2DisplayName <> "" Then - window.navigate(sTemp) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T2FN,sT2DisplayName) - End if - sTemp = sDispLocation & sT3DisplayName & ".htm" - If sT3DisplayName <> "" Then - window.navigate(sTemp) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T3FN,sT3DisplayName) - End if - sTemp = sDispLocation & sT4DisplayName & ".htm" - if sT4DisplayName <> "" Then - window.navigate(sTemp) - call GSH_WRITEDISPLAYCOMMUNICATIONKEYVALUE (GSH_REGKEY_T4FN,sT4DisplayName) - End if -'gsh_log_e("GSH_GSH_SV_RESET_LCLICK") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_CVINDICATOR_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'11July2008 Created shape for SASOL RMPCT -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_CVINDICATOR_SCADA_ONUPDATE (oShape, flag) -on error resume next - - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'cv Status - Dim Status - Status = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "Status") - - HighLimit = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "HighLimit")) - LowLimit = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "LowLimit")) - ReadValue = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "READVALUE")) - - dim sEntityPoint - sEntityPoint = UCASE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY)) - if strcomp(sEntityPoint, "", vbtextcompare) <> 0 then - EUHigh = csng(GSH_READTAGINFORMATIONKEYVALUE(sEntityPoint, "EUHigh", 100.0)) - EULow = csng(GSH_READTAGINFORMATIONKEYVALUE(sEntityPoint, "EULow", 0.0)) - end if - - 'ReadValue Data Check - If GSH_C200_ANALOG_ISDATABAD(ReadValue,true,false,false) Then - oShape.objects("txt_ReadValue").value = GSH_FormatPVText(oShape,ReadValue) - else - oShape.objects("txt_ReadValue").value = "---" - End If - - If HighLimit > EUHigh then ' not active - no constraint - HighLimit = EUHigh - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - else - if ReadValue > HighLimit then - oShape.objects("plg_opHigh").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - end if - end if - - If LowLimit < EULow then ' not active - LowLimit = EULow - oShape.objects("plg_opLow").style.visibility = GSH_HIDDEN - else - if ReadValue < LowLimit then - oShape.objects("plg_opLow").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_opLow").style.visibility = GSH_HIDDEN - end if - end if - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) and strComp(Status,"GOOD",vbtextCompare)<> 0 then - call GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL(oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_CVLABEL_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'18July2008 Created shape for SASOL RMPCT -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_CVLABEL_SCADA_ONUPDATE (oShape, flag) -on error resume next - - 'Focus - call GSH_ValveRegulatoryControlSetFocus(oShape) - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'cv Status - Dim Status - Status = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "Status") - - HighLimit = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "HighLimit")) - LowLimit = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "LowLimit")) - ReadValue = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "READVALUE")) - - dim sEntityPoint - sEntityPoint = UCASE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY)) - if strcomp(sEntityPoint, "", vbtextcompare) <> 0 then - EUHigh = csng(GSH_READTAGINFORMATIONKEYVALUE(sEntityPoint, "EUHigh", 100.0)) - EULow = csng(GSH_READTAGINFORMATIONKEYVALUE(sEntityPoint, "EULow", 0.0)) - end if - - If HighLimit > EUHigh then ' not active - no constraint - HighLimit = EUHigh - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - else - if ReadValue > HighLimit then - oShape.objects("plg_opHigh").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - end if - end if - - If LowLimit < EULow then ' not active - LowLimit = EULow - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - else - if ReadtValue < LowLimit then - oShape.objects("plg_opLow").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_opLow").style.visibility = GSH_HIDDEN - end if - end if - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) and strComp(Status,"GOOD",vbtextCompare)<> 0 then - call GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL(oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MVINDICATOR_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'11July2008 Created shape for SASOL RMPCT -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MVINDICATOR_SCADA_ONUPDATE (oShape, flag) -on error resume next - - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - call GSH_GEN_SETSHAPEFOCUS(oShape) - - Dim Status - Status = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "Status") - - HighLimit = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "HighLimit")) - LowLimit = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "LowLimit")) - SentValue = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "SentValue")) - - 'SentValue Data Check - If GSH_C200_ANALOG_ISDATABAD(SentValue,true,false,false) Then - oShape.objects("txt_SentValue").value = GSH_FormatPVText(oShape,SentValue) - else - oShape.objects("txt_SentValue").value = "---" - End If - - dim sEntityPoint - sEntityPoint = UCASE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY)) - if strcomp(sEntityPoint, "", vbtextcompare) <> 0 then - EUHigh = csng(GSH_READTAGINFORMATIONKEYVALUE(sEntityPoint, "EUHigh", 100.0)) - EULow = csng(GSH_READTAGINFORMATIONKEYVALUE(sEntityPoint, "EULow", 0.0)) - end if - - Range = EUHigh - EULow - - If HighLimit > EUHigh then ' not active - no constraint - HighLimit = EUHigh - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - else - if ((abs(HighLimit - SentValue)/Range) < 0.03) or (tempSentValue > tempHighLimit) then - oShape.objects("plg_opHigh").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - end if - end if - - If LowLimit < EULow then ' not active - LowLimit = EULow - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - else - if ((abs(LowLimit - SentValue)/Range) < 0.03) or (tempSentValue < tempLowLimit) then - oShape.objects("plg_opLow").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_opLow").style.visibility = GSH_HIDDEN - end if - end if - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL)then - If strComp(Status, "ON",vbtextCompare)<> 0 then - call GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL(oShape) - end if - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_MVLABEL_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'18July2008 Created shape for SASOL RMPCT -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_MVLABEL_SCADA_ONUPDATE (oShape, flag) -on error resume next - - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - - call GSH_GEN_SETSHAPEFOCUS(oShape) - - Dim Status - Status = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "Status") - - HighLimit = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "HighLimit")) - LowLimit = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "LowLimit")) - SentValue = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "SentValue")) - - dim sEntityPoint - sEntityPoint = UCASE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY)) - if strcomp(sEntityPoint, "", vbtextcompare) <> 0 then - EUHigh = csng(GSH_READTAGINFORMATIONKEYVALUE(sEntityPoint, "EUHigh", 100.0)) - EULow = csng(GSH_READTAGINFORMATIONKEYVALUE(sEntityPoint, "EULow", 0.0)) - end if - - Range = EUHigh - EULow - - If HighLimit > EUHigh then ' not active - no constraint - HighLimit = EUHigh - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - else - if ((abs(HighLimit - SentValue)/Range) < 0.03) or (tempSentValue > tempHighLimit) then - oShape.objects("plg_opHigh").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - end if - end if - - If LowLimit < EULow then ' not active - LowLimit = EULow - oShape.objects("plg_opHigh").style.visibility = GSH_HIDDEN - else - if ((abs(LowLimit - SentValue)/Range) < 0.03) or (tempSentValue < tempLowLimit) then - oShape.objects("plg_opLow").style.visibility = GSH_VISIBLE - else - oShape.objects("plg_opLow").style.visibility = GSH_HIDDEN - end if - end if - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) and strComp(Status, "GOOD",vbtextCompare)<> 0 then - call GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL(oShape) - end if -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DVINDICATOR_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'11July2008 Created shape for SASOL RMPCT -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DVINDICATOR_SCADA_ONUPDATE (oShape, flag) -on error resume next - - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'cv Status - Dim Status - Status = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "Status") - - 'ReadValue Data Check - ReadValue = csng(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "READVALUE")) - If GSH_C200_ANALOG_ISDATABAD(ReadValue,true,false,false) Then - oShape.objects("txt_ReadValue").value = GSH_FormatPVText(oShape,ReadValue) - else - oShape.objects("txt_ReadValue").value = "---" - End If - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) and strComp(tempStatus, "GOOD",vbtextCompare)<> 0 then - call GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL(oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_DVLABEL_SCADA_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'18July2008 Created shape for SASOL RMPCT -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_DVLABEL_SCADA_ONUPDATE (oShape, flag) -on error resume next - - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'cv Status - Dim Status - Status = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & "Status") - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) and strComp(tempStatus, "GOOD",vbtextCompare)<> 0 then - call GSH_GROUPREGULATORYCONTROLSHOWOFFNORMAL(oShape) - end if -end sub - -'--------------------------------------------START SHAPE COMMON------------------------------ - -'---------------------------------------------------------------------------------------------- - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_ALARM_SHOWSTATUS'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -'TODO: REMOVE GSH_TPS_ALARM_SHOWSTATUS when all TPS are switched to AlarmNum -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_ALARM_SHOWSTATUS (oShape, alarmPriorityParameter, alarmEnabledParameter, cssDisabledAlarmStyle) -on error resume next - 'Alarming - - 'if GSH_ISALARMINGENABLED(oShape.objects("rec_DataScript") ,GSH_CPENTITY, alarmEnabledParameter) Then - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript") ,GSH_CPENTITY, alarmEnabledParameter) Then - call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,alarmPriorityParameter),oShape) - else - oShape.objects("outline").styleClass = cssDisabledAlarmStyle - End If -End sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM ''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -'TODO: REMOVE GSH_TPS_ALARM_SHOWSTATUS when all TPS are switched to AlarmNum -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM (oShape, alarmEnabledParameter, cssDisabledAlarmStyle) -on error resume next - 'Alarming - - 'if GSH_ISALARMINGENABLED(oShape.objects("rec_DataScript") ,GSH_CPENTITY, alarmEnabledParameter) Then - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript") ,GSH_CPENTITY, alarmEnabledParameter) Then - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - oShape.objects("outline").styleClass = cssDisabledAlarmStyle - End If -End sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -''jan.25''' - -sub GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, parameterToCheck) -on error resume next - - dim sStateTxt - sStateTxt = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),parameterToCheck) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_DIGITALOUTPUT_OFFNORMAL_SHOWSTATUS (oShape, parameterToCheck) -on error resume next - - dim sStateTxt - sStateTxt = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),parameterToCheck) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_DIGITAL_POINT_OP_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, sStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End sub - - -' -' -' -sub GSH_COMMON_LOCALMAN_INTERLOCK_SHOWSTATUS(scriptObj, txt_LocalMan_Interlock) - 'Check for Localman and Interlock status - dim bLocalMan, bInterlock - bInterlock = GSH_GETENTITYPARAMETERVALUE(scriptObj,GSH_CPPARAM_INTERLOCK) - - if(bInterlock) then - txt_LocalMan_Interlock.value = GSH_INTERLOCK_TXT - txt_LocalMan_Interlock.style.visibility = GSH_VISIBLE - else - bLocalMan = GSH_GETENTITYPARAMETERVALUE(scriptObj,GSH_CPPARAM_LOCALMAN) - if(bLocalMan) then - txt_LocalMan_Interlock.value = GSH_LOCALMAN_TXT - txt_LocalMan_Interlock.style.visibility = GSH_VISIBLE - else - txt_LocalMan_Interlock.style.visibility = GSH_HIDDEN - end if - end if -end sub - -'------------------------------------------------------------ -'GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT -' This function required for TPS digital shapes b/c: -' TPS digital points allow force states -' which are unpreditable so we have to make PV references as State Description in stead of numeric -' In that case, we need this function to find the numeric state based on the statetext in order -' to find out which statestyle to use -' -' Sept 24,2009 - CL -'---------------------------------------------------------------- -function GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sStateTxt) -on error resume next -'gsh_log_s("GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT oShape=" & oShape.id & " sStateTxt = " &sStateTxt) - dim i, nNumericState, sTemp - - nNumericState = -1 - - 'Not sure if we need up to 5, but this is to get it work with demo points - for i=0 to 5 - sTemp = GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), "STATETXT("&i&")", GSH_NONE) - if strcomp(sStateTxt,sTemp,vbtextcompare)=0 then - nNumericState = i - end if - Next - GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT = nNumericState -'gsh_log_e("GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT nNumericState = " &nNumericState) -end function - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_COMMON_ANALOGOUTPUTINDICATOR_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_COMMON_ANALOGOUTPUTINDICATOR_ONUPDATE (oShape, flag) -on error resume next - If flag = 0 then - oShape.objects("outline").styleClass = GSH_CSSANALOGOUTPUTINDICATORNORMAL - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - end if - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) - end if -End sub - - -''''''''''''''''''''''''''''''''''''''''''''' -'Show Safe Operating Limit status -'''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_COMMON_SHOW_SOL_STATUS(oShape) -on error resume next -'gsh_log_s("GSH_COMMON_SHOW_SOL_STATUS oShape=" & oShape.id) - - 'Compare solHi and solLo with pvVal and change plg_SOL color accordingly - oShape.objects("plg_SOL").styleClass = GSH_CSSSSOLINLIMIT - oShape.objects("txt_SOL").style.visibility = GSH_HIDDEN - - If (not GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false)) Then - - Dim pvVal, solHi, solLo, sTagname - 'Check if PV is in SOL limit - pvVal = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV) - - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPENTITY, GSH_CPPOINT) - solHi = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_SOL_HI, GSH_NONE) - solLo = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_SOL_LO, GSH_NONE) - - 'Note: this nested condition ((solHi <> GSH_NONE) and (CDbl(solHi) < CDbl(pvVal))) - 'somehow does not work when solHi (or solLo) = GSH_NONE - 'So have to break them down - If (solHi <> GSH_NONE) Then - If (CDbl(solHi) < CDbl(pvVal)) Then - oShape.objects("plg_SOL").styleClass = GSH_CSSSSOLOUTOFLIMIT - oShape.objects("txt_SOL").style.visibility = GSH_VISIBLE - End If - End If - - If (solLo <> GSH_NONE) Then - If (CDbl(solLo) > CDbl(pvVal)) Then - oShape.objects("plg_SOL").styleClass = GSH_CSSSSOLOUTOFLIMIT - oShape.objects("txt_SOL").style.visibility = GSH_VISIBLE - End If - End If - - End If - -'gsh_log_e("GSH_COMMON_SHOW_SOL_STATUS oShape") - -End sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'*****Added by Jamie - Sept. 22 **** -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_ANALOG_POINT_IS_OFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_TPS_ANALOG_POINT_IS_OFFNORMAL(oDataBoundObject,sPointName,sOffNormalParam) -'gsh_log_s("GSH_TPS_ANALOG_POINT_IS_OFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ",sOffNormalParam=" & sOffNormalParam ) -on error resume next -Dim tempReturn - tempReturn = false - if strComp(GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam),GSH_MAN,vbTextCompare) = 0 then - tempReturn = true - end if -GSH_TPS_ANALOG_POINT_IS_OFFNORMAL = tempReturn -'gsh_log_e("GSH_TPS_ANALOG_POINT_IS_OFFNORMAL returning >>>" & tempReturn & "<<<") -end function - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_REGCTL_POINT_ISOFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -' In addition to Analog point off normal check, checks other RegCtl offnormal conditions -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' sTagName = TagName, eg. Entity or other literal tagname -' sParamName = Name of the param to check isNAN -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_TPS_REGCTL_POINT_ISOFFNORMAL(oDataBoundObject,sPointName,sOffNormalParam) -'gsh_log_s("GSH_TPS_REGCTL_POINT_ISOFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ",sOffNormalParam=" & sOffNormalParam ) -on error resume next -Dim tempReturn,shapePoint, bOffNormalTest1,bOffNormalTest2, bOffNormalTest3 -Dim sNModAttr, sNMode - shapePoint = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - bOffNormalTest1 = false - bOffNormalTest2 = false - bOffNormalTest3 = false - tempReturn = false 'default - -' gsh_log("offNormalParam = "&GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam)) - - if (strcomp(GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam),GSH_MAN,vbtextcompare) = 0) then - bOffNormalTest1 = true - end if - sNModAttr = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODATTR, GSH_NONE) - dim modAttr - modAttr = GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR) - -' gsh_log("modAttr = "&modAttr &"sNModAttr = " &sNModAttr) - - if (strComp(sNModAttr,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NModAttr is None - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR),sNModAttr,vbTextCompare) <> 0) then - bOffNormalTest2 = true - end if - end if - sNMode = GSH_READTAGINFORMATIONKEYVALUE(shapePoint, GSH_REGKEY_NMODE, GSH_NONE) -' gsh_log("sNMode = "&sNMode) -' gsh_log("GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE) = " &GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE)) - if (strComp(sNMode,GSH_NONE,vbTextCompare) <> 0) then 'if Registry NMode key is "None" - if (strComp(GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE),sNMode,vbTextCompare) <> 0) then - bOffNormalTest3 = true - end if - end if - tempReturn = ( ( bOffNormalTest1 ) or ( bOffNormalTest2) or (bOffNormalTest3) ) - GSH_TPS_REGCTL_POINT_ISOFFNORMAL = tempReturn -'gsh_log_e("GSH_TPS_REGCTL_POINT_ISOFFNORMAL returning >>>"&bOffNormalTest1& " " & bOffNormalTest2 & " " & bOffNormalTest3 & cstr(tempReturn) & "<<<") -end function - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL'''''''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Returns true or false -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -function GSH_TPS_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL(oDataBoundObject,sPointName,sOffNormalParam, sDigitalStateText) -'gsh_log_s("GSH_TPS_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL oDataBoundObject=" & oDataBoundObject.id & ",sPointName = " & sPointName & ",sOffNormalParam=" & sOffNormalParam & ",sDigitalStateText=" & sDigitalStateText) -on error resume next - Dim tempReturn,sTagname, bOffNormalTest1,bOffNormalTest2, bOffNormalTest4, bOffNormalTest3, sPVNormalState,sNModAttr - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(oDataBoundObject.parentelement.parentelement,sPointName, GSH_CPPOINT) - tempReturn = false: bOffNormalTest1 = false: bOffNormalTest2 = false: bOffNormalTest3 = false: bOffNormalTest4 = false - -''''jan. 25 '''' - temp = GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam) - if strComp(temp,GSH_NODATA,vbTextCompare)<> 0 then - if strComp(temp,GSH_AUTO,vbTextCompare) <> 0 then - bOffNormalTest1 = true - end if - end if -' if (strcomp(GSH_GETPARAMETERVALUE(oDataBoundObject, sPointName, sOffNormalParam),GSH_MAN,vbTextCompare) = 0) then -' bOffNormalTest1 = true -' end if - bOffNormalTest2 = GSH_DIGITAL_GETOFFNORMALSTATUS(sTagname, GSH_REGKEY_PVNORMAL_STATE, sDigitalStateText) - bOffNormalTest3 = GSH_DIGITAL_GETOFFNORMALSTATUS(sTagname, GSH_REGKEY_NMODATTR, GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODATTR)) - bOffNormalTest4 = GSH_DIGITAL_GETOFFNORMALSTATUS(sTagname, GSH_REGKEY_NMODE, GSH_GETENTITYPARAMETERVALUE(oDataBoundObject,GSH_CPPARAM_MODE)) - 'gsh_log("bOffNormalTest1="& bOffNormalTest1 &",bOffNormalTest2="&bOffNormalTest2& ",bOffNormalTest3="&bOffNormalTest3) - tempReturn = (bOffNormalTest1 or bOffNormalTest2 or bOffNormalTest3 or bOffNormalTest4) -GSH_TPS_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL = tempReturn -'gsh_log_e("GSH_TPS_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL returning >>>" & tempReturn & "<<<") -end function - -'---------------------------------------------END SHAPE COMMON ------------------------------- - -'--------------------------------------------START TPS SPECIFIC------------------------------ -'ooooooooooooo ooooooooo. .oooooo..o -'8' 888 `8 `888 `Y88. d8P' `Y8 -' 888 888 .d88' Y88bo. -' 888 888ooo88P' `"Y8888o. -' 888 888 `"Y88b -' 888 888 oo .d8P -' o888o o888o 8""88888P' -' sub routines -'---------------------------------------------------------------------------------------------- - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_ANALOGINDICATOR_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 01/29/2010: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_ANALOGINDICATOR_ALARMNUM_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_TPS_ANALOGINDICATOR_ALARMNUM_ONUPDATE oShape" & oShape.id) -on error resume next - - If flag = 0 then - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - 'Alarming - call GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM(oShape, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - End If - - If flag <=1 then - 'Set the focus - 'call GSH_ANALOGINDICATORSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - -'*****Changed by Jamie - Sept. 22 **** - if GSH_TPS_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - If flag = 0 then - 'Bad Data Check - If GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - oShape.objects("txt_PVvalue").value = "---" - Else - oShape.objects("txt_PVvalue").value = GSH_FormatPVText(oShape,oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV)) - - End If - End If -' GSH_LOG_E ("GSH_TPS_ANALOGINDICATOR_ALARMNUM_ONUPDATE") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_ANALOGINDICATOR_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 09/26/2008: Created by CL -' 01/29/2010: Updated alarm handling -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_ANALOGINDICATOR_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_TPS_ANALOGINDICATOR_ONUPDATE oShape" & oShape.id) -on error resume next - - If flag = 0 then - call GSH_ANALOGINDICATORSHOWNORMAL(oShape) - 'Alarming - call GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM(oShape, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - End If - - If flag <=1 then - 'Set the focus - 'call GSH_ANALOGINDICATORSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - -'*****Changed by Jamie - Sept. 22 **** - if GSH_TPS_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - If flag = 0 then - 'Bad Data Check - If GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - oShape.objects("txt_PVvalue").value = "---" - Else - oShape.objects("txt_PVvalue").value = GSH_FormatPVText(oShape,oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV)) - - End If - End If -' GSH_LOG_E ("GSH_TPS_ANALOGINDICATOR_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_ANALOGINDICATOR_SOL_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 09/26/2008: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_ANALOGINDICATOR_SOL_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_TPS_ANALOGINDICATOR_SOL_ONUPDATE oShape" & oShape.id) -on error resume next - - call GSH_TPS_ANALOGINDICATOR_ONUPDATE(oShape, flag) - - if flag = 0 then - call GSH_COMMON_SHOW_SOL_STATUS(oShape) - end if - -'GSH_LOG_E ("GSH_TPS_ANALOGINDICATOR_SOL_ONUPDATE oShape" & oShape.id) - -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_SOL_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 09/26/2008: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_SOL_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_TPS_SOL_ONUPDATE oShape" & oShape.id) -on error resume next - - If flag = 0 then - 'if the tag is in alarm - then SOL is outside of limits - oShape.objects("plg_SOL").styleClass = GSH_CSSSSOLINLIMIT - oShape.objects("txt_SOL").style.visibility = GSH_HIDDEN - If (strcomp(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")), GSH_NOALARMCODE, vbtextcompare) <> 0)then - oShape.objects("plg_SOL").styleClass = GSH_CSSSSOLOUTOFLIMIT - oShape.objects("txt_SOL").style.visibility = GSH_VISIBLE - End If - End If - - If flag <=1 then -' 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - End If - -'GSH_LOG_E ("GSH_TPS_SOL_ONUPDATE oShape" & oShape.id) -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_ANALOGOUTPUTINDICATORALARMS_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_ANALOGOUTPUTINDICATORALARMS_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_COMMON_ANALOGOUTPUTINDICATORALARMS_ONUPDATE oShape" & oShape.id) -on error resume next - - If flag = 0 then - oShape.objects("outline").styleClass = GSH_CSSANALOGOUTPUTINDICATORNORMAL - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - end if - - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) - end if - -'GSH_LOG_E ("GSH_TPS_ANALOGOUTPUTINDICATORALARMS_ONUPDATE") -end sub - -sub GSH_TPS_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE (oShape, flag) -'GSH_LOG_S ("GSH_TPS_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE oShape" & oShape.id) -on error resume next - - If flag = 0 then - oShape.objects("outline").styleClass = GSH_CSSANALOGOUTPUTINDICATORNORMAL - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - end if - - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_ANALOG_MODE_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - end if - - - - -'GSH_LOG_E ("GSH_TPS_ANALOGOUTPUTINDICATORALARMS_W_OFFNORMAL_ONUPDATE") - -end sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_DIGITALINDICATOR_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -'09/26/2008: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_DIGITALINDICATOR_ONUPDATE (oShape, flag) -on error resume next - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - - 'Alarming - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - 'No Bad Data Check - oShape.objects("txt_PVvalue").value = GSH_TPS_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - - End If - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - End If -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_DIGITALINDICATOR_NOALARMS_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -'09/21/2009: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_DIGITALINDICATOR_NOALARMS_ONUPDATE (oShape, flag) 'This version displays the StateTxt from the Registry -on error resume next - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - - 'No Bad Data Check - oShape.objects("txt_PVvalue").value = GSH_TPS_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - - End If - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_DIGITALINDICATORSHORT_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_DIGITALINDICATORSHORT_ONUPDATE (oShape, flag) -on error resume next - - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - 'Alarming - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - End If - - If flag <= 1 then - 'Set the focus - 'call GSH_DIGITALINDICATORSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - - End If -'Bad Data Check not needed -'Shape's Label is automatically assign to the Shape Custom property "Label" -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_DIGITALOUTPUTINDICATORALARMS_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_DIGITALOUTPUTINDICATORALARMS_ONUPDATE (oShape, flag) 'This version displays the StateTxt from the Registry -on error resume next - If flag = 0 then - call GSH_DIGITALINDICATORSHOWNORMAL(oShape) - 'Alarming - - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - oShape.objects("txt_OPvalue").value = GSH_TPS_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - - 'gsh_log "GSH_C200_DIGITALINDICATOR_ONUPDATE alarmpriority"&GSH_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY) - End If - If flag <= 1 then - 'Set the focus - 'call GSH_DIGITALINDICATORSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITALOUTPUT_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_OP) - End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_REGCTLINDICATOR_ONUPDATE''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_REGCTLINDICATOR_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_REGCTLINDICATOR_ONUPDATE oShape=" & oShape.id) - -On Error Resume Next - - If flag = 0 then - call GSH_REGULATORYCONTROLINDICATORSHOWNORMAL(oShape) - call GSH_SETREGULATORYCONTROLINDICATORMODE(oShape.objects("rec_DataScript")) - - 'Check the points alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'This call is for testing alarm in edmonton using simulation point - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - ''call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM(oShape, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - else - 'Alarm is Disabled - call GSH_REGULATORYCONTROLINDICATORSHOWDISABLEDALARM(oShape) - - End If - End If - - 'TODO: need to test on site - If flag <= 1 then - - 'Check Focus - call GSH_SETREGULATORYCONTROLINDICATORFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_TPS_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - If flag = 0 then - - 'PV Data Check - 'TODO: need to test on site - If GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - 'Set Mode - oShape.objects("txt_mode").value = Left(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE), 1) - - 'Check the point ramping - Select Case GSH_GET_POINT_RAMPING_VALUE(oShape.objects("rec_DataScript")) - Case GSH_RAMPING_RUN - call GSH_REGULATORYCONTROLINDICATORSHOW_RAMP(oShape,Left(GSH_RAMPING_RUN,1)) - Case GSH_RAMPING_PRESET - call GSH_REGULATORYCONTROLINDICATORSHOW_RAMP(oShape,Left(GSH_RAMPING_PRESET,1)) - Case else - 'do nothing because visibility is hidden by default and in Show Normal - end Select - 'Check the point Windup - dim sWindupStatus - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) - - End If -'gsh_log_e("GSH_TPS_REGCTLINDICATOR_ONUPDATE") -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_REGCTLINDICATOR_SOL_ONUPDATE''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_REGCTLINDICATOR_SOL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_REGCTLINDICATOR_SOL_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - call GSH_TPS_REGCTLINDICATOR_ONUPDATE(oShape, flag) - - if flag = 0 then - call GSH_COMMON_SHOW_SOL_STATUS(oShape) - end if - -'gsh_log_e("GSH_TPS_REGCTLINDICATOR_SOL_ONUPDATE") -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_GROUPANALOG_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/03/2009: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_GROUPANALOG_ONUPDATE(oShape,flag) -on error resume next -if flag = 0 then - call GSH_GROUPANALOGSHOWNORMAL(oShape) - - 'call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - call GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM(oShape, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) -End If -If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'Set the focus - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_TPS_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_GROUPANALOGSHOWOFFNORMAL(oShape) - end if - end if - -End If -If flag = 0 then - 'PV Data Check - If not(GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false)) Then - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - Else - call GSH_GROUPANALOGSHOWBADPV(oShape) - End If -End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_GROUPNUMERIC_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 03/18/2010: Created by JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_GROUPNUMERIC_ONUPDATE(oShape,flag) -on error resume next -if flag = 0 then - call GSH_GROUPANALOGSHOWNORMAL(oShape) -End If -If flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'Set the focus -End If -If flag = 0 then - 'Numeric - no PV Data Check - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) -End If -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_GROUPDIGITALCOMPOSITE_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 09/26/2008: Created by CL -' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_GROUPDIGITALCOMPOSITE_ONUPDATE(oShape, flag) -on error resume next - - If flag = 0 then - GSH_GROUPDIGITALCOMPOSITESHOWNORMAL(oShape) - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN 'Hide RedTag - - 'Alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")),oShape) - else - 'Alarm is Disabled - call GSH_GROUPDIGITALCOMPOSITESHOWSUPPRESSEDALARM(oShape) - End If - - 'PV Data Check - If GSH_C200_DIGITALCOMPOSITE_ISDATABAD(oShape.objects("rec_DataScript")) Then - call GSH_GROUPDIGITALCOMPOSITESHOWBADPV(oShape) - else - oShape.objects("txt_DigitalValue").value = GSH_TPS_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - End If - End If - - If flag <= 1 then - 'Set the focus - 'call GSH_GROUPDIGITALCOMPOSITESETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - 'hide OP combobox if it was opened - oShape.objects("cmb_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_MODEValue").style.visibility = GSH_HIDDEN - - if GSH_TPS_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL, oShape.objects("txt_DigitalValue").value) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - End If - - If flag = 0 then - 'Status message - dim val_redTag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - else - 'Check status Message - dim val_stsMsg - val_stsMsg = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG) - call GSH_Show_StatusMessageFlag(oShape, val_stsMsg) - end if - - 'Display OP Value -' sOPStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - oShape.objects("txt_OPValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP) - oShape.objects("txt_MODEValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - End If -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_GROUPDIGITALINPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape - Shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/03/09 - Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_GROUPDIGITALINPUT_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_GROUPDIGITALINPUT_ONUPDATE oShape = " & oShape.id) -on error resume next - - If flag = 0 then - GSH_GROUPDIGITALINPUTSHOWNORMAL(oShape) - - 'Alarming - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - oShape.objects("txt_DigitalValue").value = GSH_TPS_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - - End If - - If flag <= 1 then - 'Set the focus - 'call GSH_GROUPDIGITALINPUTSETFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - - End If - -'gsh_log_e("GSH_TPS_GROUPDIGITALINPUT_ONUPDATE") -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MF_DIGITALOUTPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus (b/c digital values are not changed often) -' Aug 27, 2009 - Added new -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_MF_DIGITALOUTPUT_ONUPDATE(oShape, flag) -on error resume next -'gsh_log_s("GSH_TPS_MF_DIGITALOUTPUT_ONUPDATE shapeID = "& oShape.id) - - GSH_GROUPDIGITALCOMPOSITESHOWNORMAL(oShape) - call GSH_GEN_SETSHAPEFOCUS(oShape) - - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - 'Display OP Value - dim sOPStateTxt - sOPStateTxt = GSH_SCADA_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_OP, oShape.objects("rec_DataScript")) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("cmb_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_SCADA_DIGITAL_POINT_OP_ISOFFNORMAL(oShape.objects("rec_DataScript"),GSH_CPENTITY, sOPStateTxt) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - - oShape.objects("txt_OPValue").value = sOPStateTxt - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_SELECTOROUTPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -'09/29/2008: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_SELECTOROUTPUT_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_SELECTOROUTPUT_ONUPDATE oShape=" & oShape.id) - -On Error Resume Next - - If flag = 0 then - call GSH_SELECTOROUTPUTSHOWNORMAL(oShape) - call GSH_SELECTOROUTPUTSHOWSELECTOR(oShape, GSH_CPPARAM_SELINPUT) - 'Alarming - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_SELECTOROUTPUT_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - -'gsh_log_e("GSH_TPS_SELECTOROUTPUT_ONUPDATE") - -End Sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_SELECTOROUTPUTFLAG_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -'11/18/2009: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_SELECTOROUTPUTFLAG_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_SELECTOROUTPUTFLAG_ONUPDATE oShape=" & oShape.id) - -On Error Resume Next - - If flag = 0 then - call GSH_SELECTOROUTPUTSHOWNORMAL(oShape) - call GSH_SELECTOROUTPUTFLAGSHOWSELECTOR(oShape, GSH_CPPARAM_PV) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - End If - -'gsh_log_e("GSH_TPS_SELECTOROUTPUTFLAG_ONUPDATE") - -End Sub -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_SELECTOROUTPUTSHOWSELECTOR'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape = shape -' paramSelector = custom parameter -'11/18/2009: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_SELECTOROUTPUTFLAGSHOWSELECTOR(oShape, paramSelector) -'gsh_log_s("GSH_SELECTOROUTPUTFLAGSHOWSELECTOR oShape=" & oShape.id & ", paramSelector=" & paramSelector) -on error resume next - dim xinput, selOrientation - 'xinput = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),paramSelector) - xinput = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & paramSelector) - 'xinput is expected to be 0 ,1 or 2 - xinput = xinput + 1 - - - ' Determine selector orientation (LEFT, RIGHT, CENTER) - selOrientation = GSH_NONE - select case xinput - case GSH_SELX1 - ' Retrive custom parameter X1 - selOrientation = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPX1, GSH_CPVALUE) - case GSH_SELX2 - ' Retrive custom parameter X2 - selOrientation = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPX2, GSH_CPVALUE) - case GSH_SELX3 - ' Retrive custom parameter X3 - selOrientation = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape, GSH_CPX3, GSH_CPVALUE) - end select - 'Set Orientation - call GSH_SELECTOROUTPUTSETORIENTATION(oShape, selOrientation) -'gsh_log_e("GSH_SELECTOROUTPUTFLAGSHOWSELECTOR orientation set = " &selOrientation) - -end sub - - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_SELXDESC_ONUPDATE'''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/04/2009 Created shape by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_SELXDESC_ONUPDATE (oShape, flag) 'This version displays the SELXDESC parameter -on error resume next - If flag = 0 then - call GSH_REGULATORYCONTROLINDICATORSHOWNORMAL(oShape) - 'Alarming - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - 'No Bad Data Check - oShape.objects("txt_PVvalue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_SELXDESC") - oShape.objects("txt_mode").value = Left(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE), 1) - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) - End If - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_AUTOMAN_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_AUTOMAN_ONUPDATE''''''''''''''''''''''''' -'Parameters: oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 09/29/2008: Created by CL. -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_AUTOMAN_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_AUTOMAN_ONUPDATE oShape=" & oShape.id) -On Error Resume Next -If flag = 0 then - call GSH_REGULATORYCONTROLINDICATORSHOWNORMAL(oShape) - 'Check the points alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'This call is for testing alarm in edmonton using simulation point - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_EXPERION_PARAM_ALARMPRIORITY),oShape) - call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - else - 'Alarm is Disabled - call GSH_REGULATORYCONTROLINDICATORSHOWDISABLEDALARM(oShape) - End If -End If -If flag <= 1 then - 'call GSH_SETREGULATORYCONTROLINDICATORFOCUS(oShape) replaced by - call GSH_GEN_SETSHAPEFOCUS (oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_AUTOMAN_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If -If flag = 0 then - oShape.objects("txt_OPValue").value = formatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - oShape.objects("txt_mode").value = Left(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE), 1) - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) -End If -'gsh_log_e("GSH_TPS_AUTOMAN_ONUPDATE") -End Sub - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_HORIZONTALPVBAR_ONUPDATE -'Update function for the shape C200_HORIZONTALPVBAR -'Parameter: Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 09/29/2008: Created by CL -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_HORIZONTALPVBAR_ONUPDATE(oShape, flag) -'gsh_log_s "GSH_TPS_HORIZONTALPVBAR_ONUPDATE" - If flag = 0 then - call GSH_SHOWALARMS_WOOUTLINE(GSH_NOALARMCODE,oShape) 'show normal - dim nPVValue, iPVValue, iRangeHi, iRangeLo - - 'Alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'call GSH_SHOWALARMS_WOOUTLINE(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWALARMS_WOOUTLINE(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_DISABLED - End If - - if GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - oShape.objects("ind_PVBar").value = 0 - oShape.objects("txtBadPV").style.visibility = GSH_VISIBLE - else - oShape.objects("txtBadPV").style.visibility = GSH_HIDDEN - nPVValue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - iRangeHi = CInt(oShape.GetCustomProperty("Value", "txtHighLimit")) - iRangeLo = CInt(oShape.GetCustomProperty("Value", "txtLowLimit")) - if (nPVValue >= iRangeHi) then - iPVValue = 100 - ElseIf (nPVValue <= iRangeLo) then - iPVValue = 0 - else - iPVValue = Cint(((nPVValue-iRangeLo)* 100 )/ (iRangeHi - iRangeLo)) - end if - oShape.objects("ind_PVBar").value = iPVValue - end if - End If - - If flag <= 1 then - call GSH_SETSHAPEFOCUS(oShape) - End If -'gsh_log_e "GSH_TPS_HORIZONTALPVBAR_ONUPDATE" -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_HORIZONTALPVBAR_NUMERIC_ONUPDATE -'Update function for the shape C200_HORIZONTALPVBAR -'Parameter: Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 09/29/2008: Created by CL -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_HORIZONTALPVBAR_NUMERIC_ONUPDATE(oShape, flag) -'gsh_log_s "GSH_TPS_HORIZONTALPVBAR_NUMERIC_ONUPDATE" - If flag = 0 then - dim nPVValue, iPVValue, iRangeHi, iRangeLo - - 'No Alarming - if GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - oShape.objects("ind_PVBar").value = 0 - oShape.objects("txtBadPV").style.visibility = GSH_VISIBLE - else - oShape.objects("txtBadPV").style.visibility = GSH_HIDDEN - nPVValue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - iRangeHi = CInt(oShape.GetCustomProperty("Value", "txtHighLimit")) - iRangeLo = CInt(oShape.GetCustomProperty("Value", "txtLowLimit")) - if (nPVValue >= iRangeHi) then - iPVValue = 100 - ElseIf (nPVValue <= iRangeLo) then - iPVValue = 0 - else - iPVValue = Cint(((nPVValue-iRangeLo)* 100 )/ (iRangeHi - iRangeLo)) - end if - oShape.objects("ind_PVBar").value = iPVValue - end if - End If - - If flag <= 1 then - call GSH_SETSHAPEFOCUS(oShape) - End If -'gsh_log_e "GSH_TPS_HORIZONTALPVBAR_NUMERIC_ONUPDATE" -end sub - - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_SPPVOPBAR_ONUPDATE -'Update function for the shape TPS_SPPVOPBAR -'Parameter: Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -' 07/04/2009 - Created (Cuong Ly) -' Note - use int function as cint function -' can not handle large number (example 150000) (CL) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_SPPVOPBAR_ONUPDATE(oShape, flag) -On Error Resume Next -'gsh_log_s("GSH_TPS_SPPVOPBAR_ONUPDATE ") - - If flag = 0 then - call GSH_SHOWALARMS_WOOUTLINE(GSH_NOALARMCODE,oShape) 'show normal - 'check if PV is bad then - if GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - oShape.objects("ind_PVBar").value = 0 - oShape.objects("txtBadPV").style.visibility = GSH_VISIBLE - else - Dim iRangeHi, iRangeLo - - iRangeHi = int(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & ".PVEUHI")) - iRangeLo = int(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & ".PVEULO")) - - oShape.objects("ind_PVBar").value = int((GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)/(iRangeHi-iRangeLo))*100) - oShape.objects("txtBadPV").style.visibility = GSH_HIDDEN -' gsh_log "iRangeHi="&iRangeHi-iRangeLo&", iRangeLo="&iRangeLo& ", PV="& GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) &", PVBar="& Cint((GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)/(iRangeHi-iRangeLo))*100) - End if - - call GSH_SETSPINDICATOR_HORIZONTAL(oShape,iRangeLo,iRangeHi) - End If - - If flag <= 1 then - - 'Alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'call GSH_SHOWALARMS_WOOUTLINE(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY), oShape) - call GSH_SHOWALARMS_WOOUTLINE(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")), oShape) - else - oShape.objects("ind_PVBar").styleClass = GSH_CSSBGALARM_DISABLED - End If - - call GSH_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_TPS_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - 'Check the point ramping - Select Case GSH_GET_POINT_RAMPING_VALUE(oShape.objects("rec_DataScript")) - Case GSH_RAMPING_RUN - call GSH_REGULATORYCONTROLINDICATORSHOW_RAMP(oShape,Left(GSH_RAMPING_RUN,1)) - Case GSH_RAMPING_PRESET - call GSH_REGULATORYCONTROLINDICATORSHOW_RAMP(oShape,Left(GSH_RAMPING_PRESET,1)) - Case else - oShape.objects("txt_ramp").style.visibility = GSH_HIDDEN - end Select - - End If - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_SPPVOPBAR_ONUPDATE",oShape) - end if -'gsh_log_e("GSH_TPS_SPPVOPBAR_ONUPDATE ") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_LevelIndicator_OnUpdate''''''''''''''''''''''''''''''''''''''' -'Parameters:oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 09/29/2008 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_LevelIndicator_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_LevelIndicator_OnUpdate oShape="&oShape.id & ", flag="&flag) -On Error Resume Next - If flag <= 1 then - call GSH_LevelIndicatorShowNormal(oShape) - 'Check Alarms - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'alarming is enabled, get highest priority(if any) and change shape accordingly - 'call GSH_SHOWLEVELALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWLEVELALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - 'Alarm is Disabled - call GSH_LevelIndicatorShowDisbledAlarm(oShape) - End If - - call GSH_LevelIndicatorSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_TPS_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorSHOWOFFNORMAL(oShape) - end if - end if - numOfDecimals = CInt(Right(GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1)) - 'Check for Bad PV - if GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), numOfDecimals) - End If - End If -'gsh_log_e("GSH_TPS_LevelIndicator_OnUpdate") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_LevelIndicator_Wide_ShowPV_OnUpdate''''''''''''''''''''''''''''''''''''''' -'Parameters:oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 09/29/2008 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_LevelIndicator_Wide_ShowPV_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_LevelIndicator_Wide_ShowPV_OnUpdate oShape="&oShape.id & ", flag="&flag) -On Error Resume Next - If flag <= 1 then - call GSH_LevelIndicatorShowNormal(oShape) - 'Check Alarms - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'alarming is enabled, get highest priority(if any) and change shape accordingly - 'call GSH_SHOWLEVELALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWLEVELALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - 'Alarm is Disabled - call GSH_LevelIndicatorShowDisbledAlarm(oShape) - End If - - call GSH_LevelIndicatorSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_TPS_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorSHOWOFFNORMAL(oShape) - end if - end if - numOfDecimals = CInt(Right(GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1)) - 'Check for Bad PV - if GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), numOfDecimals) - End If - - oShape.objects("txt_PVValue").style.visibility = GSH_VISIBLE - 'oShape.objects("txt_PVvalue").styleClass = GSH_CSSLEVELINDICATORNORMALPVTEXT - oShape.objects("outline").style.visibility = GSH_VISIBLE - - - End If -'gsh_log_e("GSH_TPS_LevelIndicator_Wide_ShowPV_OnUpdate") -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_LevelIndicator_Small_OnUpdate''''''''''''''''''''''''''''''''''''''' -'Parameters:oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/02/2008 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_LevelIndicator_Small_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_LevelIndicator_OnUpdate oShape="&oShape.id & ", flag="&flag) -On Error Resume Next - If flag <= 1 then - call GSH_LevelIndicatorShowNormal(oShape) - 'Check Alarms - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'alarming is enabled, get highest priority(if any) and change shape accordingly - 'call GSH_SHOWLEVELSMALLALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWLEVELSMALLALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - 'Alarm is Disabled - call GSH_LevelIndicatorShowDisbledAlarm(oShape) - End If - - call GSH_LevelIndicatorSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - if GSH_TPS_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorSHOWOFFNORMAL(oShape) - end if - end if - - numOfDecimals = CInt(Right(GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1)) - - 'Check for Bad PV - if GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), numOfDecimals) - End If - End If -'gsh_log_e("GSH_TPS_LevelIndicator_OnUpdate") -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_LEVELREGCTL_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 09/29/2008: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_LEVELREGCTL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_LEVELREGCTL_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -On Error Resume Next - If flag <= 1 then - GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'call GSH_SHOWLEVELALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWLEVELALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - - End If - 'End If - 'If flag <= 1 then - call GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_TPS_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) - end if - end if - - numOfDecimals = CInt(Right(GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1)) - - 'Check for bad value - If GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - call GSH_LevelIndicatorShowSPFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), numOfDecimals) - End If - End If - If flag = 0 then - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - End If -'gsh_log_e("GSH_TPS_LEVELREGCTL_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_LEVELREGCTL_Small_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -' 06/02/2009: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_LEVELREGCTL_SMALL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_LEVELREGCTL_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -On Error Resume Next - If flag <= 1 then - GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'call GSH_SHOWLEVELSMALLALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWLEVELSMALLALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - - End If - 'End If - 'If flag <= 1 then - call GSH_LevelIndicatorRegulatoryControlSetFocus(oShape) - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_TPS_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - call GSH_LevelIndicatorRegulatoryControlShowOffNormal(oShape) - end if - end if - - numOfDecimals = CInt(Right(GSH_READTAGINFORMATIONKEYVALUE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY), GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1)) - - 'Check for bad value - If GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - call GSH_LevelIndicatorShowPVFloat(oShape) - call GSH_LevelIndicatorShowSPFloat(oShape) - oShape.objects("txt_PVvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV), numOfDecimals) - End If - End If - If flag = 0 then - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - End If -'gsh_log_e("GSH_TPS_LEVELREGCTL_ONUPDATE") -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_GROUPAUTOMAN_ONUPDATE''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus -' 09/29/2008: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_GROUPAUTOMAN_ONUPDATE(oShape, flag) -on error resume next - If flag = 0 then - GSH_GROUPAUTOMANSHOWNORMAL(oShape) - 'Alarming - call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_C200_AUTOMAN_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - End If - - If flag = 0 then - 'Display OP Value - oShape.objects("txt_OPValue").value = formatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - 'RedTag message - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - else - 'Check status Message - dim val_stsMsg - val_stsMsg = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG) - call GSH_Show_StatusMessageFlag(oShape, val_stsMsg) - end if - End If -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_GROUPREGULATORYCONTROL_ONUPDATE'''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'09/29/2008 - Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_GROUPREGULATORYCONTROL_ONUPDATE(oShape, flag) -on error resume next -if flag = 0 then - GSH_GROUPREGULATORYCONTROLSHOWNORMAL(oShape) - oShape.objects("txt_statusmessage").style.visibility = GSH_HIDDEN 'Hide RedTag - - 'Alarming - If GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - End If -End If - -if flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - - 'Check for Off Normal and hide text entry and combobox if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - oShape.objects("alp_SPValue").style.visibility = GSH_HIDDEN - oShape.objects("alp_OPValue").style.visibility = GSH_HIDDEN - oShape.objects("cmb_ModeValue").style.visibility = GSH_HIDDEN - - if GSH_TPS_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - -if flag = 0 then - 'PV Data Check - If GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - 'Display OP Value - 'oShape.objects("txt_OPValue").value = formatNumber(alp_OPValue.value,GSH_OUTPUTINDICATORDECIMALS) - oShape.objects("txt_OPValue").value = FormatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - - 'Display SP Value - 'oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,alp_SPValue.value) - oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SP)) - - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - 'Assumption: Reg tag and status message are mutual exclusive - 'Status message - dim val_redTag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if strcomp(val_redTag,GSH_ON,vbtextcompare) = 0 then - oShape.objects("txt_statusmessage") = GSH_REDTAG_TEXT - oShape.objects("txt_statusmessage").style.visibility = GSH_VISIBLE - else - 'Check status Message - dim val_stsMsg - val_stsMsg = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG) - call GSH_Show_StatusMessageFlag(oShape, val_stsMsg) - end if - - 'Set Ramping - Select case GSH_GET_POINT_RAMPING_VALUE(oShape.objects("rec_DataScript")) - Case GSH_RAMPING_RUN - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_RUN,1)) - Case GSH_RAMPING_PRESET - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_PRESET,1)) - Case else - 'do nothing because visibility is hidden by default and in Show Normal - end select -End If -end sub - -'''Jan. 25 ''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATOR_ONUPDATE''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 09/29/2008 - Created by CL -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATOR_ONUPDATE(oShape, flag) -On Error Resume Next -'gsh_log_s("GSH_TPS_MOTORINDICATOR_ONUPDATE >>>>> Shape ="& oShape.id) - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - - 'set motor to running or not based on registry - Dim nNumericState, sPVvalue - sPVValue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sPVValue) - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - 'Alarming - 'call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - call GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM(oShape, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - End If -'gsh_log_e("GSH_TPS_MOTORINDICATOR_ONUPDATE ") -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATOR_LM_ONUPDATE''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/03/2009 - Create the function to handle TPS MotoIndicator_lm shapes with Localman and Interlock indicators -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATOR_LM_ONUPDATE(oShape, flag) -On Error Resume Next - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - - 'set motor to running or not based on registry - Dim nNumericState, sPVvalue - sPVValue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sPVValue) - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - 'Alarming - 'call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - call GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM(oShape, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - End If - - - If flag = 0 then - 'Check for Localman and Interlock status - call GSH_COMMON_LOCALMAN_INTERLOCK_SHOWSTATUS(oShape.objects("rec_DataScript"), oShape.objects("txt_Localman")) - - end if - -End Sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATORSMALL_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/03/09 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATORSMALL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_MOTORINDICATORSMALL_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next - - If flag = 0 then - call GSH_MINIMOTORINDICATORSHOWNORMAL(oShape) - 'set motor to running or not based on registry - Dim nNumericState, sPVvalue - sPVValue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sPVValue) - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - 'Alarming - 'call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSSMINIMOTORINDICATORDISABLEDALARM) - call GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM(oShape, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - End If -'gsh_log_e("GSH_TPS_MOTORINDICATORSMALL_ONUPDATE") -End Sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATORSMALL_NOALARMS_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 09/23/09 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATORSMALL_NOALARMS_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_MOTORINDICATORSMALL_NOALARMS_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next - - If flag = 0 then - call GSH_MINIMOTORINDICATORSHOWNORMAL(oShape) - 'set motor to running or not based on registry - Dim nNumericState, sPVvalue - sPVvalue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sPVvalue) - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - End If -'gsh_log_e("GSH_TPS_MOTORINDICATORSMALL_NOALARMS_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_MOTORINDICATORSMALL_NOALARMS_ONUPDATE",oShape) - end if -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATORSMALL_NOALARMS_NOFOCUS_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' 12/9/09 Created by JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATORSMALL_NOALARMS_NOFOCUS_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_MOTORINDICATORSMALL_NOALARMS_NOFOCUS_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next - - 'set motor to running or not based on shape custom property - Dim sPVvalue, sStateTxt_On - sPVvalue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - - sStateTxt_On = oShape.GetCustomProperty(GSH_CPVALUE,"STATETXT_ON") - - if (StrComp(sPVvalue,sStateTxt_On,vbtextcompare) <> 0) then - oShape.objects("rec_Motor").styleClass = "MOTORINDICATORMOTORNOTRUNNING" - else - oShape.objects("rec_Motor").styleClass = "MOTORINDICATORMOTORRUNNING" - end if - - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE - -'gsh_log_e("GSH_TPS_MOTORINDICATORSMALL_NOALARMS_NOFOCUS_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_MOTORINDICATORSMALL_NOALARMS_NOFOCUS_ONUPDATE",oShape) - end if -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATORSMALL_FLAG_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' 18/3/2010 Created by JE -' 24/3/2010 Modified by JE to add check for either On or True -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATORSMALL_FLAG_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_MOTORINDICATORSMALL_FLAG_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next - - 'set motor to running or not based on flag - Dim sPVvalue - sPVvalue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - - if (StrComp(sPVvalue,"ON",vbtextcompare) = 0) OR (StrComp(sPVvalue,"TRUE",vbtextcompare) = 0) then - oShape.objects("rec_Motor").styleClass = "MOTORINDICATORMOTORRUNNING" - else - oShape.objects("rec_Motor").styleClass = "MOTORINDICATORMOTORNOTRUNNING" - end if - - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE - -'gsh_log_e("GSH_TPS_MOTORINDICATORSMALL_FLAG_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_MOTORINDICATORSMALL_FLAG_ONUPDATE",oShape) - end if -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATORSMALL_NUMERIC_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' 19/3/2010 Created by JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATORSMALL_NUMERIC_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_MOTORINDICATORSMALL_NUMERIC_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next - - 'set motor to running or not based on numeric state (1=ON, everything else is OFF) - Dim sPVvalue - nPVvalue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - - if nPVvalue <> 1 then - oShape.objects("rec_Motor").styleClass = "MOTORINDICATORMOTORNOTRUNNING" - else - oShape.objects("rec_Motor").styleClass = "MOTORINDICATORMOTORRUNNING" - end if - - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE - -'gsh_log_e("GSH_TPS_MOTORINDICATORSMALL_NUMERIC_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_MOTORINDICATORSMALL_NUMERIC_ONUPDATE",oShape) - end if -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATORSMALL_LM_ONUPDATE''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/03/2009 - Create the function to handle TPS MotoIndicator_lm shapes with Localman and Interlock indicators -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATORSMALL_LM_ONUPDATE(oShape, flag) -On Error Resume Next - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - - 'Alarming - 'call GSH_TPS_ALARM_SHOWSTATUS(oShape, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSSMINIMOTORINDICATORDISABLEDALARM) - call GSH_TPS_ALARM_SHOWSTATUS_ALARMNUM(oShape, GSH_TPS_PARAM_ALARM_ENABLED, GSH_CSS_ALARMDISABLED) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - End If - - If flag = 0 then - 'Check for Localman and Interlock status - call GSH_COMMON_LOCALMAN_INTERLOCK_SHOWSTATUS(oShape.objects("rec_DataScript"), oShape.objects("txt_Localman")) - end if - -End Sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATORWITHALARMS_ONUPDATE'''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/03/09 - Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATORWITHALARMS_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_TPS_MOTORINDICATORWITHALARMS_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - Dim sPVvalue, nNumericState - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - - 'set motor to running or not based on registry - sPVValue = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sPVValue) - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - 'Alarming - call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITYALARM,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - End If - - -'gsh_log_e("GSH_TPS_MOTORINDICATORWITHALARMS_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MOTORINDICATORWITHALARMS_LM_ONUPDATE'''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/03/09 - Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_MOTORINDICATORWITHALARMS_LM_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_TPS_MOTORINDICATORWITHALARMS_LM_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - - If flag = 0 then - call GSH_MOTORINDICATORSHOWNORMAL(oShape) - - 'set motor to running or not based on registry - call GSH_MOTORINDICATORSETNUMERICSTATE(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV),GSH_CPPARAM_PV) - - 'Alarming - call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITYALARM,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - End If - - If flag = 0 then - 'Check for Localman and Interlock status - call GSH_COMMON_LOCALMAN_INTERLOCK_SHOWSTATUS(oShape.objects("rec_DataScript"), oShape.objects("txt_Localman")) - end if - -'gsh_log_e("GSH_TPS_MOTORINDICATORWITHALARMS_LM_ONUPDATE") -End Sub - -' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_REGCTLBOX_ONUPDATE'''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only -'09/30/2008 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_REGCTLBOX_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_REGCTLBOX_ONUPDATE oShape="&oShape.id& ", flag = "&flag) -on error resume next -if flag = 0 then - - call GSH_REGCTLBOXSHOWNORMAL(oShape) - - 'Alarming - If GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - call GSH_GROUPREGULATORYCONTROLSHOWSUPPRESSEDALARM(oShape) - End If -End If - -if flag <= 1 then - call GSH_GEN_SETSHAPEFOCUS(oShape) 'replaces GSH_GROUPREGULATORYCONTROLSETFOCUS(oShape) - - 'Check for Off Normal and hide text entry and combobox if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - if GSH_TPS_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if -End If - -if flag = 0 then - 'PV Data Check - If GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) Then - call GSH_GROUPREGULATORYCONTROLSHOWBADPV(oShape) - else - oShape.objects("txt_AnalogValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - End If - - 'Display OP Value - oShape.objects("txt_OPValue").value = FormatNumber(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS,-2,0,0) - - 'Display SP Value - oShape.objects("txt_SPValue").value = GSH_FormatPVText(oShape,GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_SP)) - - 'Check status Message - dim val_stsMsg - val_stsMsg = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG) - call GSH_Show_StatusMessageFlag(oShape, val_stsMsg) - - - 'ModAttr Data Check - If (GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODATTR) = GSH_MODE_PROGRAM) Then - oShape.objects("txt_ModeValue").value = GSH_MODE_PROGRAM_TEXT & GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - Else - oShape.objects("txt_ModeValue").value = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE) - end if - - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - - 'Set Ramping - Select case GSH_GET_POINT_RAMPING_VALUE(oShape.objects("rec_DataScript")) - Case GSH_RAMPING_RUN - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_RUN,1)) - Case GSH_RAMPING_PRESET - call GSH_GROUPREGULATORYCONTROLSHOW_RAMP(oShape,Left(GSH_RAMPING_PRESET,1)) - Case else - 'do nothing because visibility is hidden by default and in Show Normal - end select -End If -'gsh_log_e("GSH_TPS_REGCTLBOX_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_SENSOR_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 09/30/2008 - Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_SENSOR_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_SENSOR_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - - If flag = 0 then - call GSH_SENSORSHOWNORMAL(oShape) - 'Alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) then - 'alarming is enabled, get highest priority and change shape accordingly - 'Select Case GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY) - Select Case GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")) - Case GSH_UNACKEMERG - call GSH_SENSORSHOWEMERGENCYALARM(oShape,true) - Case GSH_UNACKHIGH - call GSH_SENSORSHOWHIGHALARM(oShape,true) - Case GSH_UNACKLOW - call GSH_SENSORSHOWLOWALARM(oShape,true) - Case GSH_ACKEMERG - call GSH_SENSORSHOWEMERGENCYALARM(oShape,false) - Case GSH_ACKHIGH - call GSH_SENSORSHOWHIGHALARM(oShape,false) - Case GSH_ACKLOW - call GSH_SENSORSHOWLOWALARM(oShape,false) - Case Else - End Select - else - 'Alarm is Disabled - call GSH_SENSORSHOWSUPPRESSEDALARM(oShape) - End If - End If - - If flag <= 1 then - call GSH_SETSHAPEFOCUS(oShape) - End If -' gsh_log_e("GSH_TPS_SENSOR_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_MULTIPLESENSORS_ONUPDATE''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/04/09 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_MULTIPLESENSORS_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_MULTIPLESENSORS_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - If flag = 0 then - call GSH_MULTIPLESENSORSSHOWNORMAL(oShape) - 'Alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) then - 'Get Highest Alarm - iAlarmCode1 = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITYALARM,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY) - iAlarmCode2 = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY) - - iAlarmCode = GSH_COMPAREHIGHESTALARMPRIORITY(iAlarmCode1, iAlarmCode2) - Select Case iAlarmCode - Case GSH_UNACKEMERG - call GSH_MULTIPLESENSORSSHOWEMERGENCYALARM(oShape,true) - Case GSH_UNACKHIGH - call GSH_MULTIPLESENSORSSHOWHIGHALARM(oShape,true) - Case GSH_UNACKLOW - call GSH_MULTIPLESENSORSSHOWLOWALARM(oShape,true) - Case GSH_ACKEMERG - call GSH_MULTIPLESENSORSSHOWEMERGENCYALARM(oShape,false) - Case GSH_ACKHIGH - call GSH_MULTIPLESENSORSSHOWHIGHALARM(oShape,false) - Case GSH_ACKLOW - call GSH_MULTIPLESENSORSSHOWLOWALARM(oShape,false) - Case Else - 'No Alarms - End Select - - else - call GSH_MULTIPLESENSORSSHOWSUPPRESSEDALARM(oShape) - - end if - End If - - If flag <= 1 then - 'Set the focus - call GSH_MULTIPLESENSORSSETFOCUS(oShape) - 'No Offnormal check as this shape could be a digital flag or analog point. - End If - 'gsh_log_e("GSH_TPS_MULTIPLESENSORS_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GEN_MULTIPLESENSORS_ALARMGROUP_ONUPDATE''''''''''''''''''''''''''''''''''''' -'Parameters: -' oShape: Shape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/04/09 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_GEN_MULTIPLESENSORS_ALARMGROUP_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_GEN_MULTIPLESENSORS_ALARMGROUP_ONUPDATE oShape=" & oShape.id) -On Error Resume Next - If flag = 0 then - call GSH_MULTIPLESENSORSSHOWNORMAL(oShape) - 'Alarming - - dim sAlarmPriority, bUnack - sAlarmPriority = GSH_GETALARMGROUPPRIORITYPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITYALARM) - bUnack = GSH_GETALARMGROUPUNACKPARAMETER(oShape.objects("rec_dataScript"),GSH_CPENTITYALARM) -' gsh_log ("sAlarmPriority = " & sAlarmPriority & " bUnack = " & bUnack ) - oShape.Objects("focus").linewidth = 0 - - if(sAlarmPriority > 0) then - call GSH_SHOWALARMS (sAlarmPriority, bUnack, oShape) - else - call GSH_SHOWNOALARM(oShape) - oShape.Objects("outline").styleClass = GSH_CSSTABOUTLINENORMAL - end if - End If - If flag <= 1 then - 'Set the focus - call GSH_MULTIPLESENSORSSETFOCUS(oShape) - 'No Offnormal check as this shape uses an alarm group. - End If -' gsh_log_e("GSH_GEN_MULTIPLESENSORS_ALARMGROUP_ONUPDATE") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEAUTOMAN_OnUpdate'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 09/30/08 Created shape by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEAUTOMAN_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEAUTOMAN_OnUpdate oShape=" & oShape.id) - - If flag <= 1 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - call GSH_ValveRegulatoryControlShowNormal(oShape) - Dim OPValue,stsmsg, val_redTag, initMan - OPValue = oShape.objects("ind_OPStem").value - If (OPValue <= 5) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else if ( (OPValue > 5) and (OPValue < 95) ) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if: end if - - 'Check the points alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - 'Alarm is Disabled - call GSH_ValveRegulatoryControlShowDisabledAlarm(oShape) - End If - - 'Red Tag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - 'red tag - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - end if - - 'If flag <= 1 then - 'Focus - call GSH_ValveRegulatoryControlSetFocus(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - call GSH_ValveRegulatoryControlShowOffNormal(oShape) - end if - end if - End If - - If flag = 0 then - 'Check the point Windup - dim sWindupStatus - sWindupStatus = GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")) - call GSH_SHOWWINDUPSTATUS(sWindupStatus,oShape) - - 'Make the focus transparent for valves - oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - End If -'gsh_log_e("GSH_TPS_VALVEAUTOMAN_OnUpdate") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEANALOG_OnUpdate'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 14/Feb/2010 Created shape by JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEANALOG_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEANALOG_OnUpdate oShape=" & oShape.id) - - If flag <= 1 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - call GSH_ValveRegulatoryControlShowNormal(oShape) - Dim OPValue,stsmsg, val_redTag, initMan - OPValue = oShape.objects("ind_OPStem").value - If (OPValue <= 5) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else if ( (OPValue > 5) and (OPValue < 95) ) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if: end if - - 'Red Tag - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - 'red tag - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - end if - - 'If flag <= 1 then - 'Focus - call GSH_ValveRegulatoryControlSetFocus(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if GSH_C200_REGCTLSPLIT_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY) then - call GSH_ValveRegulatoryControlShowOffNormal(oShape) - end if - end if - End If - - If flag = 0 then - 'Check the point Windup - 'Make the focus transparent for valves - oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - End If -'gsh_log_e("GSH_TPS_VALVEANALOG_OnUpdate") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEDIGITAL_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape handle -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/04/2009 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEDIGITAL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEDIGITAL_ONUPDATE oShape=" & oShape.id) -on error resume next - -Dim nNumericState, sStateTxt - - If flag <= 1 then - - sStateTxt = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sStateTxt) - -' nNumericState = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - call GSH_ValveDigitalShowNormal(oShape) - call GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) then - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")),oShape) - else - 'Alarm is Disabled - call GSH_ValveDigitalShowDisabledAlarm(oShape) - End If - - 'focus - call GSH_ValveDigitalSetFocus(oShape) - 'Check for Off Normal if not in focus - 'dim sStateTxt: sStateTxt = GSH_TPS_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if (GSH_TPS_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL, sStateTxt)) then - call GSH_ValveDigitalShowOffNormal(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - - End If - 'Make the focus transparent for valves - 'oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - - If flag = 0 then - 'Bad Data Check - If GSH_C200_DIGITALCOMPOSITE_ISDATABAD(oShape.objects("rec_DataScript")) Then - call GSH_ValveDigitalShowBadPV(oShape) - else - oShape.objects("txt_PVvalue").value = sStateTxt - End If - - - End If -'gsh_log_e("GSH_TPS_VALVEDIGITAL_ONUPDATE oShape") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEDIGITALOUTPUT_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = shape handle -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 15/02/2010 Created by JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEDIGITALOUTPUT_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEDIGITALOUTPUT_ONUPDATE oShape=" & oShape.id) -on error resume next - -Dim nNumericState, sStateTxt - - If flag <= 1 then - - sStateTxt = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sStateTxt) - - call GSH_ValveDigitalShowNormal(oShape) - call GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) then - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("ConAlpAlarmValue")),oShape) - else - 'Alarm is Disabled - call GSH_ValveDigitalShowDisabledAlarm(oShape) - End If - - 'focus - call GSH_ValveDigitalSetFocus(oShape) - 'Check for Off Normal if not in focus - 'dim sStateTxt: sStateTxt = GSH_TPS_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then -' if (GSH_TPS_DIGITALCOMPOSITE_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL, sStateTxt)) then -' call GSH_ValveDigitalShowOffNormal(oShape) -' 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground -' end if - end if - - End If - 'Make the focus transparent for valves - 'oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - - If flag = 0 then - 'Bad Data Check - If GSH_C200_DIGITALCOMPOSITE_ISDATABAD(oShape.objects("rec_DataScript")) Then - call GSH_ValveDigitalShowBadPV(oShape) - else - oShape.objects("txt_PVvalue").value = sStateTxt - End If - End If -'gsh_log_e("GSH_TPS_VALVEDIGITALOUTPUT_ONUPDATE oShape") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEDIGITALFLAG_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Functions the same as Valve Digital but the Offnormal check only exists for Normal State -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 06/04/09 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEDIGITALFLAG_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEDIGITALFLAG_ONUPDATE oShape=" & oShape.id) -on error resume next - - - dim sStateTxt, nNumericState - - sStateTxt = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sStateTxt) - - call GSH_ValveDigitalShowNormal(oShape) - call GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) then - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - call GSH_ValveDigitalShowDisabledAlarm(oShape) - End If - - 'focus - call GSH_ValveDigitalSetFocus(oShape) - - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - - - 'Make the focus transparent for valves - 'oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground -> should set to be transparent, now done in GSH_ValveDigitalSetFocus - - If flag = 0 then - 'dim sStateTxt - 'sStateTxt = GSH_C200_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - oShape.objects("txt_PVvalue").value = sStateTxt - End If - - -'gsh_log_e("GSH_TPS_VALVEDIGITALFLAG_ONUPDATE oShape") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEDIGITAL_NOALARMS_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Functions the same as Valve Digital but the Offnormal check only exists for Normal State -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 07/14/09 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEDIGITAL_NOALARMS_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEDIGITAL_NOALARMS_ONUPDATE oShape=" & oShape.id) -on error resume next - - - dim sStateTxt, nNumericState - - sStateTxt = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sStateTxt) - - call GSH_ValveDigitalShowNormal(oShape) - call GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - 'focus - call GSH_ValveDigitalSetFocus(oShape) - - 'Check for Off Normal if not in focus - call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - - If flag = 0 then - oShape.objects("txt_PVvalue").value = sStateTxt - End If - -'gsh_log_e("GSH_TPS_VALVEDIGITAL_NOALARMS_ONUPDATE oShape") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_VALVEDIGITAL_NOALARMS_ONUPDATE",oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEDIGITAL_SO_NOALARMS_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Functions the same as Valve Digital but the SO flag is a binary not a state -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' 14/Feb/2010 Created by JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEDIGITAL_SO_NOALARMS_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEDIGITAL_SO_NOALARMS_ONUPDATE oShape=" & oShape.id) -on error resume next - - dim sStateTxt, nNumericState, bState - - bOPNumeric = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - if bOPNumeric then - sStateTxt = "ON" - else - sStateTxt = "OFF" - end if - nNumericState = GSH_GET_DIGITAL_NUMERIC_FROM_STATETEXT(oShape, sStateTxt) - - call GSH_ValveDigitalShowNormal(oShape) - call GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - 'focus - call GSH_ValveDigitalSetFocus(oShape) - - 'No check for Off Normal on this tag type -' call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - - oShape.objects("txt_PVvalue").value = sStateTxt - -'gsh_log_e("GSH_TPS_VALVEDIGITAL_SO_NOALARMS_ONUPDATE oShape") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_VALVEDIGITAL_SO_NOALARMS_ONUPDATE",oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEREGCTL_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 09/30/2008: Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEREGCTL_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEREGCTL_ONUPDATE oShape=" & oShape.id) - - If flag <= 1 then - oShape.objects("txt_OPvalue").value = FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_OP),GSH_OUTPUTINDICATORDECIMALS) - call GSH_ValveRegulatoryControlShowNormal(oShape) - Dim OPValue,stsmsg, val_redTag, initMan - OPValue = oShape.objects("ind_OPStem").value - If (OPValue <= 5) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else if ( (OPValue > 5) and (OPValue < 95) ) then - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else - oShape.objects("plg_valveBody").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if: end if - 'Check the points alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then -' call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - 'Alarm is Disabled - call GSH_ValveRegulatoryControlShowDisabledAlarm(oShape) - End If - - 'Assumption: Reg tag and status message are mutual exclusive - 'Status message - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - 'red tag - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - else - 'Check status Message - dim val_stsMsg - val_stsMsg = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_STSMSG) - call GSH_Show_StatusMessageFlag(oShape, val_stsMsg) - end if - 'End If - - 'If flag <= 1 then - 'Focus - call GSH_ValveRegulatoryControlSetFocus(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - 'if (GSH_C200_ValveREGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL)) then - if (GSH_TPS_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL)) then - call GSH_ValveRegulatoryControlShowOffNormal(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - End If - - If flag = 0 then - 'Check the point Windup - dim sWindupStatus - sWindupStatus = GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")) - call GSH_SHOWWINDUPSTATUS(sWindupStatus,oShape) - - 'Make the focus transparent for valves - oShape.objects("outline").styleClass = GSH_CSSValveOutlineBackground - End If -'gsh_log_e("GSH_TPS_VALVEREGCTL_ONUPDATE") -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEANALOG3WAY_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/04/2009 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEANALOG3WAY_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEANALOG3WAY_ONUPDATE oShape=" & oShape.id) - - If flag <= 1 then - call GSH_VALVEANALOG3WAYSHOWNORMAL(oShape) - - Dim OPValue,stsmsg, val_redTag, initMan - OPValue = oShape.objects("ind_OPStem").value - If (OPValue <= 5) then - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else if ( (OPValue > 5) and (OPValue < 95) ) then - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLNORMAL - else - oShape.objects("wgp_valveTop").styleClass = GSH_CSSVALVEREGULATORYCONTROLSATURATED - end if: end if - - call GSH_VALVEANALOG3WAYSHOWPORT(oShape) - - 'Check the points alarming - if GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) Then - call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY),oShape) - else - call GSH_VALVEANALOG3WAYSHOWDISABLEDALARM(oShape) - End If - - 'Assumption: Reg tag and status message are mutual exclusive - val_redTag = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_REDTAG) - if (val_redTag = GSH_ON) then - 'red tag - call GSH_ValveRegulatoryControlShowStatusMessage(oShape,GSH_REDTAG_TEXT) - end if - - 'End If - - 'If flag <= 1 then - 'Focus - call GSH_VALVEANALOG3WAYSETFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then -' if (GSH_C200_ValveREGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL)) then - if (GSH_TPS_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL)) then - call GSH_VALVEANALOG3WAYSHOWOFFNORMAL(oShape) - 'oShape.objects("focus").styleClass = GSH_CSSValveOutlineBackground - end if - end if - End If - - If flag = 0 then - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_DataScript")),oShape) - End If - - -'gsh_log_e("GSH_TPS_VALVEANALOG3WAY_ONUPDATE") -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_LOGICSTATUS_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 12/01/09 Created by JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_LOGICSTATUS_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_LOGICSTATUS_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next - - 'Shape normal - oShape.objects("outline").style.visibility = GSH_VISIBLE - oShape.objects("outline").styleClass = GSH_CSSALARMNONE - - Dim nNormalState, nPVvalue - nNormalState = CInt(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"CP_Normal", GSH_CPVALUE)) - nPVvalue = CInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - - If flag = 0 then - - if nNormalState = nPVValue then - oShape.objects("linLogic").style.visibility = GSH_VISIBLE - else - oShape.objects("linLogic").style.visibility = GSH_HIDDEN - end if - End If - - If flag <= 1 then - 'Set the focus - call GSH_GEN_SETSHAPEFOCUS(oShape) - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - - if nNormalState <> nPVValue then - oShape.objects("focus").style.visibility = GSH_VISIBLE - oShape.objects("focus").styleClass = GSH_CSSREGULATORYCONTROLVALVEOFFNORMAL - end if - end if - End If -'gsh_log_e("GSH_TPS_LOGICSTATUS_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_LOGICSTATUS_ONUPDATE",oShape) - end if -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GEN_BYPASSSTATUS_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 12/06/09 Created by JE -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_GEN_BYPASSSTATUS_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_GEN_BYPASSSTATUS_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next - - Dim nPVvalue - nPVvalue = CInt(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - -'These shapes use alarm group tags - which are not real tags in the registry - so do not give them focus. -'if we want selectability - we need to add the alarm groups to the registry in future - - 'Set the focus, shape does not have outline show cannot use GSH_GEN_SETSHAPEFOCUS -' call GSH_SETSHAPEFOCUS(oShape) - - shapeFocusStyle = GSH_CSSFOCUSNONE - oShape.objects("focus").styleClass = shapeFocusStyle - - 'Set the colour of the oval - if nPVvalue > 0 then - oShape.objects("ovalBypass").styleClass = GSH_CSSOFFNORMALLINEFILL - oShape.objects("textLabel").style.visibility = GSH_VISIBLE - else - oShape.objects("ovalBypass").styleClass = GSH_CSSNORMALLINEFILL - oShape.objects("textLabel").style.visibility = GSH_HIDDEN - End If - -'gsh_log_e("GSH_GEN_BYPASSSTATUS_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_GEN_BYBPASSSTATUS_ONUPDATE",oShape) - end if -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_GSH_GEN_SETVALUE_ONCLICK''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 03/03/10 Created by JE to replace the ONACTIVATE (which was firing multiple shapes) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_GEN_SETVALUE_ONCLICK(oShape) -'gsh_log_s("GSH_GEN_SETVALUE_ONCLICK >>>>> Shape ="& oShape.id) - On Error Resume Next - - Dim tagName, parameterName, parameterValue, resultParameterValue - Dim userResponse, check - - tagName = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"Entity", GSH_CPPOINT) - parameterName = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"CP_Parameter", GSH_CPPARAMETER) - parameterValue = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"CP_Value",GSH_CPVALUE) - - userResponse = Msgbox("Confirm setting " &tagName &"." ¶meterName &" to " ¶meterValue &" ? ",vbYesNo) - - If userResponse = vbYes Then - check = oShape.objects("rec_DataScript").SetDataValueSynchronous(GSH_CPENTITY & "." & parameterName, parameterValue) - End If - -' If check = False Then -' Msgbox("Error: Failed to write " ¶meterValue &" to " &tagName &"." ¶meterName) -' End If - -'gsh_log_e("GSH_GEN_SETVALUE_ONCLICK") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_SERVICETANK_ONCLICK''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/03/10 Created by JE to replace the ONACTIVATE (which was firing multiple shapes) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_SERVICETANK_ONCLICK(oShape,iButton) -'gsh_log_s("GSH_TPS_SERVICETANK_ONCLICK >>>>> Shape ="& oShape.id) - On Error Resume Next - - Dim tagName, parameterName, parameterValue, resultParameterValue - Dim userResponse, check - - parameterName = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,"CP_PV", GSH_CPPARAMETER) - txtPBValue = "CP_PB" & iButton & "_Value" - nparameterValue = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,txtPBValue,GSH_CPVALUE) - - check = oShape.objects("rec_DataScript").SetDataValueSynchronous(GSH_CPENTITY & "." & parameterName, nparameterValue) - -'gsh_log_e("GSH_TPS_SERVICETANK_ONCLICK") -End Sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_SERVICETANK_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal -' 06/03/10 Created by JE to replace the ONACTIVATE (which was firing multiple shapes) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -Sub GSH_TPS_SERVICETANK_ONUPDATE(oShape) -'gsh_log_s("GSH_TPS_SERVICETANK_ONUPDATE >>>>> Shape ="& oShape.id) - On Error Resume Next -' -'Update dynamic elements -' - nPVValue = cInt(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV)) - - oShape.objects("textBoxTankNum").textcolor = GSH_DARKGRAYCOLOR - oShape.objects("polygonUp").fillcolor = GSH_LIGHTLIGHTGRAYCOLOR - oShape.objects("polygonDown").fillcolor = GSH_LIGHTLIGHTGRAYCOLOR - oShape.objects("oval001").fillcolor = GSH_LIGHTLIGHTGRAYCOLOR - oShape.objects("oval002").fillcolor = GSH_LIGHTLIGHTGRAYCOLOR - oShape.objects("oval003").fillcolor = GSH_LIGHTLIGHTGRAYCOLOR - oShape.objects("oval004").fillcolor = GSH_LIGHTLIGHTGRAYCOLOR - - Select Case nPVValue - Case 1 - oShape.objects("textBoxTankNum").textColor = GSH_OFFNORMALCOLOR - oShape.objects("oval001").fillcolor = GSH_DARKGRAYCOLOR - Case 2 - oShape.objects("textBoxTankNum").textColor = GSH_OFFNORMALCOLOR - oShape.objects("oval002").fillcolor = GSH_DARKGRAYCOLOR - oShape.objects("polygonUp").fillcolor = GSH_DARKGRAYCOLOR - Case 3 - oShape.objects("textBoxTankNum").textColor = GSH_OFFNORMALCOLOR - oShape.objects("oval003").fillcolor = GSH_DARKGRAYCOLOR - oShape.objects("polygonDown").fillcolor = GSH_DARKGRAYCOLOR - Case 4 - oShape.objects("textBoxTankNum").textColor = GSH_OFFNORMALCOLOR - oShape.objects("oval004").fillcolor = GSH_DARKGRAYCOLOR - End Select - -'gsh_log_e("GSH_TPS_SERVICETANK_ONUPDATE") -End Sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' TPS L1 Shapes -' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_ANALOGINDICATOR_L1_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_ANALOGINDICATOR_L1_ONUPDATE (oShape, flag) -on error resume next - - call GSH_TPS_ANALOGINDICATOR_ONUPDATE (oShape, flag) - - dim sAlarmCode, bInSA - bInSA = false -' sAlarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY) - sAlarmCode = GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")) - - 'Check SA Bars Limit - rSAHi = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE))) - rSALo = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE))) - rPV = CDbl(FormatNumber(oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV))) - - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - If ((rPV > rSAHi) Or (rPV < rSALo)) Then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - bInSA = true - End If - - if(not(bInSA) AND StrComp(sAlarmCode,GSH_NONE,vbtextcompare) <> 0) then - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - else - oShape.objects("outline").style.visibility = GSH_VISIBLE - end if -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_DIGITALINDICATOR_L1_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_DIGITALINDICATOR_L1_ONUPDATE (oShape, flag) -on error resume next -'gsh_log_s("GSH_TPS_DIGITALINDICATOR_L1_ONUPDATE oShape = " &oShape.id) - - call GSH_TPS_DIGITALINDICATOR_ONUPDATE (oShape, flag) - - dim sPVState, sSAState - 'Check SA Condition - sPVState = GSH_TPS_DIGITAL_GETSTATE(oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY),GSH_CPENTITY, GSH_CPPARAM_PV, oShape.objects("rec_DataScript")) - - Dim sTagname - sTagname = GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPENTITY, GSH_CPPOINT) - -' gsh_log("sTagname = " &sTagname) - - sSAState = GSH_READTAGINFORMATIONKEYVALUE(sTagname, GSH_REGKEY_SA_STATE, GSH_NONE) - -' msgbox("sPVState " & sPVState & " sSAState = " &sSAState) - - If (StrComp(sPVState, sSAState, vbTextCompare) <> 0) Then - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - Else - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - End If - -' gsh_log_e("GSH_TPS_DIGITALINDICATOR_L1_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_DIGITALINDICATOR_L1_ONUPDATE",oShape) - end if -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_LevelRegCtl_L1Gauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_LevelRegCtl_L1Gauge_FR_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_LevelRegCtl_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) - isOffNormal = GSH_C200_REGCTL_POINT_ISOFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) - - call GSH_LevelRegCtl_L1Gauge_FR_OnUpdate_new(oShape, flag, isAlmEnabled, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, isOffNormal, isDataBad) - - 'Check the point Windup - call GSH_SHOWWINDUPSTATUS(GSH_GET_POINT_WINDUP_VALUE(oShape.objects("rec_datascript")),oShape) - -'gsh_log_e("GSH_LevelAnalog_SAGauge_FR_SCADA_OnUpdate") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_LevelRegCtl_L1Gauge_FR_OnUpdate",oShape) - end if -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_LevelAnalog_L1Gauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_LevelAnalog_L1Gauge_FR_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_LevelAnalog_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - -'''Jan. 25 ''' - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) - - call GSH_LevelAnalog_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, isOffNormal, isDataBad) - -'gsh_log_e("GSH_TPS_LevelAnalog_L1Gauge_FR_OnUpdate") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_LevelAnalog_L1Gauge_FR_OnUpdate",oShape) - end if -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_QualityAnalog_L1Gauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_QualityAnalog_L1Gauge_FR_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_QualityAnalog_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad - isAlmEnabled = GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) - - call GSH_QualityAnalog_L1Gauge_FR_OnUpdate_new(oShape, flag, isAlmEnabled, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, isOffNormal, isDataBad) - -'gsh_log_e("GSH_TPS_QualityAnalog_L1Gauge_FR_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_QualityAnalog_L1Gauge_FR_OnUpdate",oShape) - end if - -end sub - - -sub GSH_TPS_Quality_L1Deviation_FR_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_Quality_L1Deviation_FR_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - - dim isAlmEnabled, isOffNormal, isDataBad, pvRefVal - isAlmEnabled = GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) - pvRefVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"PVRefVal") - - call GSH_Quality_L1Deviation_FR_ONUPDATE(oShape, flag, isAlmEnabled, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, isOffNormal, isDataBad, pvRefVal) - - -'gsh_log_e("GSH_TPS_Quality_L1Deviation_FR_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_Quality_L1Deviation_FR_ONUPDATE",oShape) - end if - -end sub - - - -sub GSH_TPS_Quality_L1Deviation_Hi_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_Quality_L1Deviation_Hi_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad, pvRefVal - isAlmEnabled = GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) - pvRefVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"PVRefVal") - - call GSH_Quality_L1Deviation_Hi_ONUPDATE(oShape, flag, isAlmEnabled, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, isOffNormal, isDataBad, pvRefVal) - -'gsh_log_e("GSH_TPS_Quality_L1Deviation_Hi_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_Quality_L1Deviation_Hi_ONUPDATE",oShape) - end if -end sub - - - -sub GSH_TPS_Quality_L1Deviation_Lo_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_Quality_L1Deviation_Lo_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - dim isAlmEnabled, isOffNormal, isDataBad, pvRefVal - isAlmEnabled = GSH_TPS_ISALARMINGENABLED(oShape.objects("rec_DataScript"),GSH_CPENTITY, GSH_TPS_PARAM_ALARM_ENABLED) - isOffNormal = GSH_C200_ANALOG_POINT_IS_OFFNORMAL(oShape.objects("rec_DataScript"), GSH_CPENTITY, GSH_CPPARAM_OFFNORMAL) - isDataBad = GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) - pvRefVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"PVRefVal") - - call GSH_Quality_L1Deviation_Lo_ONUPDATE(oShape, flag, isAlmEnabled, GSH_TPS_PARAM_ALARM_HIGHEST_PRORITY, isOffNormal, isDataBad, pvRefVal) - -'gsh_log_e("GSH_TPS_Quality_L1Deviation_Lo_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_Quality_L1Deviation_Lo_ONUPDATE",oShape) - end if -end sub - -sub GSH_TPS_QualTrend_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_QualTrend_OnUpdate oShape="&oShape.id) -On Error Resume Next - - 'Check for bad value - dim isDataBad - isDataBad = GSH_ISDATABAD(oShape.objects("rec_DataScript"), GSH_CPPARAM_PV, true, false) - - call GSH_QualTrend_OnUpdate(oShape, flag, isDataBad) - -'gsh_log_e("GSH_TPS_QualTrend_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_QualTrend_OnUpdate",oShape) - end if - -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_OPDEVIATION_L1_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_OPDEVIATION_L1_ONUPDATE (oShape, flag) -'gsh_log_s("GSH_TPS_OPDEVIATION_L1_ONUPDATE oShape=" & oShape.id) -on error resume next - - dim isOffNormal - isOffNormal = GSH_C200_ANALOG_MODE_ISOFFNORMAL(oShape.objects("OPDevMonitor_Script"), GSH_CPENTITY) - - call GSH_OPDEVIATION_L1_ONUPDATE(oShape, flag, isOffNormal) - - -' End If - -'gsh_log_e("GSH_TPS_OPDEVIATION_L1_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_OPDEVIATION_L1_ONUPDATE",oShape) - end if -end sub - -'nNumericStateValue = 0 -> not running -' = 1 -> running -'Styles are configurable from registry -sub GSH_SetRunStatus(oShape,nNumericStateValue) -'gsh_log_s("GSH_SetRunStatus oShape=" & oShape.id & "nNumericStateValue=" & nNumericStateValue) -on error resume next - Dim sTagName, sStateStyle, nValue - if (nNumericStateValue < 1) then - sStateStyle = GSH_CSSMOTOROFF - else - sStateStyle = GSH_CSSMOTORON - end if - oShape.objects("pol_RunSatus").styleClass = sStateStyle -'gsh_log_e("GSH_SetRunStatus set to "& sStateStyle) -end sub - -' -'Logic (Marcus & Jamie) -' Only one function code would work... so you create just one FunctionCode Parameter which can be set to 1 or 2 where: -' 1 = One of the three "CompareValue" must match -' 2 = CompareValue1 must match or the Input PV must be betwen CompareValue2 and CompareValue3 -' -' -sub GSH_TPS_RunStatus_OnUpdate(oShape, flag) -'gsh_log_s("GSH_TPS_RunStatus_OnUpdate oShape=" &oShape.id) -on error resume next - dim pvValue, cpValue1, cpValue2, cpValue3, functionCode - 'set shape status as not running - call GSH_SetRunStatus(oShape,0) - 'Get CompareValue1, 2 & 3. - cpValue1 = CDbl(oShape.GetCustomProperty(GSH_CPVALUE,"CompareValue1")) - cpValue2 = CDbl(oShape.GetCustomProperty(GSH_CPVALUE,"CompareValue2")) - cpValue3 = CDbl(oShape.GetCustomProperty(GSH_CPValue,"CompareValue3")) - functionCode = CInt(oShape.GetCustomProperty(GSH_CPVALUE,"FunctionCode")) - pvValue = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - if functionCode = 1 then - if pvValue = cpValue1 Or pvValue = cpValue2 Or pvValue = cpValue3 then - call GSH_SetRunStatus(oShape,1) - end if - elseif functionCode = 2 then - if pvValue = cpValue1 Or (pvValue <cpValue3 And pvValue > cpValue2) then - call GSH_SetRunStatus(oShape,1) - end if - end if -'gsh_log_e("GSH_TPS_RunStatus_OnUpdate") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_RunStatus_OnUpdate",oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_TPS_VALVEDIGITAL_BnB_NOALARMS_ONUPDATE'''''''''''''''''''''''''''''''''''''''''' -'Functions the same as Valve Digital but the Offnormal check only exists for Normal State -'Parameters: -' oDataBoundObject = subshape name or me, if calling within subshape -' flag = 0 -> do everything -' flag = 1 -> do focus & offnormal (b/c digital values are not changed often) -' -' Logic (Jamie): -' This will gets its indication from a single digital indicator (0 or 1) tag. -' When the value is 0 then the Bleed (upper) valve is open and the two process (horizontal) valves are closed. -' When the value is 1 then the Bleed valve is closed and the two proces valves are open. -' If the value is anything else - then all three valves are shown in Travel -' -' 11/25/09 Created by CL -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_TPS_VALVEDIGITAL_BnB_NOALARMS_ONUPDATE(oShape, flag) -'gsh_log_s("GSH_TPS_VALVEDIGITAL_BnB_NOALARMS_ONUPDATE oShape=" & oShape.id) -on error resume next - - - call GSH_ValveDigitalBnBSetFocus(oShape) - - 'Get pv value - dim nPV - nPV = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - - 'if pv = 0, then - 'Set Bleed (upper) valve style as open, set its text as "OPEN" - 'Set the other valve styles as opened, set their texts as "CLOSED" - if nPV = 0 then - oShape.objects("plg_ValveDigitalPic1").styleClass = GSH_CSSVALVEDIGITALOPEN - oShape.objects("plg_ValveDigitalPic2").styleClass = GSH_CSSVALVEDIGITALCLOSED - oShape.objects("plg_ValveDigitalPic3").styleClass = GSH_CSSVALVEDIGITALCLOSED - oShape.objects("txt_PVvalue1").value = "OPEN" - oShape.objects("txt_PVvalue2").value = "CLOSED" - oShape.objects("txt_PVvalue3").value = "CLOSED" - 'if pv = 1 then - 'Set Bleed valve style as closed, set its text as "CLOSED" - 'Set the other valve styles as open, set theirs texts as "OPEN" - elseif nPV = 1 then - oShape.objects("plg_ValveDigitalPic1").styleClass = GSH_CSSVALVEDIGITALCLOSED - oShape.objects("plg_ValveDigitalPic2").styleClass = GSH_CSSVALVEDIGITALOPEN - oShape.objects("plg_ValveDigitalPic3").styleClass = GSH_CSSVALVEDIGITALOPEN - oShape.objects("txt_PVvalue1").value = "CLOSED" - oShape.objects("txt_PVvalue2").value = "OPEN" - oShape.objects("txt_PVvalue3").value = "OPEN" - else - 'Set all three valves as travel - oShape.objects("plg_ValveDigitalPic1").styleClass = GSH_CSSVALVEDIGITALTRAVEL - oShape.objects("plg_ValveDigitalPic2").styleClass = GSH_CSSVALVEDIGITALTRAVEL - oShape.objects("plg_ValveDigitalPic3").styleClass = GSH_CSSVALVEDIGITALTRAVEL - oShape.objects("txt_PVvalue1").value = "TRAVEL" - oShape.objects("txt_PVvalue2").value = "TRAVEL" - oShape.objects("txt_PVvalue3").value = "TRAVEL" - end if - - 'call GSH_ValveDigitalShowNormal(oShape) - 'call GSH_C200_VALVEDIGITALSETVALVENUMERICSTATE(oShape,nNumericState,GSH_CPPARAM_PV) - - 'focus - 'call GSH_ValveDigitalSetFocus(oShape) - - 'Check for Off Normal if not in focus - 'call GSH_TPS_DIGITAL_OFFNORMAL_SHOWSTATUS (oShape, GSH_CPPARAM_PV) - - 'If flag = 0 then - ' oShape.objects("txt_PVvalue").value = sStateTxt - 'End If - - -'gsh_log_e("GSH_TPS_VALVEDIGITAL_BnB_NOALARMS_ONUPDATE oShape") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_TPS_VALVEDIGITAL_BnB_NOALARMS_ONUPDATE",oShape) - end if -end sub - - -''''''''''''''''''' End TPS L1 Shapes '''''''''''''''''''''' - - - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -' _____ ____ ____ _____ _ _ -'|_ _| _ \/ ___| | ___|_ _ ___ ___ _ __ | | __ _| |_ ___ ___ -' | | | |_) \___ \ | |_ / _` |/ __/ _ \ '_ \| |/ _` | __/ _ \/ __| -' | | | __/ ___) | | _| (_| | (_| __/ |_) | | (_| | || __/\__ \ -' |_| |_| |____/ |_| \__,_|\___\___| .__/|_|\__,_|\__\___||___/ -' -''''''''''''''''''''''''''TPS Faceplates General ''''''''''''''''''''''''''''''''''' - - - '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TPS_ANALOG_SOL_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Alarm Limits, Detail Trend -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TPS_ANALOG_SOL_ONPAGECOMPLETE -'gsh_log_s "GSH_FP_TPS_ANALOG_SOL_ONPAGECOMPLETE" - call GSH_FP_TPS_ANALOG_ONPAGECOMPLETE - -' gsh_log("ConAlpTagname.value = " &ConAlpTagname.value) - 'Show SOL condition if there is any -' Dim solHi, solLo -' solHi = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_REGKEY_SOL_HI, GSH_NONE) -' solLo = GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_REGKEY_SOL_LO, GSH_NONE) - - dim nPVFormat - nPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - -' gsh_log("solHi = " &solHi & "solLo = " &solLo) - - If (txt_alarmtype2.style.visibility = GSH_VISIBLE) Then - txt_SOLHI.style.visibility = GSH_VISIBLE - Else - txt_SOLHI.style.visibility = GSH_HIDDEN - End If - - If (strcomp(txt_alarmtype3.style.visibility,GSH_HIDDEN,vbtextcompare) <> 0) Then - txt_SOLLO.style.visibility = GSH_VISIBLE - Else - txt_SOLLO.style.visibility = GSH_HIDDEN - End If - -'gsh_log_e "GSH_FP_TPS_ANALOG_SOL_ONPAGECOMPLETE" -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TPS_ANALOG_ONPAGECOMPLETE -'Function: Initializes objects on the faceplate based on the current point -' Description, Keyword, Eng Units, Alarm Limits, Detail Trend -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TPS_ANALOG_ONPAGECOMPLETE -'gsh_log_s "GSH_FP_TPS_ANALOG_ONPAGECOMPLETE" - call GSH_FP_GENERAL_ONPAGECOMPLETE - dim nPVFormat - nPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(ConAlpTagname.value, GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - txt_euhi.value = FORMATNUMBER(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_PVEUHI),nPVFormat,-2, 0, 0) - txt_eulo.value = FORMATNUMBER(ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & "." & GSH_PVEULO),nPVFormat,-2, 0, 0) - call GSH_FP_TPS_ShowAlarmLimits 'Setup Alarm Limits -'gsh_log_e "GSH_FP_TPS_ANALOG_ONPAGECOMPLETE" -end sub - -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_FP_TPS_ShowAlarmLimits -'function: Sets the style and position of the 4 alarm limits on the PV Bar graph -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_FP_TPS_ShowAlarmLimits -on error resume next -dim alarmlim, alarmPri 'to do: handle null return from the limit and priority values - 'Alarm 1 - if ConAlpTagname.IsNan(GSH_SDR_CURRENTPOINT & ".pvhhtp") then - txt_alarmlim1.value = "---" - RecAlarm1.style.visibility = GSH_HIDDEN - else - alarmlim = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".pvhhtp") - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".pvhhpr") - If (alarmPri > 1) then - txt_alarmlim1.value = GSH_FormatPVTextTag(ConAlpTagname.value,alarmlim) - else - txt_alarmlim1.value = "---" - end if - txt_alarmlim1.style.visibility = GSH_VISIBLE ''why do we need these two lines for TPS and not C200? - txt_alarmtype1.style.visibility = GSH_VISIBLE - call GSH_FP_C200_ShowAlarmRec(RecAlarm1, alarmlim, alarmPri) - end if - 'Alarm 2 - if ConAlpTagname.IsNan(GSH_SDR_CURRENTPOINT & ".pvhitp") then - txt_alarmlim2.value = "---" - RecAlarm2.style.visibility = GSH_HIDDEN - else - alarmlim = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".pvhitp") - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".pvhipr") - If (alarmPri > 1) then - txt_alarmlim2.value = GSH_FormatPVTextTag(ConAlpTagname.value,alarmlim) - else - txt_alarmlim2.value = "---" - end if - txt_alarmlim2.style.visibility = GSH_VISIBLE ''why do we need these two lines for TPS and not C200? - txt_alarmtype2.style.visibility = GSH_VISIBLE - call GSH_FP_C200_ShowAlarmRec(RecAlarm2, alarmlim, alarmPri) - end if - 'Alarm 3 - if ConAlpTagname.IsNan(GSH_SDR_CURRENTPOINT & ".pvlotp") then - txt_alarmlim3.value = "---" - RecAlarm3.style.visibility = GSH_HIDDEN - else - alarmlim = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".pvlotp") - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".pvlopr") - If (alarmPri > 1) then - txt_alarmlim3.value = GSH_FormatPVTextTag(ConAlpTagname.value,alarmlim) - else - txt_alarmlim3.value = "---" - end if - txt_alarmlim3.style.visibility = GSH_VISIBLE ''why do we need these two lines for TPS and not C200? - txt_alarmtype3.style.visibility = GSH_VISIBLE - call GSH_FP_C200_ShowAlarmRec(RecAlarm3, alarmlim, alarmPri) - end if - 'Alarm 4 - if ConAlpTagname.IsNan(GSH_SDR_CURRENTPOINT & ".pvlltp") then - txt_alarmlim4.value = "---" - RecAlarm4.style.visibility = GSH_HIDDEN - else - alarmlim = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".pvlltp") - alarmPri = ConAlpTagname.DataValue(GSH_SDR_CURRENTPOINT & ".pvllpr") - If (alarmPri > 1) then - txt_alarmlim4.value = GSH_FormatPVTextTag(ConAlpTagname.value,alarmlim) - else - txt_alarmlim4.value = "---" - end if - txt_alarmlim4.style.visibility = GSH_VISIBLE ''why do we need these for TPS and not C200? - txt_alarmtype4.style.visibility = GSH_VISIBLE - call GSH_FP_C200_ShowAlarmRec(RecAlarm4, alarmlim, alarmPri) - end if - - if Err then - call GSH_ERROR_HANDLING("GSH_FP_TPS_ShowAlarmLimits") - end if - -end sub - -'--------------------------------------------END TPS SPECIFIC------------------------------ - - -'------------------------------------------------------------------------------------------ -' Common L1 Shape -' -'------------------------------------------------------------------------------------------ - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_LevelRegCtl_L1Gauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelRegCtl_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, almPriorityParam, isOffNormal, isDataBad) -'gsh_log_s("GSH_LevelRegCtl_L1Gauge_FR_OnUpdate oShape="&oShape.id &" isOffNormal = " &isOffNormal) -On Error Resume Next - - Dim sAlarmCode, bInSA - - call GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - -' sAlarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,almPriorityParam) - sAlarmCode = GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")) - - If flag <= 1 then -' call GSH_SALevelIndicatorRegulatoryControlShowNormal(oShape) - - 'Check the points alarming - if CBool(isAlmEnabled) Then - call GSH_SHOWLEVELALARMS(sAlarmCode,oShape) - else - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - end if - - 'Check Focus - call GSH_LevelRegCtl_SAGauge_SetFocus(oShape, isOffNormal) - - - - 'Set Alarm Lines - Dim rRangeHi, rRangeLo - - rRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - rRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - -''' Jan2010 - - If flag = 0 Then - call GSH_C200_SetAlarmLinesVertical_new(oShape, rRangeHi, rRangeLo, 4) - End If - - 'Set SA Bars Limit - Dim iSAHi, iSALo - iSAHi = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE)) - iSALo = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE)) - call GSH_LevelIndicatorShowSALimits(oShape, iSAHi, iSALo) - - 'Check for bad value - If CBool(isDataBad) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - Dim iPV, iSP, iPVFormat, iPVFormated - - iPV = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - iSP = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"), GSH_CPPARAM_SP)) - 'Locate PV Float - call GSH_SetObjectLocation_Vertical(oShape.objects("linePVRange"), oShape.objects("rec_IndicatorFloat"), iPV, rRangeHi, rRangeLo) - - 'Locate SP Float - call GSH_SetObjectLocation_Vertical(oShape.objects("linePVRange"), oShape.objects("plg_SPIndicator"), iSP, rRangeHi, rRangeLo) - - shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - iPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(shapeTagName,GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - iPVFormated = FormatNumber(iPV, iPVFormat) - oShape.objects("txt_PVvalue").value = iPVFormated - - bInSA = GSH_IsShapeInSA(iPV, iSAHi, iSALo) - if (bInSA) then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - else - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - end if - - 'Set Recent PV range bar - call GSH_LevelRegCtl_SAGauge_SetPVRangeBar(oShape, iPV) - End If - - oShape.objects("txt_mode").value = Left(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE), 1) - - - call GSH_LevelRegCtl_SAGauge_ShowHideComponents(oShape, sAlarmCode, bInSA, isOffNormal) - - - End If - - -'gsh_log_e("GSH_LevelRegCtl_L1Gauge_FR_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_LevelRegCtl_L1Gauge_FR_OnUpdate",oShape) - end if -end sub - - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_LevelAnalog_L1Gauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelAnalog_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, almPriorityParam, isOffNormal, isDataBad) -'gsh_log_s("GSH_LevelAnalog_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - Dim sAlarmCode, bInSA - bInSA = false -' sAlarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,almPriorityParam) - sAlarmCode = GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")) - - call GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - - 'Check the points alarming - if CBool(isAlmEnabled) Then - 'call GSH_SHOWLEVELALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,almPriorityParam),oShape) - call GSH_SHOWLEVELALARMS(sAlarmCode,oShape) - else - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - - End If - - 'Check Focus & offnormal - call GSH_LevelRegCtl_SAGauge_SetFocus(oShape, isOffNormal) - - 'Set Alarm Lines - Dim rRangeHi, rRangeLo - - rRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - rRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - - shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - If flag = 0 Then - call GSH_C200_SetAlarmLinesVertical_new(oShape, rRangeHi, rRangeLo, 4, shapeTagName) - End If - - 'Set SA Bars Limit - Dim iSAHi, iSALo - iSAHi = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE)) - iSALo = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE)) - call GSH_LevelIndicatorShowSALimits(oShape, iSAHi, iSALo) - - 'Check for bad value - If CBool(isDataBad) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - Dim iPV, iSP, iPVFormat, iPVFormated - - iPV = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - iSP = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"), GSH_CPPARAM_SP)) - 'Locate PV Float - call GSH_SetObjectLocation_Vertical(oShape.objects("linePVRange"), oShape.objects("rec_IndicatorFloat"), iPV, rRangeHi, rRangeLo) - - shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - iPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(shapeTagName,GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - iPVFormated = FormatNumber(iPV, iPVFormat) - oShape.objects("txt_PVvalue").value = iPVFormated - - bInSA = GSH_IsShapeInSA(iPV, iSAHi, iSALo) - if (bInSA) then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - else - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - end if - - 'Set Recent PV range bar - call GSH_LevelRegCtl_SAGauge_SetPVRangeBar(oShape, iPV) - - End If - - call GSH_LevelAnalog_SAGauge_ShowHideComponents(oShape, sAlarmCode, bInSA, isOffNormal) - -' gsh_log_e("GSH_LevelAnalog_L1Gauge_FR_OnUpdate") - - if Err then -' call GSH_SHAPE_ERROR_HANDLING("GSH_LevelAnalog_L1Gauge_FR_OnUpdate",oShape) - end if -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_QualityAnalog_L1Gauge_FR_OnUpdate Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_QualityAnalog_L1Gauge_FR_OnUpdate(oShape, flag, isAlmEnabled, almPriorityParam, isOffNormal, isDataBad) -'gsh_log_s("GSH_TPS_QualityAnalog_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim sAlarmCode, bInSA - bInSA = false - sAlarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,almPriorityParam) - - call GSH_LevelIndicatorShowNormal(oShape) - - 'Check the points alarming - if CBool(isAlmEnabled) Then - call GSH_SHOWLEVELALARMS(sAlarmCode,oShape) - else - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - End If - - - 'Check Focus - 'call GSH_LevelRegCtl_QualitySAGauge_SetFocus(oShape) - - call GSH_LevelRegCtl_SAGauge_SetFocus(oShape, isOffNormal) - -' if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then -' if CBool(isOffNormal) then -' call GSH_LevelIndicatorSHOWOFFNORMAL(oShape) -' end if -' end if - - Dim rRangeHi, rRangeLo - rRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - rRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - - - If flag = 0 Then - 'Set Alarm Lines - call GSH_C200_SetAlarmLinesHorizontal(oShape, rRangeHi, rRangeLo, 4) - End If - - 'Set SA Bars Limit - Dim rSAHi, rSALo - rSAHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE)) - rSALo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE)) - - 'gsh_log("rSAHi = " &rSAHi & " rSALo = " &rSALo) - 'call GSH_QualitySAGauge_ShowSALimits(oShape, rSAHi, rSALo) - call GSH_SetObjectLocationAndWidth_Horizontal(oShape.objects("linePVRange"), oShape.objects("rec_SALow"), rSALo, rRangeLo, rRangeHi, rRangeLo) - call GSH_SetObjectLocationAndWidth_Horizontal(oShape.objects("linePVRange"), oShape.objects("rec_SAHigh"), rRangeHi, rSAHi, rRangeHi, rRangeLo) - - 'Check for bad value - If CBool(isDataBad) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - - Dim rPV, rPVFormat, rPVFormated - - rPV = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - rPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(shapeTagName,GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - rPVFormated = FormatNumber(rPV, rPVFormat) - oShape.objects("txt_PVvalue").value = rPVFormated - - call GSH_SetObjectLocation_Horizontal(oShape.objects("linePVRange"), oShape.objects("rec_IndicatorFloat"), rPV, rRangeHi, rRangeLo) - 'call GSH_LevelRegCtl_SAGauge_InSA(oShape, rPV, rSAHi, rSALo) - - bInSA = GSH_IsShapeInSA(iPV, iSAHi, iSALo) - if (bInSA) then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - else - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - end if - - End If - - call GSH_QualityAnalog_SAGauge_ShowHideComponents(oShape, sAlarmCode, bInSA, isOffNormal) - - - -'gsh_log_e("GSH_QualityAnalog_L1Gauge_FR_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_QualityAnalog_L1Gauge_FR_OnUpdate",oShape) - end if - -end sub - - - -' -'isDataBad: bool - identify if the PV data point is bad -' -' -sub GSH_QualTrend_OnUpdate(oShape, flag, isDataBad) -'gsh_log_s("GSH_QualTrend_OnUpdate oShape="&oShape.id) -On Error Resume Next - - oShape.objects("focus").style.visibility = GSH_HIDDEN - call GSH_SETSHAPEFOCUS(oShape) - - - - 'Check for bad value - If not(CBool(isDataBad)) Then - - - 'We do not want shape to reload it self when Value changes, the changes will affect in next update - oShape.autoReloadContent=false - - ' get the deadband, filter, PVRefVal and the last RefTime - pvRefVal = Cdbl(oShape.GetCustomProperty("Value","PVRefVal")) - tcFilterVal = Cdbl(oShape.GetCustomProperty("Value","TCFilter")) - 'TCFilter - lastRefTime = oShape.GetCustomProperty("Value","LastRefTime") - diff_old = oShape.GetCustomProperty("Value","Diff_Old") - modChange = Cdbl(oShape.GetCustomProperty("Value","ModerateChange")) - sigChange = Cdbl(oShape.GetCustomProperty("Value","SignificantChange")) - RangeMax = Cdbl(oShape.GetCustomProperty("Value","RangeMax")) - RangeMin = Cdbl(oShape.GetCustomProperty("Value","RangeMin")) - - - dim diff_cur, deviation, pvVal, diff_prev - pvVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - - - 'Reference PV value is not set, - 'Initialized on load - if(pvRefVal < -990.0) then - pvRefVal = PVVal - oShape.SetCustomProperty "Value","PVRefVal",pvVal - oShape.SetCustomProperty "Value","LastRefTime",now - oShape.objects("grp_nochange").rotation = 0 - oShape.objects("arrowHead").LineWidth = 1 - oShape.objects("arrowLine").LineWidth = 1 - oShape.objects("arrowHead").LineColor = GSH_DARKGRAYCOLOR - oShape.objects("arrowLine").LineColor = GSH_DARKGRAYCOLOR - oShape.objects("txtHours").value = 0 - exit sub - end if - - 'Get the RefTime from Registry. - dim opDevMonRegistryBase, refTime - opDevMonRegistryBase = GSH_REGISTRY_BASE & GSH_REGISTRY_OPDEVMONITOR - refTime = GSH_READREGISTRY(opDevMonRegistryBase & GSH_REGKEY_OPDEVMON_RESETTIME, GSH_EMPTYSTRING) - - 'If the RefTime > lastRefTime then update OPRefVal to current OPVal & update lastRefTime to RefTime -' 'Need to give it a time buffer (i.e within 10s)? -' 'Reset is applied - if((StrComp(refTime,GSH_EMPTYSTRING)<>0) AND (CDate(refTime) > CDate(lastRefTime))) then - oShape.SetCustomProperty "Value","PVRefVal",pvVal - pvRefVal = pvVal - oShape.SetCustomProperty "Value","LastRefTime",refTime - oShape.SetCustomProperty "Value","Diff_Old",0 - diff_old = 0 - oShape.objects("grp_nochange").rotation = 0 - oShape.objects("arrowHead").LineWidth = 1 'originally = 2, why? - oShape.objects("arrowLine").LineWidth = 1 - oShape.objects("arrowHead").LineColor = GSH_DARKGRAYCOLOR - oShape.objects("arrowLine").LineColor = GSH_DARKGRAYCOLOR - oShape.objects("txtHours").value = 0 - exit sub - end if - - 'Calculate the elapsed time to display - elapsedTime = DateDiff("h",CDate(refTime),now) - - oShape.objects("txtHours").value = CInt(elapsedTime) - - - dim dt - 'Sampling interval = PV update rate = 30s = 0.5 minutes - dt = 0.5 - - 'Calculate PVDeviation - diff_cur = ((pvVal - pvRefVal)/(RangeMax - RangeMin)) * 100.0 - - 'Use low-pass first order filter equation (http://en.wikipedia.org/wiki/Low-pass_filter) - diff_filtered = diff_cur + (diff_old-diff_cur)*(dt/(tcFilterVal+dt)) - - diff_old = diff_filtered - oShape.SetCustomProperty "Value","Diff_Old", diff_old - - 'Set Arrow - if diff_Filtered > sigChange then - oShape.objects("grp_nochange").rotation = -75 - oShape.objects("arrowHead").LineWidth = 3 - oShape.objects("arrowLine").LineWidth = 4 - oShape.objects("arrowHead").LineColor = GSH_CSSBLACK - oShape.objects("arrowLine").LineColor = GSH_CSSBLACK - elseif diff_Filtered > modChange then - oShape.objects("grp_nochange").rotation = -30 - oShape.objects("arrowHead").LineWidth = 2 - oShape.objects("arrowLine").LineWidth = 3 - oShape.objects("arrowHead").LineColor = GSH_CSSBLACK - oShape.objects("arrowLine").LineColor = GSH_CSSBLACK - elseif diff_Filtered < (-1.0*sigChange) then - oShape.objects("grp_nochange").rotation = 75 - oShape.objects("arrowHead").LineWidth = 3 - oShape.objects("arrowLine").LineWidth = 4 - oShape.objects("arrowHead").LineColor = GSH_CSSBLACK - oShape.objects("arrowLine").LineColor = GSH_CSSBLACK - elseif diff_Filtered < (-1.0*modChange) then - oShape.objects("grp_nochange").rotation = 30 - oShape.objects("arrowHead").LineWidth = 2 - oShape.objects("arrowLine").LineWidth = 3 - oShape.objects("arrowHead").LineColor = GSH_CSSBLACK - oShape.objects("arrowLine").LineColor = GSH_CSSBLACK - else - oShape.objects("grp_nochange").rotation = 0 - oShape.objects("arrowHead").LineWidth = 1 - oShape.objects("arrowLine").LineWidth = 1 - oShape.objects("arrowHead").LineColor = GSH_DARKGRAYCOLOR - oShape.objects("arrowLine").LineColor = GSH_DARKGRAYCOLOR - end if - else - oShape.objects("txtHours").value = GSH_BADPV_TEXT - end if - - -'gsh_log_e("GSH_QualTrend_OnUpdate") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_QualTrend_OnUpdate",oShape) - end if - -end sub - - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_OPDEVIATION_L1_ONUPDATE''''''''''''''''''''''''''''''''''''''''''' -'Parameters: oShape = Shape object -'Parameters: flag = 0 -> do everything -' flag = 1 -> do focus only -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_OPDEVIATION_L1_ONUPDATE (oShape, flag, isOffNormal) -'gsh_log_s("GSH_OPDEVIATION_L1_ONUPDATE oShape=" & oShape.id) -on error resume next - - call GSH_C200_OPDEVMONITOR_SHOWNORMAL(oShape) - ' No alarm checking - - - 'Do focus and offnormal checking here. It is important that all shape generic functionalities are - 'done before shape specific ones - oShape.objects("outline").styleClass = GSH_CSSALARMNONE - oShape.objects("rec_IndicatorRange").styleClass = GSH_CSSALARMNONE - call GSH_GEN_SETSHAPEFOCUS(oShape) - - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - oShape.objects("rec_IndicatorRange").fillstyle = GSH_FILLTRANSPARENT - end if - 'Check for Off Normal if not in focus - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if CBool(isOffNormal) then - if (oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - else - oShape.objects("focus").styleClass = GSH_CSSFOCUSOFFNORMAL - end if - end if - end if - - -' If flag = 0 then - - Dim iNumPixels, iLeft - Dim rRangeHi, rRangeLo, iOP - 'Calculate pv value - rRangeHi = Cdbl(oShape.GetCustomProperty("Value","RangeMax")) - rRangeLo = Cdbl(oShape.GetCustomProperty("Value","RangeMin")) - iOP = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("OPDevMonitor_Script"),GSH_CPPARAM_OP)) - oShape.objects("txt_OPValue").value = FormatNumber(iOP, 0) - modeVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("OPDevMonitor_Script"),GSH_CPPARAM_MODE) - oShape.objects("txt_mode").value = Left(modeVal,1) - - call GSH_SetObjectLocation_Horizontal(oShape.objects("lineOPRange"), oShape.objects("rec_IndicatorFloat"), iOP, rRangeHi, rRangeLo) - - - 'Set SA Bars Limit - Dim rSAHi, rSALo - rSAHi = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE))) - rSALo = CDbl(FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE))) - - call GSH_SetObjectLocationAndWidth_Horizontal(oShape.objects("lineOPRange"), oShape.objects("rec_SALow"), rSALo, rRangeLo, rRangeHi, rRangeLo) - call GSH_SetObjectLocationAndWidth_Horizontal(oShape.objects("lineOPRange"), oShape.objects("rec_SAHigh"), rRangeHi, rSAHi, rRangeHi, rRangeLo) - - dim bInSA - bInSA = GSH_IsShapeInSA(iOP, rSAHi, rSALo) - if (bInSA) then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - else - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - end if - - call GSH_OPDeviation_L1_ShowHideComponents(oShape, bInSA, isOffnormal) - - 'We do not want shape to reload it self when Value changes, the changes will affect in next update - oShape.autoReloadContent=false - - dim opRefVal, lastRefTime - - 'Get the OPRefVal and the lastRefTime - - opRefVal = Cdbl(oShape.GetCustomProperty("Value","OPRefVal")) - lastRefTime = oShape.GetCustomProperty("Value","LastRefTime") - - - dim diff_cur, deviation, opVal, diff_prev - opVal = iOP - - 'Get the RefTime from Registry. - dim opDevMonRegistryBase, refTime - opDevMonRegistryBase = GSH_REGISTRY_BASE & GSH_REGISTRY_OPDEVMONITOR - refTime = GSH_READREGISTRY(opDevMonRegistryBase & GSH_REGKEY_OPDEVMON_RESETTIME, GSH_EMPTYSTRING) - - - call GSH_OPDeviation_SAGauge_SetPVRangeBar(oShape, iOP) - - - 'Reference OP value is not set - If(IsDate(lastRefTime) AND IsDate(refTime)) Then - If(CDate(refTime) > CDate(lastRefTime)) Then - oShape.SetCustomProperty "Value","OPRefVal",opVal - opRefVal = opVal - oShape.SetCustomProperty "Value","LastRefTime",refTime - oShape.SetCustomProperty "Value","Diff_Old",0 - diff_old = 0 - call GSH_SetObjectLocation_Horizontal(oShape.objects("lineOPRange"), oShape.objects("plg_OPRefValue"), opRefVal, rRangeHi, rRangeLo) - End If - Else - opRefVal = opVal - oShape.SetCustomProperty "Value","OPRefVal",opVal - oShape.SetCustomProperty "Value","LastRefTime",now - call GSH_SetObjectLocation_Horizontal(oShape.objects("lineOPRange"), oShape.objects("plg_OPRefValue"), opRefVal, rRangeHi, rRangeLo) - - exit sub - End If - -'gsh_log_e("GSH_OPDEVIATION_L1_ONUPDATE") - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_OPDEVIATION_L1_ONUPDATE",oShape) - end if -end sub - - - -sub GSH_Quality_L1Deviation_FR_ONUPDATE(oShape, flag, isAlmEnabled, almPriorityParam, isOffNormal, isDataBad, pvRefVal) -'gsh_log_s("GSH_Quality_L1Deviation_FR_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - - call GSH_SHOWNOALARM(oShape) - oShape.objects("focus").style.visibility = GSH_HIDDEN - call GSH_SETSHAPEFOCUS(oShape) - - - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring - oShape.objects("plg_RightCover").fillcolor = rgb(255,232,180)'GSH_CSSFOCUSASSOCIATED - oShape.objects("plg_LeftCover").fillcolor = rgb(255,232,180)'GSH_CSSFOCUSASSOCIATED - else - oShape.objects("plg_RightCover").fillcolor = rgb(235,235,235)'GSH_CSSBACKGROUND_GRAY - oShape.objects("plg_LeftCover").fillcolor = rgb(235,235,235)'GSH_CSSBACKGROUND_GRAY - end if - - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if CBool(isOffNormal) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - oShape.objects("plg_RightCover").fillcolor = rgb(235,235,235)'GSH_CSSBACKGROUND_GRAY - end if - end if - - 'Alarming - if CBool(isAlmEnabled) Then - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,almPriorityParam),oShape) - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - End If - - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - - - If flag = 0 then - - 'We do not want shape to reload it self when Value changes, the changes will affect in next update - oShape.autoReloadContent=false - - 'Check for bad value - If not(CBool(isDataBad)) Then - - ' get the deadband, filter, PVRefVal and the last RefTime - filterVal = Cdbl(oShape.GetCustomProperty("Value","Filter")) - diff_old = oShape.GetCustomProperty("Value","Diff_Old") - modChange = Cdbl(oShape.GetCustomProperty("Value","ModerateChange")) - sigChange = Cdbl(oShape.GetCustomProperty("Value","SignificantChange")) - RangeMax = Cdbl(oShape.GetCustomProperty("Value","RangeMax")) - RangeMin = Cdbl(oShape.GetCustomProperty("Value","RangeMin")) - - dim diff_cur, deviation, pvVal, diff_prev - pvVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - - - 'Calculate PVDeviation - diff_cur = ((pvVal - pvRefVal)/(RangeMax - RangeMin)) * 100.0 - diff_Filtered = diff_cur + (diff_old-diff_cur)*filterVal - diff_old = diff_filtered - oShape.SetCustomProperty "Value","Diff_Old", diff_old - - 'Set ButterFlies - if diff_Filtered > sigChange then - oShape.objects("ind_OPDevBarRight").value = 100 - oShape.objects("ind_OPDevBarLeft").value = 0 - elseif diff_Filtered > modChange then - oShape.objects("ind_OPDevBarRight").value = 50 - oShape.objects("ind_OPDevBarLeft").value = 0 - elseif diff_Filtered < (-1.0*sigChange) then - oShape.objects("ind_OPDevBarRight").value = 0 - oShape.objects("ind_OPDevBarLeft").value = -100 - elseif diff_Filtered < (-1.0*modChange) then - oShape.objects("ind_OPDevBarRight").value = 0 - oShape.objects("ind_OPDevBarLeft").value = -50 - else - oShape.objects("ind_OPDevBarRight").value = 0 - oShape.objects("ind_OPDevBarLeft").value = 0 - end if - end if - end if - -'gsh_log_e("GSH_Quality_L1Deviation_FR_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_Quality_L1Deviation_FR_ONUPDATE",oShape) - end if - -end sub - - -sub GSH_Quality_L1Deviation_Hi_ONUPDATE(oShape, flag, isAlmEnabled, almPriorityParam, isOffNormal, isDataBad, pvRefVal) -'gsh_log_s("GSH_Quality_L1Deviation_Hi_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - - If flag <=1 then - - call GSH_SHOWNOALARM(oShape) - oShape.objects("focus").style.visibility = GSH_HIDDEN - call GSH_SETSHAPEFOCUS(oShape) - - - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - oShape.objects("plg_RightCover").fillcolor = rgb(255,232,180)'GSH_CSSFOCUSASSOCIATED - else - oShape.objects("plg_RightCover").fillcolor = rgb(235,235,235)'GSH_CSSBACKGROUND_GRAY - end if - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if CBool(isOffNormal) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - oShape.objects("plg_RightCover").fillcolor = rgb(235,235,235)'GSH_CSSBACKGROUND_GRAY - end if - end if - - 'Alarming - if CBool(isAlmEnabled) Then - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,almPriorityParam),oShape) - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - End If - - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - End if - - If flag = 0 then - - 'We do not want shape to reload it self when Value changes, the changes will affect in next update - oShape.autoReloadContent=false - - 'Check for bad value - If not(CBool(isDataBad)) Then - - - ' get the deadband, filter, PVRefVal and the last RefTime - filterVal = Cdbl(oShape.GetCustomProperty("Value","Filter")) - diff_old = oShape.GetCustomProperty("Value","Diff_Old") - modChange = Cdbl(oShape.GetCustomProperty("Value","ModerateChange")) - sigChange = Cdbl(oShape.GetCustomProperty("Value","SignificantChange")) - RangeMax = Cdbl(oShape.GetCustomProperty("Value","RangeMax")) - RangeMin = Cdbl(oShape.GetCustomProperty("Value","RangeMin")) - - dim diff_cur, deviation, pvVal, diff_prev - pvVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - - - 'Calculate PVDeviation - diff_cur = ((pvVal - pvRefVal)/(RangeMax - RangeMin)) * 100.0 - diff_Filtered = diff_cur + (diff_old-diff_cur)*filterVal - diff_old = diff_filtered - oShape.SetCustomProperty "Value","Diff_Old", diff_old - - 'Set ButterFlies - if diff_Filtered > sigChange then - oShape.objects("ind_OPDevBarRight").value = 100 - elseif diff_Filtered > modChange then - oShape.objects("ind_OPDevBarRight").value = 50 - else - oShape.objects("ind_OPDevBarRight").value = 0 - end if - end if - end if - -'gsh_log_e("GSH_Quality_L1Deviation_Hi_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_Quality_L1Deviation_Hi_ONUPDATE",oShape) - end if -end sub - - -sub GSH_Quality_L1Deviation_Lo_ONUPDATE(oShape, flag, isAlmEnabled, almPriorityParam, isOffNormal, isDataBad, pvRefVal) -'gsh_log_s("GSH_Quality_L1Deviation_Lo_ONUPDATE oShape="&oShape.id) -On Error Resume Next - - If flag <=1 then - call GSH_SHOWNOALARM(oShape) - oShape.objects("focus").style.visibility = GSH_HIDDEN - call GSH_SETSHAPEFOCUS(oShape) - - if (not(oShape.objects("focus").styleClass = GSH_CSSFOCUSNONE)) then - 'some type of focus is occuring, must show analog value and outline - oShape.objects("plg_LeftCover").fillcolor = rgb(255,232,180)'GSH_CSSFOCUSASSOCIATED - else - oShape.objects("plg_LeftCover").fillcolor = rgb(235,235,235)'GSH_CSSBACKGROUND_GRAY - end if - - if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then - if CBool(isOffNormal) then - oShape.objects("focus").styleClass = GSH_CSSFOCUSNONEOFFNORMAL - oShape.objects("plg_LeftCover").fillcolor = rgb(235,235,235)'GSH_CSSBACKGROUND_GRAY - end if - end if - - - 'Alarming - if CBool(isAlmEnabled) Then - 'call GSH_SHOWPOINTALARMS(GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,almPriorityParam),oShape) - call GSH_SHOWPOINTALARMS(GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")),oShape) - else - oShape.objects("outline").styleClass = GSH_CSS_ALARMDISABLED - End If - oShape.objects("outline").fillstyle = GSH_FILLTRANSPARENT - End if - - If flag = 0 then - - 'We do not want shape to reload it self when Value changes, the changes will affect in next update - oShape.autoReloadContent=false - - 'Check for bad value - If not(CBool(isDataBad)) Then - - Dim iPV - iPV = oShape.objects("rec_DataScript").DataValue(GSH_CPENTITY & "." & GSH_CPPARAM_PV) - - ' get the deadband, filter, PVRefVal and the last RefTime - filterVal = Cdbl(oShape.GetCustomProperty("Value","Filter")) - diff_old = oShape.GetCustomProperty("Value","Diff_Old") - modChange = Cdbl(oShape.GetCustomProperty("Value","ModerateChange")) - sigChange = Cdbl(oShape.GetCustomProperty("Value","SignificantChange")) - RangeMax = Cdbl(oShape.GetCustomProperty("Value","RangeMax")) - RangeMin = Cdbl(oShape.GetCustomProperty("Value","RangeMin")) - - dim diff_cur, deviation, pvVal, diff_prev - pvVal = GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV) - - - if(StrComp(pvVal,GSH_BADPV_TEXT, vbtextcompare)=0) then - exit sub - end if - - 'Calculate PVDeviation - diff_cur = ((pvVal - pvRefVal)/(RangeMax - RangeMin)) * 100.0 - diff_Filtered = diff_cur + (diff_old-diff_cur)*filterVal - diff_old = diff_filtered - oShape.SetCustomProperty "Value","Diff_Old", diff_old - - 'Set ButterFlies - if diff_Filtered < (-1.0*sigChange) then - oShape.objects("ind_OPDevBarLeft").value = -100 - elseif diff_Filtered < (-1.0*modChange) then - oShape.objects("ind_OPDevBarLeft").value = -50 - else - oShape.objects("ind_OPDevBarLeft").value = 0 - end if - end if - end if - -'gsh_log_e("GSH_Quality_L1Deviation_Lo_ONUPDATE") - - if Err then - call GSH_SHAPE_ERROR_HANDLING("GSH_Quality_L1Deviation_Lo_ONUPDATE",oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_LevelRegCtl_L1Gauge_FR_OnUpdate_new Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_LevelRegCtl_L1Gauge_FR_OnUpdate_new(oShape, flag, isAlmEnabled, almPriorityParam, isOffNormal, isDataBad) -'gsh_log_s("GSH_LevelRegCtl_L1Gauge_FR_OnUpdate_new oShape="&oShape.id &" isOffNormal = " &isOffNormal) -On Error Resume Next - - Dim sAlarmCode, bInSA - - call GSH_LevelIndicatorRegulatoryControlShowNormal(oShape) - - 'sAlarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,almPriorityParam) - sAlarmCode = GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")) - - If flag <= 1 then -' call GSH_SALevelIndicatorRegulatoryControlShowNormal(oShape) - - 'Check the points alarming - if CBool(isAlmEnabled) Then - call GSH_SHOWLEVELALARMS(sAlarmCode,oShape) - else - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - end if - - 'Check Focus - call GSH_LevelRegCtl_SAGauge_SetFocus(oShape, isOffNormal) - - 'Set Alarm Lines - Dim rRangeHi, rRangeLo - - rRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - rRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - - shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - If flag = 0 Then - call GSH_C200_SetAlarmLinesVertical_new(oShape, rRangeHi, rRangeLo, 4, shapeTagName) - End If - - 'Set SA Bars Limit - Dim iSAHi, iSALo - iSAHi = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE)) - iSALo = FormatNumber(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE)) - call GSH_LevelIndicatorShowSALimits(oShape, iSAHi, iSALo) - - 'Check for bad value - If CBool(isDataBad) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - Dim iPV, iSP, iPVFormat, iPVFormated - - iPV = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - iSP = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"), GSH_CPPARAM_SP)) - 'Locate PV Float - call GSH_SetObjectLocation_Vertical(oShape.objects("linePVRange"), oShape.objects("rec_IndicatorFloat"), iPV, rRangeHi, rRangeLo) - - 'Locate SP Float - call GSH_SetObjectLocation_Vertical(oShape.objects("linePVRange"), oShape.objects("plg_SPIndicator"), iSP, rRangeHi, rRangeLo) - -' shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - iPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(shapeTagName,GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - iPVFormated = FormatNumber(iPV, iPVFormat) - oShape.objects("txt_PVvalue").value = iPVFormated - - bInSA = GSH_IsShapeInSA(iPV, iSAHi, iSALo) - if (bInSA) then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - else - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - end if - - 'Set Recent PV range bar - call GSH_LevelRegCtl_SAGauge_SetPVRangeBar(oShape, iPV) - End If - oShape.objects("txt_mode").value = Left(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_MODE), 1) - call GSH_LevelRegCtl_SAGauge_ShowHideComponents(oShape, sAlarmCode, bInSA, isOffNormal) - End If -'gsh_log_e("GSH_LevelRegCtl_L1Gauge_FR_OnUpdate_new") - if Err then -' call GSH_SHAPE_ERROR_HANDLING("GSH_LevelRegCtl_L1Gauge_FR_OnUpdate_new",oShape) - end if -end sub - -sub GSH_C200_SetAlarmLinesVertical_new(oShape, rRangeHi, rRangeLo, n, shapeTagName) -On Error Resume Next -'gsh_log_s("GSH_C200_SetAlarmLinesVertical_new oShape="&oShape.id) - dim alarmlim, alarmPri - alarmlim = 0: alarmPri = 0 - for i = 1 to n - temp = "AlarmPriority" & i - temp1 = "AlarmLimit" & i -' alarmPri = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_AlarmPriority" & i)) - alarmPri = CDbl(GSH_READTAGINFORMATIONKEYVALUE(shapeTagName,temp, 0)) - if (alarmPri > 0) and (alarmPri <=4) then - if not(oShape.objects("rec_DataScript").IsNan(GSH_CPENTITY & ".CP_AlarmLimit" & i)) then - oShape.objects("LineAlarm"&i).style.visibility = GSH_VISIBLE - alarmlim = CDbl(GSH_READTAGINFORMATIONKEYVALUE(shapeTagName,temp1, 0)) -' alarmlim = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_AlarmLimit" & i)) - call GSH_SetObjectLocation_Vertical(oShape.objects("linePVRange"), oShape.objects("LineAlarm"&i), alarmlim, rRangeHi, rRangeLo) - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - next -'gsh_log_e("GSH_C200_SetAlarmLinesVertical_new") - if Err then -' call GSH_SHAPE_ERROR_HANDLING("GSH_C200_SetAlarmLinesVertical_new",oShape) - end if -end sub - -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -'GSH_QualityAnalog_L1Gauge_FR_OnUpdate_new Shape Section -'Parameters: oShape = Shape object -' flag = 0 -> do everything -' flag = 1 -> do focus only to increase performance -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' -sub GSH_QualityAnalog_L1Gauge_FR_OnUpdate_new(oShape, flag, isAlmEnabled, almPriorityParam, isOffNormal, isDataBad) -'gsh_log_s("GSH_TPS_QualityAnalog_L1Gauge_FR_OnUpdate oShape="&oShape.id) -On Error Resume Next - - dim sAlarmCode, bInSA - bInSA = false - 'sAlarmCode = GSH_GEN_GETHIGHESTALARMPRIORITYPARAMETER(oShape.objects("rec_DataScript"),GSH_CPENTITY,almPriorityParam) - sAlarmCode = GSH_GETHIGHESTALARMPRIORITYPROPERTY(oShape.objects("alarmNum")) - call GSH_LevelIndicatorShowNormal(oShape) - - 'Check the points alarming - if CBool(isAlmEnabled) Then - call GSH_SHOWLEVELALARMS(sAlarmCode,oShape) - else - call GSH_LevelIndicatorRegulatoryControlShowDisabledAlarm(oShape) - End If - - - 'Check Focus - 'call GSH_LevelRegCtl_QualitySAGauge_SetFocus(oShape) - - call GSH_LevelRegCtl_SAGauge_SetFocus(oShape, isOffNormal) - -' if (oShape.objects("focus").styleClass <> GSH_CSSFOCUSPRINCIPAL) then -' if CBool(isOffNormal) then -' call GSH_LevelIndicatorSHOWOFFNORMAL(oShape) -' end if -' end if - - Dim rRangeHi, rRangeLo - rRangeHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMAX, GSH_CPVALUE)) - rRangeLo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPRANGEMIN, GSH_CPVALUE)) - - shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - If flag = 0 Then - 'Set Alarm Lines - call GSH_C200_SetAlarmLinesHorizontal_new(oShape, rRangeHi, rRangeLo, 4, shapeTagName) - End If - - 'Set SA Bars Limit - Dim rSAHi, rSALo - rSAHi = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSAUPPERLIMIT, GSH_CPVALUE)) - rSALo = CDbl(GSH_GETSHAPE_CUSTOM_PROPERTY(oShape,GSH_CPSALOWERLIMIT, GSH_CPVALUE)) - - 'gsh_log("rSAHi = " &rSAHi & " rSALo = " &rSALo) - 'call GSH_QualitySAGauge_ShowSALimits(oShape, rSAHi, rSALo) - call GSH_SetObjectLocationAndWidth_Horizontal(oShape.objects("linePVRange"), oShape.objects("rec_SALow"), rSALo, rRangeLo, rRangeHi, rRangeLo) - call GSH_SetObjectLocationAndWidth_Horizontal(oShape.objects("linePVRange"), oShape.objects("rec_SAHigh"), rRangeHi, rSAHi, rRangeHi, rRangeLo) - - 'Check for bad value - If CBool(isDataBad) Then - call GSH_LevelIndicatorShowBadPV(oShape) - Else - Dim rPV, rPVFormat, rPVFormated - rPV = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),GSH_CPPARAM_PV)) - shapeTagName = oShape.GetCustomProperty(GSH_CPPOINT,GSH_CPENTITY) - rPVFormat = right(GSH_READTAGINFORMATIONKEYVALUE(shapeTagName,GSH_PVFORMATKEY, GSH_DEFAULTPVFORMAT),1) - rPVFormated = FormatNumber(rPV, rPVFormat) - oShape.objects("txt_PVvalue").value = rPVFormated - - call GSH_SetObjectLocation_Horizontal(oShape.objects("linePVRange"), oShape.objects("rec_IndicatorFloat"), rPV, rRangeHi, rRangeLo) - 'call GSH_LevelRegCtl_SAGauge_InSA(oShape, rPV, rSAHi, rSALo) - - bInSA = GSH_IsShapeInSA(iPV, iSAHi, iSALo) - if (bInSA) then - oShape.objects("rec_SAFrame").style.visibility = GSH_VISIBLE - else - oShape.objects("rec_SAFrame").style.visibility = GSH_HIDDEN - end if - End If - call GSH_QualityAnalog_SAGauge_ShowHideComponents(oShape, sAlarmCode, bInSA, isOffNormal) -'gsh_log_e("GSH_QualityAnalog_L1Gauge_FR_OnUpdate_new") - - if Err then -' call GSH_SHAPE_ERROR_HANDLING("GSH_QualityAnalog_L1Gauge_FR_OnUpdate_new",oShape) - end if -end sub - -' -'oShape: the HCS shape -'n: total number of alarm limit lines to show -sub GSH_C200_SetAlarmLinesHorizontal_new(oShape, iRangeHi, iRangeLo, n, shapeTagName) -'gsh_log_s("GSH_C200_SetAlarmLinesHorizontal_new ="&oShape.id) - dim alarmlim, alarmPri - alarmlim = 0: alarmPri = 0 - - for i = 1 to n - temp = "AlarmPriority" & i - temp1 = "AlarmLimit" & i - alarmPri = CDbl(GSH_READTAGINFORMATIONKEYVALUE(shapeTagName,temp, 0)) -' alarmPri = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_AlarmPriority" & i)) -' gsh_log_e("GSH_C200_SetAlarmLinesHorizontal_new temp alarmPri = ", alarmPri) - - if (alarmPri > 0) and (alarmPri <=4) then - - if not(oShape.objects("rec_DataScript").IsNan(GSH_CPENTITY & ".CP_AlarmLimit" & i)) then -' alarmlim = CDbl(GSH_GETENTITYPARAMETERVALUE(oShape.objects("rec_DataScript"),"CP_AlarmLimit" & i)) - alarmlim = CDbl(GSH_READTAGINFORMATIONKEYVALUE(shapeTagName,temp1, 0)) - oShape.objects("LineAlarm"&i).style.visibility = GSH_VISIBLE - call GSH_SetObjectLocation_Horizontal(oShape.objects("linePVRange"), oShape.objects("LineAlarm"&i), alarmlim, iRangeHi, iRangeLo) - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - else - oShape.objects("LineAlarm"&i).style.visibility = GSH_HIDDEN - end if - next -'gsh_log_e("GSH_C200_SetAlarmLinesHorizontal_new") -end sub - - - -'------------------------------- End L1 Common subroutines---------------------------------</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=shape070_rec_DataScript defer>If (me.parentElement.parentElement.GetCustomProperty(GSH_CPVALUE,GSH_CPDISPLAYLEVEL) = 2) then - If window.event.button = 2 Then call GSH_TYPE2TABRBUTTONCLICK(me.parentElement.parentElement) else call GSH_NAVTAB_LCLICK (me.parentElement.parentElement) end if -Else - call GSH_NAVTAB_LCLICK (me.parentElement.parentElement) -End if</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p7_4900PC0176_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p7_4900PC0176_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p7_4900PC0176_txt_ModeValue defer> p7_4900PC0176_rec_DataScript.click - p7_4900PC0176_alp_SPValue.style.visibility = GSH_HIDDEN - p7_4900PC0176_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p7_4900PC0176_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p7_4900PC0176_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p7_4900PC0176_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p7_4900PC0176_txt_OPValue defer> p7_4900PC0176_rec_DataScript.click - if strcomp(p7_4900PC0176_cmb_ModeValue.value,GSH_ALLOWOPEDIT_MODE,vbtextcompare)=0 then - p7_4900PC0176_cmb_ModeValue.style.visibility = GSH_HIDDEN - p7_4900PC0176_alp_SPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p7_4900PC0176_alp_OPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p7_4900PC0176_txt_SPValue defer> p7_4900PC0176_rec_DataScript.click - if strcomp(p7_4900PC0176_cmb_ModeValue.value,GSH_ALLOWSPEDIT_MODE,vbtextcompare)=0 then - p7_4900PC0176_cmb_ModeValue.style.visibility = GSH_HIDDEN - p7_4900PC0176_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p7_4900PC0176_alp_SPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p7_4900PC0176_alp_SPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p7_4900PC0176_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p7_4900PC0176_alp_OPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p7_4900PC0176_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p7_4900PC0176 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p8_4900FI3006_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p8_4900FI3006_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p8_4900FI3006 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p9e_4900TC3301_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9e_4900TC3301_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9e_4900TC3301_txt_ModeValue defer> p9e_4900TC3301_rec_DataScript.click - p9e_4900TC3301_alp_SPValue.style.visibility = GSH_HIDDEN - p9e_4900TC3301_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p9e_4900TC3301_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9e_4900TC3301_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9e_4900TC3301_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9e_4900TC3301_txt_OPValue defer> p9e_4900TC3301_rec_DataScript.click - if strcomp(p9e_4900TC3301_cmb_ModeValue.value,GSH_ALLOWOPEDIT_MODE,vbtextcompare)=0 then - p9e_4900TC3301_cmb_ModeValue.style.visibility = GSH_HIDDEN - p9e_4900TC3301_alp_SPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p9e_4900TC3301_alp_OPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9e_4900TC3301_txt_SPValue defer> p9e_4900TC3301_rec_DataScript.click - if strcomp(p9e_4900TC3301_cmb_ModeValue.value,GSH_ALLOWSPEDIT_MODE,vbtextcompare)=0 then - p9e_4900TC3301_cmb_ModeValue.style.visibility = GSH_HIDDEN - p9e_4900TC3301_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p9e_4900TC3301_alp_SPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9e_4900TC3301_alp_SPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9e_4900TC3301_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9e_4900TC3301_alp_OPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9e_4900TC3301_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p9e_4900TC3301 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p5_4900FY0212_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p5_4900FY0212_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p5_4900FY0212_alp_OPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p5_4900FY0212_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p5_4900FY0212_txt_OPValue defer> p5_4900FY0212_rec_DataScript.click - 'Check Mode = MAN to allow OP modifiable - if strcomp(p5_4900FY0212_cmb_ModeValue.value,GSH_ALLOWOPEDIT_MODE,vbtextcompare)=0 then - me.parentElement.parentElement.objects("p5_4900FY0212_cmb_ModeValue").style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY (p5_4900FY0212_alp_OPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p5_4900FY0212_txt_ModeValue defer> p5_4900FY0212_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p5_4900FY0212_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p5_4900FY0212_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p5_4900FY0212_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p5_4900FY0212 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p1_4900TC0145_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p1_4900TC0145_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p1_4900TC0145_txt_ModeValue defer> p1_4900TC0145_rec_DataScript.click - p1_4900TC0145_alp_SPValue.style.visibility = GSH_HIDDEN - p1_4900TC0145_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p1_4900TC0145_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p1_4900TC0145_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p1_4900TC0145_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p1_4900TC0145_txt_OPValue defer> p1_4900TC0145_rec_DataScript.click - if strcomp(p1_4900TC0145_cmb_ModeValue.value,GSH_ALLOWOPEDIT_MODE,vbtextcompare)=0 then - p1_4900TC0145_cmb_ModeValue.style.visibility = GSH_HIDDEN - p1_4900TC0145_alp_SPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p1_4900TC0145_alp_OPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p1_4900TC0145_txt_SPValue defer> p1_4900TC0145_rec_DataScript.click - if strcomp(p1_4900TC0145_cmb_ModeValue.value,GSH_ALLOWSPEDIT_MODE,vbtextcompare)=0 then - p1_4900TC0145_cmb_ModeValue.style.visibility = GSH_HIDDEN - p1_4900TC0145_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p1_4900TC0145_alp_SPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p1_4900TC0145_alp_SPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p1_4900TC0145_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p1_4900TC0145_alp_OPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p1_4900TC0145_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p1_4900TC0145 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p2_4900TC0074_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p2_4900TC0074_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p2_4900TC0074_txt_ModeValue defer> p2_4900TC0074_rec_DataScript.click - p2_4900TC0074_alp_SPValue.style.visibility = GSH_HIDDEN - p2_4900TC0074_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p2_4900TC0074_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p2_4900TC0074_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p2_4900TC0074_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p2_4900TC0074_txt_OPValue defer> p2_4900TC0074_rec_DataScript.click - if strcomp(p2_4900TC0074_cmb_ModeValue.value,GSH_ALLOWOPEDIT_MODE,vbtextcompare)=0 then - p2_4900TC0074_cmb_ModeValue.style.visibility = GSH_HIDDEN - p2_4900TC0074_alp_SPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p2_4900TC0074_alp_OPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p2_4900TC0074_txt_SPValue defer> p2_4900TC0074_rec_DataScript.click - if strcomp(p2_4900TC0074_cmb_ModeValue.value,GSH_ALLOWSPEDIT_MODE,vbtextcompare)=0 then - p2_4900TC0074_cmb_ModeValue.style.visibility = GSH_HIDDEN - p2_4900TC0074_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p2_4900TC0074_alp_SPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p2_4900TC0074_alp_SPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p2_4900TC0074_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p2_4900TC0074_alp_OPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p2_4900TC0074_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p2_4900TC0074 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p3_4900FC0212_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p3_4900FC0212_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p3_4900FC0212_txt_ModeValue defer> p3_4900FC0212_rec_DataScript.click - p3_4900FC0212_alp_SPValue.style.visibility = GSH_HIDDEN - p3_4900FC0212_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p3_4900FC0212_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p3_4900FC0212_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p3_4900FC0212_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p3_4900FC0212_txt_OPValue defer> p3_4900FC0212_rec_DataScript.click - if strcomp(p3_4900FC0212_cmb_ModeValue.value,GSH_ALLOWOPEDIT_MODE,vbtextcompare)=0 then - p3_4900FC0212_cmb_ModeValue.style.visibility = GSH_HIDDEN - p3_4900FC0212_alp_SPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p3_4900FC0212_alp_OPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p3_4900FC0212_txt_SPValue defer> p3_4900FC0212_rec_DataScript.click - if strcomp(p3_4900FC0212_cmb_ModeValue.value,GSH_ALLOWSPEDIT_MODE,vbtextcompare)=0 then - p3_4900FC0212_cmb_ModeValue.style.visibility = GSH_HIDDEN - p3_4900FC0212_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p3_4900FC0212_alp_SPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p3_4900FC0212_alp_SPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p3_4900FC0212_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p3_4900FC0212_alp_OPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p3_4900FC0212_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p3_4900FC0212 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p4_4900PC0216_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p4_4900PC0216_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p4_4900PC0216_txt_ModeValue defer> p4_4900PC0216_rec_DataScript.click - p4_4900PC0216_alp_SPValue.style.visibility = GSH_HIDDEN - p4_4900PC0216_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p4_4900PC0216_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p4_4900PC0216_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p4_4900PC0216_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p4_4900PC0216_txt_OPValue defer> p4_4900PC0216_rec_DataScript.click - if strcomp(p4_4900PC0216_cmb_ModeValue.value,GSH_ALLOWOPEDIT_MODE,vbtextcompare)=0 then - p4_4900PC0216_cmb_ModeValue.style.visibility = GSH_HIDDEN - p4_4900PC0216_alp_SPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p4_4900PC0216_alp_OPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p4_4900PC0216_txt_SPValue defer> p4_4900PC0216_rec_DataScript.click - if strcomp(p4_4900PC0216_cmb_ModeValue.value,GSH_ALLOWSPEDIT_MODE,vbtextcompare)=0 then - p4_4900PC0216_cmb_ModeValue.style.visibility = GSH_HIDDEN - p4_4900PC0216_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p4_4900PC0216_alp_SPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p4_4900PC0216_alp_SPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p4_4900PC0216_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p4_4900PC0216_alp_OPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p4_4900PC0216_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p4_4900PC0216 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p9_4900FFI3104_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9_4900FFI3104_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9_4900FFI3104_txt_ModeValue defer> p9_4900FFI3104_rec_DataScript.click - p9_4900FFI3104_alp_SPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p9_4900FFI3104_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9_4900FFI3104_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9_4900FFI3104_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9_4900FFI3104_txt_SPValue defer> p9_4900FFI3104_rec_DataScript.click - if strcomp(p9_4900FFI3104_cmb_ModeValue.value,GSH_ALLOWSPEDIT_MODE,vbtextcompare)=0 then - p9_4900FFI3104_cmb_ModeValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p9_4900FFI3104_alp_SPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9_4900FFI3104_alp_SPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9_4900FFI3104_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p9_4900FFI3104 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p9a_4900FC3104_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9a_4900FC3104_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9a_4900FC3104_txt_ModeValue defer> p9a_4900FC3104_rec_DataScript.click - p9a_4900FC3104_alp_SPValue.style.visibility = GSH_HIDDEN - p9a_4900FC3104_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p9a_4900FC3104_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9a_4900FC3104_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9a_4900FC3104_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9a_4900FC3104_txt_OPValue defer> p9a_4900FC3104_rec_DataScript.click - if strcomp(p9a_4900FC3104_cmb_ModeValue.value,GSH_ALLOWOPEDIT_MODE,vbtextcompare)=0 then - p9a_4900FC3104_cmb_ModeValue.style.visibility = GSH_HIDDEN - p9a_4900FC3104_alp_SPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p9a_4900FC3104_alp_OPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9a_4900FC3104_txt_SPValue defer> p9a_4900FC3104_rec_DataScript.click - if strcomp(p9a_4900FC3104_cmb_ModeValue.value,GSH_ALLOWSPEDIT_MODE,vbtextcompare)=0 then - p9a_4900FC3104_cmb_ModeValue.style.visibility = GSH_HIDDEN - p9a_4900FC3104_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p9a_4900FC3104_alp_SPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9a_4900FC3104_alp_SPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9a_4900FC3104_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9a_4900FC3104_alp_OPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9a_4900FC3104_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p9a_4900FC3104 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9b_4900TY3301_rec_DataScript defer> 'Set Tag of Shape in Display Communication Mailbox - call GSH_SHAPECLICKEDNOASSOCDISP(me.parentelement.parentelement)</SCRIPT>
-
-<SCRIPT language=VBScript event=onmousedown for=p9b_4900TY3301_rec_DataScript
-defer>If window.event.button = 2 Then - call GSH_RIGHTCLICK(me.parentElement.parentElement) -End If</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9b_4900TY3301_alp_OPValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9b_4900TY3301_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9b_4900TY3301_txt_OPValue defer> p9b_4900TY3301_rec_DataScript.click - 'Check Mode = MAN to allow OP modifiable - if strcomp(p9b_4900TY3301_cmb_ModeValue.value,GSH_ALLOWOPEDIT_MODE,vbtextcompare)=0 then - me.parentElement.parentElement.objects("p9b_4900TY3301_cmb_ModeValue").style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY (p9b_4900TY3301_alp_OPValue) - end if</SCRIPT>
-
-<SCRIPT language=VBScript event=onclick for=p9b_4900TY3301_txt_ModeValue defer> p9b_4900TY3301_alp_OPValue.style.visibility = GSH_HIDDEN - call GSH_MULTIFPSHOWENTRY(p9b_4900TY3301_cmb_ModeValue)</SCRIPT>
-
-<SCRIPT language=VBScript event=onchange for=p9b_4900TY3301_cmb_ModeValue defer> call GSH_MULTIFPHIDEENTRY(me) - p9b_4900TY3301_rec_DataScript.click</SCRIPT>
-
-<SCRIPT language=VBScript event=onshapeload for=p9b_4900TY3301 defer>call GSH_SETTOOLTIP(me)</SCRIPT>
-
-<BODY
-style="FONT-SIZE: 12pt; MARGIN: 0px; OVERFLOW: auto; ZOOM: 1; BACKGROUND-COLOR: transparent">
-<DIV class=Background_Gray id=Background
-style="MARGIN: 0px; WIDTH: 1156px; BACKGROUND-REPEAT: no-repeat; ZOOM: 1; POSITION: absolute; HEIGHT: 550px; BACKGROUND-COLOR: rgb(235,235,235)"></DIV>
-<DIV class=Background_Gray id=Page
-style="FONT-SIZE: 12pt; MARGIN: 0px; BEHAVIOR: url(#StnEvtReflector) url(#HDXPageBehavior) url(#DisplayDataRepository); WIDTH: 665px; ZOOM: 1; FONT-FAMILY: Arial; POSITION: absolute; HEIGHT: 330px; BACKGROUND-COLOR: transparent">
-<DIV class=hsc.shape.1 id=shape071
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 83px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 82px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1px; HEIGHT: 26px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:26;lineColorBlink:False;Width:82;"
-value = "1" src = ".\L4_LSG_FURN_1_files\GEN_NavigationTab.sha" parameters =
-"Point?Entity:L4_LSG_FURN_2_AA;Value?DisplayName:L4_LSG_FURN_2;Value?DisplayLevel:4;Value?TabLabel:Redund;Value?AssocLevel4:;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=shape071_grp_NavTab
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:26;lineColorBlink:False;Width:82;">
-<DIV class="hvg.base.1 " id=shape071_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 98.78%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 7.69%; HEIGHT: 84.61%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:#ebebeb;fillColorBlink:False;FillStyle:0;Height:22;LineColor:#939393;lineColorBlink:False;LineWidth:1;Roundness:50;styleClass:;Width:81;"></DIV>
-<DIV class="hvg.base.1 " id=shape071_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 2.43%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 93.9%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 15.38%; HEIGHT: 73.07%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:#ebebeb;fillColorBlink:False;FillStyle:0;Height:19;LineColor:#ebebeb;lineColorBlink:False;LineStyle:1;LineWidth:2;Roundness:40;styleClass:;Width:77;"></DIV>
-<DIV class=hvg.base.1 id=shape071_rec_HideTabBtm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 100%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 76.92%; HEIGHT: 23.07%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:#ebebeb;fillColorBlink:False;Height:6;LineColor:#ebebeb;lineColorBlink:False;LineStyle:1;LineWidth:2;Width:82;"></DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=shape071_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.21%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 19.51%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 7.69%; HEIGHT: 61.53%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=shape071_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 4.87%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 14.63%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.53%; HEIGHT: 46.15%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=shape071_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 4.87%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 14.63%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 15.38%; HEIGHT: 46.15%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=shape071_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 6.09%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.41%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.53%; HEIGHT: 46.15%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=shape071_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 4.87%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 14.63%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 15.38%; HEIGHT: 46.15%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=shape071_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 6.09%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 14.63%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.53%; HEIGHT: 46.15%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class=hvg.textbox.1 id=shape071_txtTabLabel
-style="FONT-WEIGHT: normal; FONT-SIZE: 11pt; LEFT: 21.95%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 73.17%; COLOR: #000000; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 7.69%; HEIGHT: 65.38%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;HDXBINDINGID:21;Height:17;indicateAlarmState:False;indicateScanState:False;lineColorBlink:False;LineStyle:0;textColor:#000000;textColorBlink:False;TotalRotation:0;Width:60;">Redund</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=shape071_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.78%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 84.61%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:22;Height:22;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:81;"
-onupdate="VBScript:call GSH_NAVTAB_ONUPDATE(me.parentElement.parentElement)"></DIV></DIV></DIV>
-<DIV class=hsc.shape.1 id=shape001
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 616px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 40px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 308px; HEIGHT: 19px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:0;lineColorBlink:False;Width:0;"
-value = "1" src = ".\L4_LSG_FURN_1_files\gsh.sha" parameters = "" linkType =
-"embedded" globalscripts =
-"2A03E0C4-741C-4145-A5C0-BE506EDF0681 4B605EA5-055E-4956-B67E-DE5BE60D4CCC 50F477B2-C5AC-4758-A02E-EB39E352D363 9AD748A9-63A3-4F20-B029-8144F6FB00EA A188CC3F-37F3-4431-8CA1-740C5D627030"
-styleClass = "">
-<DIV class="hvg.textbox.1 GSH_Style" id=shape001_textbox001
-style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 100%; COLOR: #000000; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 100%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:19;lineColorBlink:False;LineStyle:0;styleClass:GSH_Style;textColor:#000000;textColorBlink:False;TotalRotation:0;Width:40;">GSH</DIV></DIV>
-<DIV class=hvg.base.1 id=line002
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 2px; BEHAVIOR: url(#HDXVectorFactory#line); OVERFLOW: hidden; WIDTH: 180px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 19px; HEIGHT: 1px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:1;LineColor:#b4b4b4;lineColorBlink:False;points:0 0 100 0 ;Width:180;"></DIV>
-<DIV class=hsc.shape.1 id=shape070
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 0px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 82px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 7px; HEIGHT: 26px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:26;lineColorBlink:False;Width:82;"
-value = "1" src = ".\L4_LSG_FURN_1_files\GEN_NavigationTab.sha" parameters =
-"Point?Entity:L4_LSG_FURN_1_AA;Value?DisplayName:L4_LSG_FURN_1;Value?DisplayLevel:4;Value?TabLabel:Furn;Value?AssocLevel4:;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=shape070_grp_NavTab
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:26;lineColorBlink:False;Width:82;">
-<DIV class="hvg.base.1 " id=shape070_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 98.78%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 7.69%; HEIGHT: 84.61%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:#ebebeb;fillColorBlink:False;FillStyle:0;Height:22;LineColor:#939393;lineColorBlink:False;LineWidth:1;Roundness:50;styleClass:;Width:81;"></DIV>
-<DIV class="hvg.base.1 " id=shape070_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 2.43%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 93.9%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 15.38%; HEIGHT: 73.07%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:#ebebeb;fillColorBlink:False;FillStyle:0;Height:19;LineColor:#ebebeb;lineColorBlink:False;LineStyle:1;LineWidth:2;Roundness:40;styleClass:;Width:77;"></DIV>
-<DIV class=hvg.base.1 id=shape070_rec_HideTabBtm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 100%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 76.92%; HEIGHT: 23.07%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:#ebebeb;fillColorBlink:False;Height:6;LineColor:#ebebeb;lineColorBlink:False;LineStyle:1;LineWidth:2;Width:82;"></DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=shape070_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.21%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 19.51%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 7.69%; HEIGHT: 61.53%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=shape070_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 4.87%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 14.63%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.53%; HEIGHT: 46.15%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=shape070_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 4.87%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 14.63%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 15.38%; HEIGHT: 46.15%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=shape070_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 6.09%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.41%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.53%; HEIGHT: 46.15%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=shape070_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 4.87%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 14.63%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 15.38%; HEIGHT: 46.15%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=shape070_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 6.09%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 14.63%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.53%; HEIGHT: 46.15%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class=hvg.textbox.1 id=shape070_txtTabLabel
-style="FONT-WEIGHT: normal; FONT-SIZE: 11pt; LEFT: 21.95%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 73.17%; COLOR: #000000; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 7.69%; HEIGHT: 65.38%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;HDXBINDINGID:0;Height:17;indicateAlarmState:False;indicateScanState:False;lineColorBlink:False;LineStyle:0;textColor:#000000;textColorBlink:False;TotalRotation:0;Width:60;">Furn</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=shape070_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.78%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 84.61%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:1;Height:22;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:81;"
-onupdate="VBScript:call GSH_NAVTAB_ONUPDATE(me.parentElement.parentElement)"></DIV></DIV></DIV>
-<DIV class=hsc.shape.1 id=p7_4900PC0176
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 551px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:0;lineColorBlink:False;Width:0;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_RegCtl.sha" parameters =
-"Point?Entity:4900PC0176;Parameter?CP_SP:PIDA.SP;Parameter?CP_PV:PIDA.PV;Parameter?CP_OP:PIDA.OP;Parameter?CP_Mode:PIDA.MODE;Parameter?CP_BadPV:PIDA.PVSTSFL.BAD;Parameter?CP_OffNormal:DACA.PVSOURCE;Parameter?CP_ModAttr:PIDA.MODEATTR;Parameter?CP_Ramp:PIDA.SPTVSTATE;Parameter?CP_RedTag:PIDA.REDTAG;Parameter?CP_Windup:PIDA.ARWOP;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p7_4900PC0176_grpRegCtl
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p7_4900PC0176_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 9.21%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:23;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p7_4900PC0176_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:24;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p7_4900PC0176_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:25;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p7_4900PC0176_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p7_4900PC0176_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p7_4900PC0176_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28.94%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p7_4900PC0176_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p7_4900PC0176_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p7_4900PC0176_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p7_4900PC0176_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p7_4900PC0176_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 10.86%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class=hvg.base.1 id=p7_4900PC0176_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 17.39%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 67.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.18%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:16;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:62;"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p7_4900PC0176_txt_AnalogValue
-style="FONT-SIZE: 9pt; LEFT: 20.65%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay"
-id=p7_4900PC0176_txt_statusmessage
-style="FONT-SIZE: 8pt; LEFT: 21.73%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 73.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:58;">RedTag</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay" id=p7_4900PC0176_txt_ramp
-style="FONT-WEIGHT: bold; FONT-SIZE: 8pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #ffffff; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 23.68%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:9;">R</DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p7_4900PC0176_plg_OpLow
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 0 50 100 0 0 100 0 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p7_4900PC0176_plg_OpHigh
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 100 50 0 0 100 100 100 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.textbox.1 OffNormalText" id=p7_4900PC0176_txt_Initialization
-style="FONT-WEIGHT: bold; FONT-SIZE: 16pt; LEFT: 86.95%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #b000b0; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:OffNormalText;textColor:rgb(176,0,176);textColorBlink:False;TotalRotation:0;Width:9;">*</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p7_4900PC0176_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:26;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 0)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p7_4900PC0176_rec_DataScript").onmousedown'
-id=p7_4900PC0176_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p7_4900PC0176_rec_DataScript").onmousedown'
-id=p7_4900PC0176_cmb_ModeValue
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 21.73%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:27;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">Combobox</SPAN>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p7_4900PC0176_rec_DataScript").onmousedown'
-id=p7_4900PC0176_txt_OPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 48.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p7_4900PC0176_rec_DataScript").onmousedown'
-id=p7_4900PC0176_txt_SPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 22.36%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, -255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, -0, 0);textColorBlink:False;TotalRotation:0;Width:58;">09.99</DIV><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p7_4900PC0176_rec_DataScript").onmousedown' id=p7_4900PC0176_alp_SPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:28;lineColor:transparent;numericDisplayFormat:%.2f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">9999.99</TEXTAREA><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p7_4900PC0176_rec_DataScript").onmousedown' id=p7_4900PC0176_alp_OPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);HDXBINDINGID:29;lineColor:transparent;numberOfChars:9;numericDisplayFormat:%.1f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);">9999.99</TEXTAREA></DIV></DIV>
-<DIV class=hsc.shape.1 id=p8_4900FI3006
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 3px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 179px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:0;lineColorBlink:False;Width:0;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_Analog.sha" parameters =
-"Point?Entity:4900FI3006;Parameter?CP_PV:DACA.PV;Parameter?CP_BadPV:DACA.PVSTSFL.BAD;Parameter?CP_OffNormal:DACA.PVSOURCE;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p8_4900FI3006_grp_AnalogMFP
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p8_4900FI3006_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 35.52%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:30;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p8_4900FI3006_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:31;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p8_4900FI3006_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:32;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPANALOG_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class=hvg.base.1 id=p8_4900FI3006_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 17.39%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 67.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.18%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:16;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:62;"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p8_4900FI3006_txt_AnalogValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:58;">9999.</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p8_4900FI3006_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p8_4900FI3006_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p8_4900FI3006_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 5.43%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28.94%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p8_4900FI3006_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p8_4900FI3006_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p8_4900FI3006_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p8_4900FI3006_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p8_4900FI3006_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p8_4900FI3006_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:33;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPANALOG_ONUPDATE(me.parentElement.parentElement, 0)"></DIV></DIV></DIV>
-<DIV class=hsc.shape.1 id=p9e_4900TC3301
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 369px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 179px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:0;lineColorBlink:False;Width:0;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_RegCtl.sha" parameters =
-"Point?Entity:4900TC3301;Parameter?CP_SP:PIDA.SP;Parameter?CP_PV:PIDA.PV;Parameter?CP_OP:PIDA.OP;Parameter?CP_Mode:PIDA.MODE;Parameter?CP_BadPV:PIDA.PVSTSFL.BAD;Parameter?CP_OffNormal:DACA.PVSOURCE;Parameter?CP_ModAttr:PIDA.MODEATTR;Parameter?CP_Ramp:PIDA.SPTVSTATE;Parameter?CP_RedTag:PIDA.REDTAG;Parameter?CP_Windup:PIDA.ARWOP;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p9e_4900TC3301_grpRegCtl
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p9e_4900TC3301_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 9.21%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:14;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p9e_4900TC3301_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:15;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p9e_4900TC3301_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:16;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9e_4900TC3301_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9e_4900TC3301_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p9e_4900TC3301_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28.94%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p9e_4900TC3301_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p9e_4900TC3301_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p9e_4900TC3301_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p9e_4900TC3301_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p9e_4900TC3301_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 10.86%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class=hvg.base.1 id=p9e_4900TC3301_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 17.39%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 67.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.18%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:16;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:62;"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9e_4900TC3301_txt_AnalogValue
-style="FONT-SIZE: 9pt; LEFT: 20.65%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay"
-id=p9e_4900TC3301_txt_statusmessage
-style="FONT-SIZE: 8pt; LEFT: 21.73%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 73.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:58;">RedTag</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay" id=p9e_4900TC3301_txt_ramp
-style="FONT-WEIGHT: bold; FONT-SIZE: 8pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #ffffff; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 23.68%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:9;">R</DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p9e_4900TC3301_plg_OpLow
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 0 50 100 0 0 100 0 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p9e_4900TC3301_plg_OpHigh
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 100 50 0 0 100 100 100 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.textbox.1 OffNormalText" id=p9e_4900TC3301_txt_Initialization
-style="FONT-WEIGHT: bold; FONT-SIZE: 16pt; LEFT: 86.95%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #b000b0; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:OffNormalText;textColor:rgb(176,0,176);textColorBlink:False;TotalRotation:0;Width:9;">*</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p9e_4900TC3301_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:17;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 0)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9e_4900TC3301_rec_DataScript").onmousedown'
-id=p9e_4900TC3301_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9e_4900TC3301_rec_DataScript").onmousedown'
-id=p9e_4900TC3301_cmb_ModeValue
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 21.73%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:19;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">Combobox</SPAN>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9e_4900TC3301_rec_DataScript").onmousedown'
-id=p9e_4900TC3301_txt_OPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 48.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9e_4900TC3301_rec_DataScript").onmousedown'
-id=p9e_4900TC3301_txt_SPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 22.36%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, -255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, -0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV><TEXTAREA -class="hsc.alpha.1 Group_DataEntry" -onmousedown='VBScript:me.parentElement.parentElement.objects("p9e_4900TC3301_rec_DataScript").onmousedown' -id=p9e_4900TC3301_alp_SPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; -FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: -url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: -hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: -1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; -POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: -rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: -none; ROWS: 1" tabIndex=0 -hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, -255);fillColorBlink:False;HDXBINDINGID:20;lineColor:transparent;numericDisplayFormat:%.2f;styleClass:Group_DataEntry;textColor:rgb(0, -0, 0);textColorBlink:False;">9999.99</TEXTAREA><TEXTAREA class="hsc.alpha.1 -Group_DataEntry" -onmousedown='VBScript:me.parentElement.parentElement.objects("p9e_4900TC3301_rec_DataScript").onmousedown' -id=p9e_4900TC3301_alp_OPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; -FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: -url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: -hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: -1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; -POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: -rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: -none; ROWS: 1" tabIndex=0 -hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, -255);HDXBINDINGID:34;lineColor:transparent;numberOfChars:9;numericDisplayFormat:%.1f;styleClass:Group_DataEntry;textColor:rgb(0, -0, 0);">-09.99</TEXTAREA></DIV></DIV>
-<DIV class=hsc.shape.1 id=p5_4900FY0212
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 369px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_Automan.sha" parameters =
-"Point?Entity:4900FY0212;Parameter?CP_OP:AUTOMANA.OP;Parameter?CP_Mode:AUTOMANA.MODE;Parameter?CP_ModAttr:AUTOMANA.MODEATTR;Parameter?CP_RedTag:AUTOMANA.REDTAG;Parameter?CP_Windup:AUTOMANA.ARWOP;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p5_4900FY0212_grp_C200MFAutoman
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p5_4900FY0212_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 40.78%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:35;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p5_4900FY0212_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:36;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p5_4900FY0212_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:37;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPAUTOMAN_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class=hvg.base.1 id=p5_4900FY0212_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 15.21%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 70.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 48.02%; HEIGHT: 11.84%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:18;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:65;"></DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p5_4900FY0212_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 3.26%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 40.78%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p5_4900FY0212_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 41.44%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p5_4900FY0212_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 5.43%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 42.1%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p5_4900FY0212_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 7.6%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 41.44%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p5_4900FY0212_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 5.43%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 42.1%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p5_4900FY0212_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 41.44%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p5_4900FY0212_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p5_4900FY0212_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p5_4900FY0212_plg_OpLow
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 0 50 100 0 0 100 0 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p5_4900FY0212_plg_OpHigh
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 100 50 0 0 100 100 100 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.textbox.1 OffNormalText" id=p5_4900FY0212_txt_Initialization
-style="FONT-WEIGHT: bold; FONT-SIZE: 16pt; LEFT: 84.78%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #b000b0; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:OffNormalText;textColor:rgb(176,0,176);textColorBlink:False;TotalRotation:0;Width:9;">*</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p5_4900FY0212_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:38;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPAUTOMAN_ONUPDATE(me.parentElement.parentElement, 0)"></DIV><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p5_4900FY0212_rec_DataScript").onmousedown' id=p5_4900FY0212_alp_OPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);HDXBINDINGID:39;indicateScanState:0;lineColor:transparent;numberOfChars:9;numericDisplayFormat:%.1f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);">9999.99</TEXTAREA>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p5_4900FY0212_rec_DataScript").onmousedown'
-id=p5_4900FY0212_txt_OPValue
-style="FONT-SIZE: 9pt; LEFT: 19.56%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 49.34%; HEIGHT: 9.86%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:15;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p5_4900FY0212_rec_DataScript").onmousedown'
-id=p5_4900FY0212_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 19.56%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p5_4900FY0212_rec_DataScript").onmousedown'
-id=p5_4900FY0212_cmb_ModeValue
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 19.56%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:40;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">Combobox</SPAN></DIV></DIV>
-<DIV class=hsc.shape.1 id=p1_4900TC0145
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 3px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_RegCtl.sha" parameters =
-"Point?Entity:4900TC0145;Parameter?CP_SP:PIDA.SP;Parameter?CP_PV:PIDA.PV;Parameter?CP_OP:PIDA.OP;Parameter?CP_Mode:PIDA.MODE;Parameter?CP_BadPV:PIDA.PVSTSFL.BAD;Parameter?CP_OffNormal:DACA.PVSOURCE;Parameter?CP_ModAttr:PIDA.MODEATTR;Parameter?CP_Ramp:PIDA.SPTVSTATE;Parameter?CP_RedTag:PIDA.REDTAG;Parameter?CP_Windup:PIDA.ARWOP;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p1_4900TC0145_grpRegCtl
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p1_4900TC0145_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 9.21%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:41;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p1_4900TC0145_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:42;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p1_4900TC0145_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:43;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p1_4900TC0145_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p1_4900TC0145_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p1_4900TC0145_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28.94%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p1_4900TC0145_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p1_4900TC0145_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p1_4900TC0145_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p1_4900TC0145_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p1_4900TC0145_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 10.86%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class=hvg.base.1 id=p1_4900TC0145_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 17.39%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 67.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.18%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:16;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:62;"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p1_4900TC0145_txt_AnalogValue
-style="FONT-SIZE: 9pt; LEFT: 20.65%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay"
-id=p1_4900TC0145_txt_statusmessage
-style="FONT-SIZE: 8pt; LEFT: 21.73%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 73.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:58;">RedTag</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay" id=p1_4900TC0145_txt_ramp
-style="FONT-WEIGHT: bold; FONT-SIZE: 8pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #ffffff; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 23.68%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:9;">R</DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p1_4900TC0145_plg_OpLow
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 0 50 100 0 0 100 0 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p1_4900TC0145_plg_OpHigh
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 100 50 0 0 100 100 100 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.textbox.1 OffNormalText" id=p1_4900TC0145_txt_Initialization
-style="FONT-WEIGHT: bold; FONT-SIZE: 16pt; LEFT: 86.95%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #b000b0; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:OffNormalText;textColor:rgb(176,0,176);textColorBlink:False;TotalRotation:0;Width:9;">*</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p1_4900TC0145_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:44;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 0)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p1_4900TC0145_rec_DataScript").onmousedown'
-id=p1_4900TC0145_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p1_4900TC0145_rec_DataScript").onmousedown'
-id=p1_4900TC0145_cmb_ModeValue
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 21.73%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:45;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">Combobox</SPAN>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p1_4900TC0145_rec_DataScript").onmousedown'
-id=p1_4900TC0145_txt_OPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 48.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p1_4900TC0145_rec_DataScript").onmousedown'
-id=p1_4900TC0145_txt_SPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 22.36%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p1_4900TC0145_rec_DataScript").onmousedown' id=p1_4900TC0145_alp_SPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:46;lineColor:transparent;numericDisplayFormat:%.2f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">9999.99</TEXTAREA><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p1_4900TC0145_rec_DataScript").onmousedown' id=p1_4900TC0145_alp_OPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);HDXBINDINGID:47;lineColor:transparent;numberOfChars:9;numericDisplayFormat:%.1f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);">9999.99</TEXTAREA></DIV></DIV>
-<DIV class=hsc.shape.1 id=p2_4900TC0074
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 94px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_RegCtl.sha" parameters =
-"Point?Entity:4900TC0074;Parameter?CP_SP:PIDA.SP;Parameter?CP_PV:PIDA.PV;Parameter?CP_OP:PIDA.OP;Parameter?CP_Mode:PIDA.MODE;Parameter?CP_BadPV:PIDA.PVSTSFL.BAD;Parameter?CP_OffNormal:DACA.PVSOURCE;Parameter?CP_ModAttr:PIDA.MODEATTR;Parameter?CP_Ramp:PIDA.SPTVSTATE;Parameter?CP_RedTag:PIDA.REDTAG;Parameter?CP_Windup:PIDA.ARWOP;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p2_4900TC0074_grpRegCtl
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p2_4900TC0074_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 9.21%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:48;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p2_4900TC0074_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:49;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p2_4900TC0074_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:57;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p2_4900TC0074_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p2_4900TC0074_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p2_4900TC0074_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28.94%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p2_4900TC0074_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p2_4900TC0074_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p2_4900TC0074_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p2_4900TC0074_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p2_4900TC0074_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 10.86%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class=hvg.base.1 id=p2_4900TC0074_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 17.39%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 67.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.18%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:16;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:62;"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p2_4900TC0074_txt_AnalogValue
-style="FONT-SIZE: 9pt; LEFT: 20.65%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay"
-id=p2_4900TC0074_txt_statusmessage
-style="FONT-SIZE: 8pt; LEFT: 21.73%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 73.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:58;">RedTag</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay" id=p2_4900TC0074_txt_ramp
-style="FONT-WEIGHT: bold; FONT-SIZE: 8pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #ffffff; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 23.68%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:9;">R</DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p2_4900TC0074_plg_OpLow
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 0 50 100 0 0 100 0 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p2_4900TC0074_plg_OpHigh
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 100 50 0 0 100 100 100 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.textbox.1 OffNormalText" id=p2_4900TC0074_txt_Initialization
-style="FONT-WEIGHT: bold; FONT-SIZE: 16pt; LEFT: 86.95%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #b000b0; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:OffNormalText;textColor:rgb(176,0,176);textColorBlink:False;TotalRotation:0;Width:9;">*</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p2_4900TC0074_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:58;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 0)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p2_4900TC0074_rec_DataScript").onmousedown'
-id=p2_4900TC0074_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p2_4900TC0074_rec_DataScript").onmousedown'
-id=p2_4900TC0074_cmb_ModeValue
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 21.73%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:59;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">Combobox</SPAN>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p2_4900TC0074_rec_DataScript").onmousedown'
-id=p2_4900TC0074_txt_OPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 48.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p2_4900TC0074_rec_DataScript").onmousedown'
-id=p2_4900TC0074_txt_SPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 22.36%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p2_4900TC0074_rec_DataScript").onmousedown' id=p2_4900TC0074_alp_SPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:60;lineColor:transparent;numericDisplayFormat:%.2f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">9999.99</TEXTAREA><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p2_4900TC0074_rec_DataScript").onmousedown' id=p2_4900TC0074_alp_OPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);HDXBINDINGID:61;lineColor:transparent;numberOfChars:9;numericDisplayFormat:%.1f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);">9999.99</TEXTAREA></DIV></DIV>
-<DIV class=hsc.shape.1 id=p3_4900FC0212
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 185px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_RegCtl.sha" parameters =
-"Point?Entity:4900FC0212;Parameter?CP_SP:PIDA.SP;Parameter?CP_PV:PIDA.PV;Parameter?CP_OP:PIDA.OP;Parameter?CP_Mode:PIDA.MODE;Parameter?CP_BadPV:PIDA.PVSTSFL.BAD;Parameter?CP_OffNormal:DACA.PVSOURCE;Parameter?CP_ModAttr:PIDA.MODEATTR;Parameter?CP_Ramp:PIDA.SPTVSTATE;Parameter?CP_RedTag:PIDA.REDTAG;Parameter?CP_Windup:PIDA.ARWOP;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p3_4900FC0212_grpRegCtl
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p3_4900FC0212_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 9.21%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:62;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p3_4900FC0212_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:63;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p3_4900FC0212_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:64;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p3_4900FC0212_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p3_4900FC0212_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p3_4900FC0212_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28.94%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p3_4900FC0212_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p3_4900FC0212_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p3_4900FC0212_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p3_4900FC0212_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p3_4900FC0212_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 10.86%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class=hvg.base.1 id=p3_4900FC0212_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 17.39%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 67.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.18%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:16;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:62;"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p3_4900FC0212_txt_AnalogValue
-style="FONT-SIZE: 9pt; LEFT: 20.65%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay"
-id=p3_4900FC0212_txt_statusmessage
-style="FONT-SIZE: 8pt; LEFT: 21.73%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 73.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:58;">RedTag</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay" id=p3_4900FC0212_txt_ramp
-style="FONT-WEIGHT: bold; FONT-SIZE: 8pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #ffffff; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 23.68%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:9;">R</DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p3_4900FC0212_plg_OpLow
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 0 50 100 0 0 100 0 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p3_4900FC0212_plg_OpHigh
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 100 50 0 0 100 100 100 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.textbox.1 OffNormalText" id=p3_4900FC0212_txt_Initialization
-style="FONT-WEIGHT: bold; FONT-SIZE: 16pt; LEFT: 86.95%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #b000b0; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:OffNormalText;textColor:rgb(176,0,176);textColorBlink:False;TotalRotation:0;Width:9;">*</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p3_4900FC0212_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:65;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 0)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p3_4900FC0212_rec_DataScript").onmousedown'
-id=p3_4900FC0212_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p3_4900FC0212_rec_DataScript").onmousedown'
-id=p3_4900FC0212_cmb_ModeValue
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 21.73%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:66;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">Combobox</SPAN>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p3_4900FC0212_rec_DataScript").onmousedown'
-id=p3_4900FC0212_txt_OPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 48.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p3_4900FC0212_rec_DataScript").onmousedown'
-id=p3_4900FC0212_txt_SPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 22.36%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p3_4900FC0212_rec_DataScript").onmousedown' id=p3_4900FC0212_alp_SPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:67;lineColor:transparent;numericDisplayFormat:%.2f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">9999.99</TEXTAREA><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p3_4900FC0212_rec_DataScript").onmousedown' id=p3_4900FC0212_alp_OPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);HDXBINDINGID:68;lineColor:transparent;numberOfChars:9;numericDisplayFormat:%.1f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);">9999.99</TEXTAREA></DIV></DIV>
-<DIV class=hsc.shape.1 id=p4_4900PC0216
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 277px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_RegCtl.sha" parameters =
-"Point?Entity:4900PC0216;Parameter?CP_SP:PIDA.SP;Parameter?CP_PV:PIDA.PV;Parameter?CP_OP:PIDA.OP;Parameter?CP_Mode:PIDA.MODE;Parameter?CP_BadPV:PIDA.PVSTSFL.BAD;Parameter?CP_OffNormal:DACA.PVSOURCE;Parameter?CP_ModAttr:PIDA.MODEATTR;Parameter?CP_Ramp:PIDA.SPTVSTATE;Parameter?CP_RedTag:PIDA.REDTAG;Parameter?CP_Windup:PIDA.ARWOP;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p4_4900PC0216_grpRegCtl
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p4_4900PC0216_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 9.21%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:2;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p4_4900PC0216_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:3;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p4_4900PC0216_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:4;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p4_4900PC0216_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p4_4900PC0216_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p4_4900PC0216_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28.94%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p4_4900PC0216_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p4_4900PC0216_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p4_4900PC0216_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p4_4900PC0216_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p4_4900PC0216_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 10.86%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class=hvg.base.1 id=p4_4900PC0216_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 17.39%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 67.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.18%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:16;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:62;"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p4_4900PC0216_txt_AnalogValue
-style="FONT-SIZE: 9pt; LEFT: 20.65%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay"
-id=p4_4900PC0216_txt_statusmessage
-style="FONT-SIZE: 8pt; LEFT: 21.73%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 73.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:58;">RedTag</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay" id=p4_4900PC0216_txt_ramp
-style="FONT-WEIGHT: bold; FONT-SIZE: 8pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #ffffff; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 23.68%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:9;">R</DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p4_4900PC0216_plg_OpLow
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 0 50 100 0 0 100 0 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p4_4900PC0216_plg_OpHigh
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 100 50 0 0 100 100 100 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.textbox.1 OffNormalText" id=p4_4900PC0216_txt_Initialization
-style="FONT-WEIGHT: bold; FONT-SIZE: 16pt; LEFT: 86.95%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #b000b0; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:OffNormalText;textColor:rgb(176,0,176);textColorBlink:False;TotalRotation:0;Width:9;">*</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p4_4900PC0216_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:5;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 0)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p4_4900PC0216_rec_DataScript").onmousedown'
-id=p4_4900PC0216_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p4_4900PC0216_rec_DataScript").onmousedown'
-id=p4_4900PC0216_cmb_ModeValue
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 21.73%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:6;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">Combobox</SPAN>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p4_4900PC0216_rec_DataScript").onmousedown'
-id=p4_4900PC0216_txt_OPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 48.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p4_4900PC0216_rec_DataScript").onmousedown'
-id=p4_4900PC0216_txt_SPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 22.36%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p4_4900PC0216_rec_DataScript").onmousedown' id=p4_4900PC0216_alp_SPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:7;lineColor:transparent;numericDisplayFormat:%.2f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">9999.99</TEXTAREA><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p4_4900PC0216_rec_DataScript").onmousedown' id=p4_4900PC0216_alp_OPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);HDXBINDINGID:18;lineColor:transparent;numberOfChars:9;numericDisplayFormat:%.1f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);">9999.99</TEXTAREA></DIV></DIV>
-<DIV class=hsc.shape.1 id=p9_4900FFI3104
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 94px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 179px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:0;lineColorBlink:False;Width:0;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_RatioTrack.sha" parameters =
-"Point?Entity:4900FFI3104;Parameter?CP_SP:RATIOBIASA.RT;Parameter?CP_PV:RATIO_TRACKING.PV;Parameter?CP_Mode:RATIOBIASA.MODE;Parameter?CP_RFormat:RATIO_TRACKING.PVFORMAT;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p9_4900FFI3104_grpRatioTrack
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p9_4900FFI3104_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 9.21%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:69;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p9_4900FFI3104_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:70;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p9_4900FFI3104_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:71;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPRATIOTRACK_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class=hvg.textbox.1 id=p9_4900FFI3104_txtRT
-style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; LEFT: 3.26%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 44.56%; COLOR: #bebebe; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 23.02%; HEIGHT: 15.78%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:24;lineColorBlink:False;LineStyle:0;textColor:#bebebe;textColorBlink:False;TotalRotation:0;Width:41;">RT</DIV>
-<DIV class=hvg.textbox.1 id=p9_4900FFI3104_txtRV
-style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; LEFT: 3.26%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 44.56%; COLOR: #bebebe; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 37.5%; HEIGHT: 15.78%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:24;lineColorBlink:False;LineStyle:0;textColor:#bebebe;textColorBlink:False;TotalRotation:0;Width:41;">RV</DIV>
-<DIV class=hvg.textbox.1 id=p9_4900FFI3104_txtRM
-style="FONT-WEIGHT: normal; FONT-SIZE: 9pt; LEFT: 4.34%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 44.56%; COLOR: #bebebe; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 15.78%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:24;lineColorBlink:False;LineStyle:0;textColor:#bebebe;textColorBlink:False;TotalRotation:0;Width:41;">RM</DIV>
-<DIV class=hvg.base.1 id=p9_4900FFI3104_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 21.73%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 67.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:16;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:62;"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9_4900FFI3104_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9_4900FFI3104_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p9_4900FFI3104_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:72;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPRATIOTRACK_ONUPDATE(me.parentElement.parentElement, 0)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9_4900FFI3104_rec_DataScript").onmousedown'
-id=p9_4900FFI3104_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 26.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9_4900FFI3104_rec_DataScript").onmousedown'
-id=p9_4900FFI3104_cmb_ModeValue title=Combobox
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 26.08%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:73;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">Combobox</SPAN>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9_4900FFI3104_rec_DataScript").onmousedown'
-id=p9_4900FFI3104_txt_SPValue
-style="FONT-SIZE: 9pt; LEFT: 26.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 22.36%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p9_4900FFI3104_rec_DataScript").onmousedown' id=p9_4900FFI3104_alp_SPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" onclick='VBScript:msgbox("I am clicked")' tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:74;lineColor:transparent;lineColorBlink:False;numericDisplayFormat:%.2f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">9999.99</TEXTAREA>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9_4900FFI3104_txt_AnalogValue
-style="FONT-SIZE: 9pt; LEFT: 25%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:58;">.99</DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p9_4900FFI3104_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28.94%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p9_4900FFI3104_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 10.86%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p9_4900FFI3104_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 10.86%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p9_4900FFI3104_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 14.13%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p9_4900FFI3104_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 14.13%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p9_4900FFI3104_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 15.21%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV></DIV></DIV>
-<DIV class=hsc.shape.1 id=p9a_4900FC3104
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 185px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 179px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_RegCtl.sha" parameters =
-"Point?Entity:4900FC3104;Parameter?CP_SP:PIDA.SP;Parameter?CP_PV:PIDA.PV;Parameter?CP_OP:PIDA.OP;Parameter?CP_Mode:PIDA.MODE;Parameter?CP_BadPV:PIDA.PVSTSFL.BAD;Parameter?CP_OffNormal:DACA.PVSOURCE;Parameter?CP_ModAttr:PIDA.MODEATTR;Parameter?CP_Ramp:PIDA.SPTVSTATE;Parameter?CP_RedTag:PIDA.REDTAG;Parameter?CP_Windup:PIDA.ARWOP;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p9a_4900FC3104_grpRegCtl
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p9a_4900FC3104_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 9.21%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:50;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p9a_4900FC3104_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:51;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p9a_4900FC3104_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:52;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9a_4900FC3104_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9a_4900FC3104_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p9a_4900FC3104_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 28.94%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p9a_4900FC3104_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p9a_4900FC3104_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 8.69%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 30.26%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p9a_4900FC3104_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p9a_4900FC3104_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 9.78%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p9a_4900FC3104_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 10.86%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 29.6%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class=hvg.base.1 id=p9a_4900FC3104_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 17.39%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 67.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.18%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:16;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:62;"></DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9a_4900FC3104_txt_AnalogValue
-style="FONT-SIZE: 9pt; LEFT: 20.65%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 36.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay"
-id=p9a_4900FC3104_txt_statusmessage
-style="FONT-SIZE: 8pt; LEFT: 21.73%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 73.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:58;">RedTag</DIV>
-<DIV class="hvg.textbox.1 Group_StatusDisplay" id=p9a_4900FC3104_txt_ramp
-style="FONT-WEIGHT: bold; FONT-SIZE: 8pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #ffffff; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 23.68%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;FillStyle:0;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;styleClass:Group_StatusDisplay;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:9;">R</DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p9a_4900FC3104_plg_OpLow
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 0 50 100 0 0 100 0 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p9a_4900FC3104_plg_OpHigh
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 100 50 0 0 100 100 100 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.textbox.1 OffNormalText" id=p9a_4900FC3104_txt_Initialization
-style="FONT-WEIGHT: bold; FONT-SIZE: 16pt; LEFT: 86.95%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #b000b0; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:OffNormalText;textColor:rgb(176,0,176);textColorBlink:False;TotalRotation:0;Width:9;">*</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p9a_4900FC3104_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:53;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPREGULATORYCONTROL_ONUPDATE(me.parentElement.parentElement, 0)"></DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9a_4900FC3104_rec_DataScript").onmousedown'
-id=p9a_4900FC3104_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9a_4900FC3104_rec_DataScript").onmousedown'
-id=p9a_4900FC3104_cmb_ModeValue
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 21.73%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:54;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">Combobox</SPAN>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9a_4900FC3104_rec_DataScript").onmousedown'
-id=p9a_4900FC3104_txt_OPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 48.68%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9a_4900FC3104_rec_DataScript").onmousedown'
-id=p9a_4900FC3104_txt_SPValue
-style="FONT-SIZE: 9pt; LEFT: 21.73%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 22.36%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p9a_4900FC3104_rec_DataScript").onmousedown' id=p9a_4900FC3104_alp_SPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:55;lineColor:transparent;numericDisplayFormat:%.2f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;">9999.99</TEXTAREA><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p9a_4900FC3104_rec_DataScript").onmousedown' id=p9a_4900FC3104_alp_OPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);HDXBINDINGID:56;lineColor:transparent;numberOfChars:9;numericDisplayFormat:%.1f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);">9999.99</TEXTAREA></DIV></DIV>
-<DIV class=hsc.shape.1 id=p9b_4900TY3301
-style="FONT-WEIGHT: 400; FONT-SIZE: 0px; LEFT: 277px; BEHAVIOR: url(#HSCShapeLinkBehavior) url(#HDXVectorFactory#shapelink); WIDTH: 92px; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 179px; HEIGHT: 152px; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;"
-value = "1" src = ".\L4_LSG_FURN_1_files\C200_MF_Automan.sha" parameters =
-"Point?Entity:4900TY3301;Parameter?CP_OP:AUTOMANA.OP;Parameter?CP_Mode:AUTOMANA.MODE;Parameter?CP_ModAttr:AUTOMANA.MODEATTR;Parameter?CP_RedTag:AUTOMANA.REDTAG;Parameter?CP_Windup:AUTOMANA.ARWOP;"
-linkType = "embedded" globalscripts = "" styleClass = "">
-<DIV class=hvg.group.1 id=p9b_4900TY3301_grp_C200MFAutoman
-style="FONT-SIZE: 0pt; LEFT: 0%; BEHAVIOR: url(#HDXVectorFactory#group); WIDTH: 100%; POSITION: absolute; TOP: 0%; HEIGHT: 100%"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;Height:152;lineColorBlink:False;Width:92;">
-<DIV class=hsc.alarmstate.1 id=p9b_4900TY3301_alarmstate title=""
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 65.21%; VISIBILITY: hidden; BEHAVIOR: url(#AlarmStateIconFactory#AlarmIcon) url(#BindingBehavior); WIDTH: 19.56%; FONT-STYLE: normal; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; POSITION: absolute; TOP: 40.78%; HEIGHT: 11.84%; TEXT-ALIGN: center; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="acknowledged:True;HDXBINDINGID:8;priority:3;quality:0;rtn:False;showDisableIcon:False;showTooltip:False;sizeableIcon:True;staticIcon:False;"
-ObjectType="6"></DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1 FrameMF" id=p9b_4900TY3301_frame
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 0%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 98.91%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:9;Height:150;LineColor:rgb(225,225,225);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:FrameMF;Width:91;"></DIV>
-<DIV class="hvg.base.1 FocusC200 HSC.ScriptDataObject.1" id=p9b_4900TY3301_focus
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 95.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 97.36%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,230,210);fillColorBlink:False;FillStyle:0;HDXBINDINGID:10;Height:148;LineColor:rgb(0,0,0);lineColorBlink:False;LineStyle:1;LineWidth:2;styleClass:FocusC200;Width:88;"
-onupdate="VBScript:call GSH_C200_GROUPAUTOMAN_ONUPDATE(me.parentElement.parentElement, 1)"></DIV>
-<DIV class=hvg.base.1 id=p9b_4900TY3301_outline
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 15.21%; BEHAVIOR: url(#HDXVectorFactory#roundrect); OVERFLOW: hidden; WIDTH: 70.65%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 48.02%; HEIGHT: 11.84%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:18;LineColor:#b4b4b4;lineColorBlink:False;LineWidth:1;Roundness:80;Width:65;"></DIV>
-<DIV class="hvg.base.1 AlarmEmergColor" id=p9b_4900TY3301_plg_EAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 3.26%; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 17.39%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 40.78%; HEIGHT: 10.52%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,0,0);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,0,0);lineColorBlink:False;LineStyle:1;points:0.000000 50.000000 50.000000 100.000000 50.000000 100.000000 100.000000 50.000000 100.000000 50.000000 50.000000 0.000000 ;styleClass:AlarmEmergColor;Width:16;"></DIV>
-<DIV class="hvg.textbox.1 AlarmEmergText" id=p9b_4900TY3301_txt_EAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TOP: 41.44%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(255,190,0);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmEmergText;textColor:rgb(255,255,255);textColorBlink:False;TotalRotation:0;Width:12;">U</DIV>
-<DIV class="hvg.base.1 AlarmHighColor" id=p9b_4900TY3301_rec_HAlarm
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 5.43%; BEHAVIOR: url(#HDXVectorFactory#rect); OVERFLOW: hidden; WIDTH: 13.04%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 42.1%; HEIGHT: 7.89%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255,160,0);fillColorBlink:False;Height:12;LineColor:rgb(255,160,0);lineColorBlink:False;LineStyle:1;styleClass:AlarmHighColor;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmHighText" id=p9b_4900TY3301_txt_HAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 7.6%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 11.95%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 41.44%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="fillColorBlink:False;FillStyle:1;Height:12;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmHighText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:11;">H</DIV>
-<DIV class="hvg.base.1 AlarmLowColor" id=p9b_4900TY3301_ovl_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 5.43%; BEHAVIOR: url(#HDXVectorFactory#oval); OVERFLOW: hidden; WIDTH: 13.04%; FONT-FAMILY: Arial; POSITION: absolute; TOP: 42.1%; HEIGHT: 7.89%"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:0;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:1;LineWidth:1;styleClass:AlarmLowColor;textColor:rgb(0,0,0);textColorBlink:False;Width:12;"></DIV>
-<DIV class="hvg.textbox.1 AlarmLowText" id=p9b_4900TY3301_txt_LAlarm
-style="FONT-WEIGHT: bold; FONT-SIZE: 9pt; LEFT: 6.52%; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 13.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 41.44%; HEIGHT: 7.89%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(51,170,255);fillColorBlink:False;FillStyle:1;Height:12;LineColor:rgb(51,170,255);lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:AlarmLowText;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:12;">L</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9b_4900TY3301_txt_tagname
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 1.97%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">TagName</DIV>
-<DIV class="hvg.textbox.1 Group_DataDisplay" id=p9b_4900TY3301_txt_keyword
-style="FONT-SIZE: 9pt; LEFT: 1.08%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 97.82%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 11.84%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(235,235,235);fillColorBlink:False;FillStyle:1;Height:16;LineColor:rgb(235,235,235);lineColorBlink:False;LineStyle:0;LineWidth:1;styleClass:Group_DataDisplay;textColor:rgb(0,0,0);textColorBlink:False;TotalRotation:0;Width:90;">Keyword</DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p9b_4900TY3301_plg_OpLow
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 0 50 100 0 0 100 0 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.base.1 OffNormalLineFill" id=p9b_4900TY3301_plg_OpHigh
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 85.86%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#polygon); OVERFLOW: hidden; WIDTH: 10.86%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 50.65%; HEIGHT: 6.57%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:rgb(176,0,176);fillColorBlink:False;Height:10;LineColor:rgb(176,0,176);lineColorBlink:False;points:100 100 50 0 0 100 100 100 ;styleClass:OffNormalLineFill;Width:10;"></DIV>
-<DIV class="hvg.textbox.1 OffNormalText" id=p9b_4900TY3301_txt_Initialization
-style="FONT-WEIGHT: bold; FONT-SIZE: 16pt; LEFT: 84.78%; VISIBILITY: hidden; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 9.78%; COLOR: #b000b0; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.84%; HEIGHT: 9.21%; TEXT-ALIGN: left"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;Height:14;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:0;styleClass:OffNormalText;textColor:rgb(176,0,176);textColorBlink:False;TotalRotation:0;Width:9;">*</DIV>
-<DIV class="hvg.base.1 HSC.ScriptDataObject.1" id=p9b_4900TY3301_rec_DataScript
-style="FONT-WEIGHT: 400; FONT-SIZE: 12pt; LEFT: 1.08%; BEHAVIOR: url(#HDXVectorFactory#rect) url(#HSCScriptDataBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 97.82%; FONT-STYLE: normal; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0.65%; HEIGHT: 98.68%; TEXT-DECORATION: none"
-tabIndex=-1
-hdxproperties="FillColor:transparent;fillColorBlink:False;FillStyle:1;HDXBINDINGID:11;Height:150;LineColor:transparent;lineColorBlink:False;LineStyle:0;LineWidth:2;Width:90;"
-onupdate="VBScript:call GSH_C200_GROUPAUTOMAN_ONUPDATE(me.parentElement.parentElement, 0)"></DIV><TEXTAREA class="hsc.alpha.1 Group_DataEntry" onmousedown='VBScript:me.parentElement.parentElement.objects("p9b_4900TY3301_rec_DataScript").onmousedown' id=p9b_4900TY3301_alp_OPValue style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; LEFT: 6.52%; VISIBILITY: hidden; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HDXAlphaBehavior) url(#BindingBehavior) url(#HoverBehavior); OVERFLOW: hidden; WIDTH: 86.95%; COLOR: rgb(0,0,0); BORDER-TOP-STYLE: none; PADDING-TOP: 1px; FONT-FAMILY: Arial; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; POSITION: absolute; TOP: 84.86%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; WORD-WRAP: normal; BORDER-BOTTOM-STYLE: none; ROWS: 1" tabIndex=0 hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);HDXBINDINGID:12;indicateScanState:0;lineColor:transparent;numberOfChars:9;numericDisplayFormat:%.1f;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);">9999.99</TEXTAREA>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9b_4900TY3301_rec_DataScript").onmousedown'
-id=p9b_4900TY3301_txt_OPValue
-style="FONT-SIZE: 9pt; LEFT: 19.56%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 49.34%; HEIGHT: 9.86%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:15;lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">9999.99</DIV>
-<DIV class="hvg.textbox.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9b_4900TY3301_rec_DataScript").onmousedown'
-id=p9b_4900TY3301_txt_ModeValue
-style="FONT-SIZE: 9pt; LEFT: 19.56%; VISIBILITY: visible; BEHAVIOR: url(#HDXVectorFactory#text); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: #000000; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; TEXT-ALIGN: center"
-tabIndex=-1
-hdxproperties="FillColor:rgb(255, 255, 255);fillColorBlink:False;FillStyle:0;Height:16;LineColor:rgb(255,255,255);lineColorBlink:False;LineStyle:0;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;TotalRotation:0;Width:58;">Mode</DIV><SPAN
-class="hsc.combo.1 Group_DataEntry"
-onmousedown='VBScript:me.parentElement.parentElement.objects("p9b_4900TY3301_rec_DataScript").onmousedown'
-id=p9b_4900TY3301_cmb_ModeValue
-style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FONT-SIZE: 9pt; BORDER-LEFT-COLOR: transparent; LEFT: 19.56%; VISIBILITY: hidden; BORDER-BOTTOM-COLOR: transparent; PADDING-BOTTOM: 1px; BEHAVIOR: url(#HSCComboboxBehavior) url(#BindingBehavior); OVERFLOW: hidden; WIDTH: 63.04%; COLOR: rgb(0,0,0); BORDER-TOP-COLOR: transparent; TEXT-INDENT: 2px; PADDING-TOP: 1px; FONT-FAMILY: Arial; POSITION: absolute; TOP: 61.18%; HEIGHT: 10.52%; BACKGROUND-COLOR: rgb(255,255,255); TEXT-ALIGN: center; BORDER-RIGHT-COLOR: transparent"
-tabIndex=0
-hdxproperties="borderStyle:none;borderWidth:1;fillColor:rgb(255, 255, 255);fillColorBlink:False;HDXBINDINGID:13;lineColor:transparent;lineColorBlink:False;styleClass:Group_DataEntry;textColor:rgb(0, 0, 0);textColorBlink:False;"></SPAN></DIV></DIV></DIV></BODY></HTML>
|