WinCC Manipulieren einer S7-Variable in WinCC durch VB-Script

Clueless

Level-2
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
ich versuche momentan eine Variable aus meinem TIA-Portal-Projekt (TIA V15.1) in WinCC einzulesen, zu manipulieren und in einem EA-Feld wiederauszugeben. Dafür würde ich gerne ein Visual Basic Script verwenden.
Die Idee ist es eine boolsche Variable einzulesen und einer internen Variable durch eine IF/ELSE Anweisung in Abhängigkeit zur boolschen Variable die Wörter 'Ja', bzw. 'Nein' zuzuweisen (IF bool = 0, dann Nein/ IF bool = 1, dann Ja). Dafür habe ich mir bereits zwei interne Variablen 'SCRIPT_CONV_BOOL_TO_STRING' und 'SCRIPT_CONV_BOOL_TO_STRING1' vom Typ Textvariable 8-bit Zeichensatz angelegt.
Mein Script habe ich in meinem EA-Feld unter Ausgabe/Eingabe - Ausgabewert - Dynamik abgelegt. Das EA-Feld habe ich auf das Datenformat String eingestellt.
Mein Script lautet wie folgt:

Function OutputValue_Trigger(ByVal Item)
Dim test
Set test = HMIRuntime.Tags("s7_boolscheVar") 'Die boolsche Variable aus der SPS
test.Read
If test = 1 Then
SCRIPT_CONV_BOOL_TO_STRING = "Ja"
ELSE
SCRIPT_CONV_BOOL_TO_STRING = "Nein"
End if

'Die Variable mit der Puffervariable beschreiben, um das Ergebnis aus dem EA-Feld ausgeben zu koennen
HMIRuntime.Tags("SCRIPT_CONV_BOOL_TO_STRING1"):Write HMIRuntime.Tags("SCRIPT_CONV_BOOL_TO_STRING").Read

End Function

Leider funktioniert mein Script nicht. Ich wäre sehr dankbar, falls wer einen Lösungsansatz geben könnte

VG
 
Wäre die Verwendung eines symbolischen EA-Feldes und einer zugehörigen Textliste für ja/nein nicht der einfachere Weg?
... oder 2 Schaltflächen mit der Beschriftung "Ja" und "Nein"? Da braucht der Bediener nichts mühsam eintippen oder aufklappen.

Leider funktioniert mein Script nicht.
"funktioniert nicht" ist leider keine hilfreiche Problembeschreibung.
Standard-Tipp: mache Dir in ein Bild eine Meldeanzeige zur Anzeige des Meldepuffers für Meldungen der Meldeklasse System, damit Du die Runtimefehler-Meldungen sehen kannst. Da steht dann im Klartext drin, was dem VBS nicht gefällt.

Wenn Dein Skript tatsächlich VBS sein soll, dann sind da einige Fehler drin, z.B. in der letzten Codezeile der Doppelpunkt vor Write gehört da ganz sicher nicht hin. Und noch andere Sachen.

Für welches HMI-Gerät soll das Skript sein?

Harald
 
Zurück
Oben