Moin zusammen,
habe hier ein kleines Problem mit dem Syntax im TIA VBS, explizit der o.g. Funktion.
Folgende Situation: Ich habe hier ein altes inTouch-Panel, das nun über Siemens RT Advanced auf einem Single Station PC umgesetzt werden soll.
Viele der Funktionen die es dort gibt, kann ich leider nicht 1:1 so im TIA Portal umsetzen und muss bisschen basteln.
Ursprünglich wurden die Rezepturen über eine Access-Datenbank an einen SQL-Server übertragen und über SQL in das inTouch-Panel.
Nun soll das ganze über die Rezeptverwaltung von Siemens umgesetzt werden. Soweit ja nicht weiter schlimm.
Der Bediener soll nun die Möglichkeit haben, gewisse Rezepte über Eingabe des Datensatznamens ein "Reihe" zu schalten.
Gibt der Bediener nun einen Namen ein, muss die Datenbank abgeglichen werden und ggf. ein Fehler bei falscher Eingabe ausgegeben werden.
Wollte also einfach die Gesamtzahl der Rezepte mit einer For-Schleife durchlaufen lassen und jeden Schritt GetDataRecordName aufrufen, für die Datensatznummer die Laufvariable nutzen und dann jeweils den aktuellen Datensatznamen mit der Eingabe abgleichen.
Habe bisschen gegoogled und auch das Forum durchforstet und bin auf einen Fehler in der Funktion Seitens Siemens gestoßen, hier müssen die Parameter anscheinend als Konstanten deklariert werden, weil die Funktion ansonsten nur Fehler ausspuckt.
Sieht dann folgendermaßen aus:
For i = 0 To 500
SmartTags("Script_DatensatzNr_2") = i
GetDataRecordName 1, SmartTags("Script_DatensatzNr_2"), "Script_Rezeptname_2", "Script_Datensatzname_2", "Script_Status"
Next
Dadurch dass sich die Funktion aber nur mit einer Konstanten "Script_Datensatzname_2" aufrufen lässt, hab ich keine Möglichkeit im nächsten Schritt die Strings abzugleichen, da sich der Wert in "Script_Datensatzname_2" nicht ändert....
Sobald ich statt der Konstanten eine lokale Variable oä. nehme gibt mir Siemens dann im Meldefenster einen Fehler aus, dass der Datentyp nicht richtig sei....
Hoffe mein Problem ist einigermaßen verständlich.
Im Anhang einmal das Skript, die Fehlermeldung, wenn ich keine Konstante verwende, sondern eine normale Variable und einmal die Ausgabe der 1. Zeile in der leider zu sehen ist, dass die Variable nicht beschrieben wird.
Besten Dank für eure Hilfe.