WinCC V7.3 Scripting: VBS, ANSI-C, VBA

WinCC V7.3 Scripting: VBS, ANSI-C, VBA
Beispiel: Skripte zum WinCC AlarmControl
Beispiel: Skripte zum WinCC AlarmControl
Einleitung
Die folgenden Beispiele zeigen die Verwendung von Skripten für das WinCC AlarmControl.
Voraussetzung
•
Im Editor "Alarm Logging" haben Sie bereits Meldungen projektiert.
Beispiel1: Filter setzen
Ein Filter mit der Meldungsnummer "2" wird gesetzt bzw. zurückgesetzt, wenn der Filter bereits
gesetzt ist. Zusätzlich wird der Zustand im Diagnosefenster ausgegeben.
'VBS353
Dim objAlarmControl
'create reference to AlarmControl
Set objAlarmControl = ScreenItems("Control1")
'set / reset the filter and create a trace
If (objAlarmControl.MsgFilterSQL = "") Then
objAlarmControl.MsgFilterSQL = "MSGNR = 2"
HMIRuntime.Trace "MsgFilterSQL set to MSGNR = 2" & vbNewLine
Else
objAlarmControl.MsgFilterSQL = ""
HMIRuntime.Trace "no filter" & vbNewLine
End If
Beispiel2: Spalte zum WinCC AlarmContol hinzufügen
Die Spalte "Meldetext" wird hinzugefügt bzw. entfernt, wenn die Spalte bereits vorhanden ist.
Zusätzlich wird der Zustand im Diagnosefenster ausgegeben. Der Meldeblock der Spalte
"Meldetext" hat den Objektnamen "Text1".
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=70765906699&Language=de-DE&TopicId=20710955915
15.11.2016
WinCC V7.3 Scripting: VBS, ANSI-C, VBA
Beispiel: Skripte zum WinCC AlarmControl
'VBS354
'add this function to the declaration section
Function IsExistingMsgColumn( objAlarmControl, strName )
'this function checks if the MessageColumn exists
on error resume next
objAlarmControl.GetMessageColumn( strName )
If err.number = 0 Then
IsExistingMsgColumn = True
else
err.Clear
IsExistingMsgColumn = False
end if
End Function
'example code
Dim objAlarmControl
Dim colMsgColumn
'create reference to the alarm control
Set objAlarmControl = ScreenItems("Control1")
Set colMsgColumn = objAlarmControl.GetMessageColumnCollection
'add or remove the MsgColumn
If ( IsExistingMsgColumn(objAlarmControl, "Text1") ) Then
This
document constitutes"Remove
a free excerpt
compiled by the&user
himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
HMIRuntime.Trace
MsgColumn"
vbNewLine
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=70765906699&Language=de-DE&TopicId=20710955915
15.11.2016
colMsgColumn.RemoveItem("Text1")
WinCC V7.3 Scripting: VBS, ANSI-C, VBA
Beispiel: Skripte zum WinCC AlarmControl
Beispiel3: Inhalt des Meldefensters im Diagnosefenster ausgeben
'VBS355
Dim objAlarmControl
Dim lIndex
Dim lCellIndex
'create reference to the alarm control
Set objAlarmControl = ScreenItems("Control1")
'enumerate and trace out row numbers
For lIndex = 1 To objAlarmControl.GetRowCollection.Count
HMIRuntime.trace "Row: " & (objAlarmControl.GetRow(lIndex).RowNumber) & " "
'enumerate and trace out column titles and cell texts
For lCellIndex = 1 To objAlarmControl.GetRow(lIndex).CellCount
HMIRuntime.trace objAlarmControl.GetMessageColumn(lCellIndex -1).Name & " "
HMIRuntime.trace objAlarmControl.GetRow(lIndex).CellText(lCellIndex) & " "
Next
HMIRuntime.trace vbNewLine
Next
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=70765906699&Language=de-DE&TopicId=20710955915
15.11.2016