aboutsummaryrefslogtreecommitdiff
path: root/guidelines
diff options
context:
space:
mode:
authorGravatar Benjamin Jones <bjones@galois.com>2013-10-25 16:54:08 -0700
committerGravatar Benjamin Jones <bjones@galois.com>2013-10-25 16:54:55 -0700
commitcf2e7e2b7a364c6450d46551c1faa398b9634bfa (patch)
treec0186a5bfd0018ce5c1c3d053e0afa046f9ed616 /guidelines
parentdd5cfc60bb8fdc8cea4335c8a24937afbd65c090 (diff)
.
Diffstat (limited to 'guidelines')
-rw-r--r--guidelines/ASM/asm-8.5.js1
-rw-r--r--guidelines/ASM/test_L4_LSG_FURN_1.htm23151
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 = " &parameter)
-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 = " &parameter)
-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 = " &parameter)
-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 = " &parameter)
-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="&currentFocusTag&" 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="&currentTagFamily&" 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 & "." &parameter)
-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 & "." &parameter)
-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&"."&parameter))
-
- tempReturn = oDataBoundObject.DataValue(GSH_CPENTITY&"."&parameter)
- 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&"."&parameter)
- 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 = "&currentState)
-
- 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 = "&currentState)
-
- 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 = "&currentState)
-
- 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 &"." &parameter)
-
- 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 & "." &parameter) = 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 &"." &parameterName &" to " &parameterValue &" ? ",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 " &parameterValue &" to " &tagName &"." &parameterName)
-' 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>