Produkt: | Elvis |
Version: | alle |
Stand: | 2002-07-25 |
Zusammenfassung
Zum Ausgeben von individuellen Meldungen oder Werten können im Globalen Skript diese Daten in eine Datei gespeichert werden. Im Beispiel wird vom Datenpunkt mit dem Namen ‚Alarm‘ der Alarmstatus und der Alarmwert immer dann gespeichert, wenn sich der Alarmstatus ändert. Natürlich gibt es hier viele Möglichkeiten zur Variation des Programms. Zum Drucken der Daten siehe KB050011.
Einzelheiten
Im nachfolgenden Beispiel werden Meldungstexte erzeugt wenn ein Alarm-Datenpunkt in den Zustand „Alarm“, „kein Alarm“ oder „Alarm quittiert“ wechselt. Die Texte werden in einer Datei gespeichert. Im Beispiel ist der Dateiname im Aktualwert des Datenpunkts mit dem Namen „sFile“ gespeichert. Der Dateiname kann aber auch fest im Programm eingegeben werden. Damit alles funktioniert müssen diese Punkte befolgt werden:
1. Dieses Programm ins Globale Skript einfügen (Download Skript):
Sub OnDatapointChanged(ByVal DP As Object, ByVal prop As String)
If prop = „AlarmState“ Then
Dim Dateinummer As Integer
Dateinummer = FreeFile
Open Database.Datapoint(„sFile“).ActualValue For Append As #Dateinummer
If DP.AlarmState = Asc(„N“) Then ’no Alarm
Print #Dateinummer, „kein Alarm: “ & DP.Name & “ Wert: “ & DP.ActualValue
ElseIf DP.AlarmState = Asc(„A“) Then ‚Alarm
Print #Dateinummer, „Alarm: “ & DP.Name & “ Wert: “ & DP.ActualValue
ElseIf DP.AlarmState = Asc(„Q“) Then ‚Quit Alarm
Print #Dateinummer, „Alarm quittiert: “ & DP.Name & “ Wert: “ & DP.ActualValue
End If
If Dateinummer Then Close #Dateinummer
End If
End Sub
Anmerkung: Alle Programme des globalen Skript werden durch den Elvis-Server ausgeführt. Im globalen Skript kann das Unterprogramm OnDatapointChanged nur einmal definiert werden. Also alle dort benötigten Aktionen innerhalb des Unterprogramms machen oder als separates Unterprogramm erstellen und aufrufen.
2. Den Datenpunkt für den Dateinamen anlegen: Name = „sFile“; Typ = „Text“; DP-Gruppe = <irgendwie setzen>; Ort = „c:\programme\elvis\prtq\alarm.txt“
Hier hab ich ein besonderes Unterverzeichnis angegeben dessen Rolle unter KB050011 erklärt wird.
3. Es muss natürlich mindestens ein Alarmdatenpunkt vorhanden sein.