WinCC Flex Quick Question: VB Script Syntax Error ?¿?

meikelneit

Level-2
Beiträge
151
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bekomme bei folgendem VB Script einen Syntax Error für
Zeile 8 Spalte 2 angezeigt. Zeile 8 habe ich eingetragen. Wenn ich dort am beginn der Zeile 2 mal recht drücke, bin ich in der Zeile darunter.

Zeile 30 gibt die Warnung:
,Möglicherweise funktioniert die Systemfunktion nicht fehlerfrei, wenn eine Instanz des Bildbaustein-Typs angelegt wird. in Zeile 30, Spalte 1,,,19:55:04

Ich habe mir heute das erste mal die VB Scripts angeschaut, ich finde da einfach nicht das Problem.

Sub Recipemanager()
'Tip:
' 1. Verwenden Sie die Tastenkombination <CTRL+SPACE> oder <CTRL+I>, um eine Liste aller Objekte und Funktionen zu öffnen
' 2. Schreiben Sie den Code unter Verwendung des HMI Runtime Objekts.
' Beispiel: HmiRuntime.Screens("Screen_1").
' 3. Verwenden Sie die Tastenkombination <CTRL+J>, um eine Objektreferenz zu erstellen.
'Schreiben Sie den Code ab dieser Position:
Zeile 8
Dim ScreenNumber

Select Case SmartTags("Properties\ioData.Index")

Case 1
ScreenNumber = SmartTags("Properties\M01")
Case 2
ScreenNumber = SmartTags("Properties\M04")
Case 3
ScreenNumber = SmartTags("Properties\M20")
Case 4
ScreenNumber = SmartTags("Properties\M02")
Case 5
ScreenNumber = SmartTags("Properties\M40")
Case 6
ScreenNumber = SmartTags("Properties\M05")
Case Else
ActivatePreviousScreen
End Select

Zeile 30 ActivateScreenByNumber ScreenNumber, 0

End Sub

Mit freundlichem Gruß
Meikelneit
 
Zuletzt bearbeitet:
Bist du sicher, dass mit Zeile 30 ActivateScreenByNumber ScreenNumber, 0 gemeint ist? Vielleicht hilft auch da, die Zeile zu löschen und neu einzutippen.

Du hast deine Frage als "WinCC Flex" markiert. Dein Code sieht aber aus, als ob du TIA verwendest? Welche Version?
 
Dein hier gezeigter Code ist nicht vollständig. Im Case Else wird ScreenNumber nichts zugewiesen. Ist sichergestellt, dass dann Zeile 30 nicht ausgeführt wird oder ScreenNumber noch ein Wert zugewiesen wird? Nicht, dass das TIA womöglich solche Logikfehler erkennt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde mir mal per Systemmeldung ausgeben lassen was in ScreenNumber denn wirklich drinsteht.
Unabhängig davon ist der Einwand von @PN/DP natürlich korrekt - hinter ActicatePreviousScreen sollte dann noch Exit Sub kommen oder du solltest den folgenden Aufruf von ActivateScreenByNumber verhindern ... (vielleicht weil in ScreenNumber dann z.B. -1 drinsteht weil du es im else so zugewiesen hast ...
 
Bei der Warnung zu Zeile 30 geht es allerdings nicht um einen Laufzeitfehler, sondern eine Warnung beim Compilieren.
Hat die Warnung bei TIA eigentlich eine Fehlernummer? Wie lautet die?
Kann man bei der Warnmeldung einen Hilfetext aufrufen? Hast du mal ein Bild von der Warnmeldung?
Ich habe diese Warnung noch nie gesehen und habe auch keine Idee, was sie bedeuten könnte.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das problem war folgendes. Die VB scripte innerhalb eines Bildbausteins haben eine andere Funktionsbibliothek als die im Projekt angelegten. Die obige existiert einfach nicht im Bildbaustein.
 
Zurück
Oben