Vba
Vba
---------'
'
'
' MESAIEED Dynamic Action
'
' file name: Site.pdl
'
'
'
'---------------------------------------------------------------------------------
---------'
'####################################################################'
'##### Transmitters I/O Gauge Animation #####'
'####################################################################'
Sub TransmittersDynamics()
'----------------------------------------------------'
' Blinking I/O Border '
'----------------------------------------------------'
Set objCScript =
objObject.Properties.Item(10).CreateDynamic(hmiDynamicCreationTypeCScript)
strCode = "#define FEN """ & objObject.ObjectName & ".FEN""" & vbCrLf
strCode = strCode & "if (GetTagBit (FEN))" & vbCrLf
strCode = strCode & "return GetTagDWord(""T_FEN"")" & ";" & vbCrLf
strCode = strCode & "else" & vbCrLf
strCode = strCode & "return CO_BLACK" & ";"
With objCScript
.SourceCode = strCode
End With
'----------------------------------------------------'
' I/O Background Color '
'----------------------------------------------------'
Set objCScript =
objObject.Properties.Item(11).CreateDynamic(hmiDynamicCreationTypeCScript)
strCode = "#define ACKD """ & objObject.ObjectName & ".ACKD""" & vbCrLf
strCode = strCode & "#define ALARM """ & objObject.ObjectName & ".ALARM""" &
vbCrLf
With objCScript
.SourceCode = strCode
End With
'----------------------------------------------------'
' I/O Background Blinking Color '
'----------------------------------------------------'
Set objCScript =
objObject.Properties.Item(13).CreateDynamic(hmiDynamicCreationTypeCScript)
strCode = "#define ACKD """ & objObject.ObjectName & ".ACKD""" & vbCrLf
strCode = strCode & "return ! GetTagBit(""" & objObject.ObjectName & ".ACKD"")" &
";"
With objCScript
.SourceCode = strCode
End With
'----------------------------------------------------'
' Events '
'----------------------------------------------------'
'Directconnection is initiated by mouseclick:
Set objDConnection =
objObject.Events(1).Actions.AddAction(hmiActionCreationTypeDirectConnection)
With objDConnection
'Sourceobject:
.SourceLink.Type = hmiSourceTypeConstant
.SourceLink.ObjectName = 1
'Destinationobject:
.DestinationLink.Type = hmiDestTypeProperty
.DestinationLink.AutomationName = "Visible"
End With
'----------------------------------------------------'
' Dynamic Tag '
'----------------------------------------------------'
Set objVariableTrigger =
objObject.Properties.Item(14).CreateDynamic(hmiDynamicCreationTypeVariableDirect,
"T_ACKD")
objVariableTrigger.CycleType = hmiVariableCycleTypeOnChange
Set objVariableTrigger =
objObject.Properties.Item(15).CreateDynamic(hmiDynamicCreationTypeVariableDirect,
"T_ALARM")
objVariableTrigger.CycleType = hmiVariableCycleTypeOnChange
Set objVariableTrigger =
objObject.Properties.Item(17).CreateDynamic(hmiDynamicCreationTypeVariableDirect,
objObject.ObjectName & ".VALUE")
objVariableTrigger.CycleType = hmiVariableCycleTypeOnChange
Next objObject
End Sub
'####################################################################'
'##### Transmitters Gauge Event #####'
'####################################################################'
Sub TransEventDynamics()
With objDConnection
'Sourceobject:
.SourceLink.Type = hmiSourceTypeConstant
.SourceLink.ObjectName = 1
'Destinationobject:
.DestinationLink.Type = hmiDestTypeProperty
.DestinationLink.AutomationName = "Visible"
End With
End Sub
'####################################################################'
'##### Var. Speed PUMP as Custumized Object #####'
'####################################################################'
Sub PumpDynamics()
'----------------------------------------------------'
' Blinking Background Object Script '
'----------------------------------------------------'
Set objCScript =
objObject.Properties.Item(12).CreateDynamic(hmiDynamicCreationTypeCScript)
strCode = "#define ACKD """ & objObject.ObjectName & ".ACKD""" & vbCrLf
strCode = strCode & "return ! GetTagBit(""" & objObject.ObjectName & ".ACKD"")" &
";" & vbCrLf
With objCScript
.SourceCode = strCode
End With
'----------------------------------------------------'
' Background Color Object Script1 '
'----------------------------------------------------'
Set objCScript =
objObject.Properties.Item(10).CreateDynamic(hmiDynamicCreationTypeCScript)
strCode = "#define ACKD """ & objObject.ObjectName & ".ACKD""" & vbCrLf
strCode = strCode & "#define ALARM""" & objObject.ObjectName & ".ALARM""" & vbCrLf
strCode = strCode & "#define RNNG""" & objObject.ObjectName & ".RNNG""" & vbCrLf
strCode = strCode & "#define STPD""" & objObject.ObjectName & ".STPD""" & vbCrLf
With objCScript
.SourceCode = strCode
End With
'----------------------------------------------------'
' Events '
'----------------------------------------------------'
'Directconnection is initiated by mouseclick:
Set objDConnection =
objObject.Events(1).Actions.AddAction(hmiActionCreationTypeDirectConnection)
With objDConnection
'Sourceobject:
.SourceLink.Type = hmiSourceTypeConstant
.SourceLink.ObjectName = 1
'Destinationobject:
.DestinationLink.Type = hmiDestTypeProperty
.DestinationLink.AutomationName = "Visible"
End With
'----------------------------------------------------'
' Dynamic Tag '
'----------------------------------------------------'
Set objVariableTrigger =
objObject.Properties.Item(13).CreateDynamic(hmiDynamicCreationTypeVariableDirect,
"P_ACKD")
objVariableTrigger.CycleType = hmiVariableCycleTypeOnChange
Set objVariableTrigger =
objObject.Properties.Item(14).CreateDynamic(hmiDynamicCreationTypeVariableDirect,
"P_ALARM")
objVariableTrigger.CycleType = hmiVariableCycleTypeOnChange
Next objObject
End Sub
'####################################################################'
'##### Fixed Speed PUMP as Custumized Object #####'
'####################################################################'
Sub FixedPumpDynamics()
'----------------------------------------------------'
' Blinking Background Object Script '
'----------------------------------------------------'
Set objCScript =
objObject.Properties.Item(12).CreateDynamic(hmiDynamicCreationTypeCScript)
With objCScript
.SourceCode = strCode
End With
'----------------------------------------------------'
' Background Color Object Script '
'----------------------------------------------------'
Set objCScript =
objObject.Properties.Item(10).CreateDynamic(hmiDynamicCreationTypeCScript)
With objCScript
.SourceCode = strCode
End With
'----------------------------------------------------'
' Events '
'----------------------------------------------------'
'Directconnection is initiated by mouseclick:
Set objDConnection =
objObject.Events(1).Actions.AddAction(hmiActionCreationTypeDirectConnection)
With objDConnection
'Sourceobject:
.SourceLink.Type = hmiSourceTypeConstant
.SourceLink.ObjectName = 1
'Destinationobject:
.DestinationLink.Type = hmiDestTypeProperty
.DestinationLink.AutomationName = "Visible"
End With
'----------------------------------------------------'
' Dynamic Tag '
'----------------------------------------------------'
Set objVariableTrigger =
objObject.Properties.Item(13).CreateDynamic(hmiDynamicCreationTypeVariableDirect,
"P_ACKD")
objVariableTrigger.CycleType = hmiVariableCycleTypeOnChange
Set objVariableTrigger =
objObject.Properties.Item(14).CreateDynamic(hmiDynamicCreationTypeVariableDirect,
"P_ALARM")
objVariableTrigger.CycleType = hmiVariableCycleTypeOnChange
Next objObject
End Sub
'####################################################################'
'##### Valve as Custumized Object #####'
'####################################################################'
Sub ValveDynamics()
strCode = "#define ACKD """ & objObject.ObjectName & ".ACKD""" & vbCrLf
strCode = strCode & "return ! GetTagBit(ACKD)" & ";" & vbCrLf
With objCScript
.SourceCode = strCode
End With
strCode = "#define ACKD """ & objObject.ObjectName & ".ACKD""" & vbCrLf
strCode = strCode & "#define ALARM""" & objObject.ObjectName & ".ALARM""" & vbCrLf
strCode = strCode & "#define OPENED""" & objObject.ObjectName & ".OPENED""" &
vbCrLf
strCode = strCode & "#define CLOSED""" & objObject.ObjectName & ".CLOSED""" &
vbCrLf
strCode = strCode & "if (GetTagBit (ALARM))" & vbCrLf
strCode = strCode & "return GetTagDWord(""V_ALARM"")" & ";" & vbCrLf
With objCScript
.SourceCode = strCode
End With
With objDConnection
'Sourceobject:
.SourceLink.Type = hmiSourceTypeConstant
.SourceLink.ObjectName = 1
'.SourceLink.AutomationName = ""
'Destinationobject:
.DestinationLink.Type = hmiDestTypeProperty
.DestinationLink.AutomationName = "Visible"
End With
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'###### Dynamic Tag ######
Set objVariableTrigger =
objObject.Properties.Item(13).CreateDynamic(hmiDynamicCreationTypeVariableDirect,
"V_ACKD")
objVariableTrigger.CycleType = hmiVariableCycleTypeOnChange
Set objVariableTrigger =
objObject.Properties.Item(14).CreateDynamic(hmiDynamicCreationTypeVariableDirect,
"V_ALARM")
objVariableTrigger.CycleType = hmiVariableCycleTypeOnChange
Next objObject
End Sub
''####################################################################'
''##### Sol Pictures Window (Object Name & Tag Prefix & Caption Text #####'
''####################################################################'
Sub SolPictureWindow()
Dim Object_Name As String
Dim counter As Integer
Dim var As Integer
Dim EachSlct As HMISelectedObjects
Dim objPictureWindow As HMIPictureWindow
Set EachSlct = ActiveDocument.Selection
counter = 0
var = 0
For Each objPictureWindow In EachSlct
counter = counter + 1
If (counter <= EachSlct.Count) Then
'objPictureWindow.ObjectName = "MV0" & counter + var & "_FP"
objPictureWindow.TagPrefix = objPictureWindow.ObjectName
'"VSP" & counter + var '& "_SC"
objPictureWindow.CaptionText = objPictureWindow.ObjectName
objPictureWindow.PictureName = "FP_DRIVE.PDL"
'FP_DRIVE.PDL,FP_CVALVE.PDL,FP_AI.PDL
End If
Next objPictureWindow
End Sub
''####################################################################'
''##### Custmized Object(Object Name & Tag Prefix & Caption Text #####'
''####################################################################'
Sub NameCustomizedObject()
Dim Object_Name As String
Dim counter As Integer
Dim var As Integer
Dim EachSlct As HMISelectedObjects
Dim objObject As HMICustomizedObject
Set EachSlct = ActiveDocument.Selection
counter = 0
var = 0
For Each objObject In EachSlct
counter = counter + 1
If (counter <= EachSlct.Count) Then
objObject.ObjectName = "VSP" & counter + var '& "DC"
End If
Next objObject
End Sub