-> Hier kostenlos registrieren
Hallo zusammen,
ich sitze schon ein ganz Zeit (6Stunden) vor meiner ersten VB-Funktion . Bislang hab ich nur Sub´s geschrieben. Die Syntax-Prüfung von WinCC flexible (für ein TP270) behauptet das Script liefere keinen Rückgabewert, obwohl es als Function definiert ist.
Function Nutzdaten (Komplettdaten) String
. Dim Nutzdatenlaenge
. Nutzdatenlaenge = InStr(1, Komplettdaten, "^FS", 1) ' Long-Format
. Nutzdaten = Left(Komplettdaten, Nutzdatenlaenge-1)
End Function
Das Script ermittelt innerhalb eines Strings über einen Mustervergleich das
erste ^FS Zeichen und gibt die Stellung an (Nutzdatenlänge).
Dann wird einfach alles hinter dem Suchmuster mit der Left-Function abgeschnitten.
Ich gehe davon aus, das "Nutzdaten" mein Rückgabewert ist und
"Komplettdaten" mein Übergabewert. Scheinbar liege ich falsch.
Sieht jemand meinen Unwissen. Als Sub läuft das ganze auch, aber nicht als Funktion. ich muss die Prüfung an 24 Eingabefeldern durchführen, daher will ich dies als Funktion progammieren.
Folgendes Beispielscript der Siemens-Hilfe weist genau denselben syntaktischen Fehler auf.
Function Celsius(GradF)
Celsius = (GradF - 32) * 5 / 9
End Function
Liefert keinen Wert zurück, obwohl als Function definiert, behauptet der Interpreter von WinCC.
Gruß Peter Götz
ich sitze schon ein ganz Zeit (6Stunden) vor meiner ersten VB-Funktion . Bislang hab ich nur Sub´s geschrieben. Die Syntax-Prüfung von WinCC flexible (für ein TP270) behauptet das Script liefere keinen Rückgabewert, obwohl es als Function definiert ist.
Function Nutzdaten (Komplettdaten) String
. Dim Nutzdatenlaenge
. Nutzdatenlaenge = InStr(1, Komplettdaten, "^FS", 1) ' Long-Format
. Nutzdaten = Left(Komplettdaten, Nutzdatenlaenge-1)
End Function
Das Script ermittelt innerhalb eines Strings über einen Mustervergleich das
erste ^FS Zeichen und gibt die Stellung an (Nutzdatenlänge).
Dann wird einfach alles hinter dem Suchmuster mit der Left-Function abgeschnitten.
Ich gehe davon aus, das "Nutzdaten" mein Rückgabewert ist und
"Komplettdaten" mein Übergabewert. Scheinbar liege ich falsch.
Sieht jemand meinen Unwissen. Als Sub läuft das ganze auch, aber nicht als Funktion. ich muss die Prüfung an 24 Eingabefeldern durchführen, daher will ich dies als Funktion progammieren.
Folgendes Beispielscript der Siemens-Hilfe weist genau denselben syntaktischen Fehler auf.
Function Celsius(GradF)
Celsius = (GradF - 32) * 5 / 9
End Function
Liefert keinen Wert zurück, obwohl als Function definiert, behauptet der Interpreter von WinCC.
Gruß Peter Götz
Zuletzt bearbeitet: