VB Scirpt mit ByRef

Supermario73

Level-2
Beiträge
77
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen
Ich komme leider nicht weiter. Im TIA Portal V13SP1 möchte ich ein kleines Script (Pop-up Bild schliessen und ein neues öffnen) mit Inputs erstellen:

Ohne Inputs funktioniert es wie folgt:

Sub popup_Motor()
ShowPopupScreen "Motor_1",100,200,hmiOff,hmiAnimationOff,hmiMedium
ShowPopupScreen "Motor_2",100,200,hmiOn,hmiAnimationOff,hmiMedium
End Sub

So möchte ich es haben aber es funktioniert nicht. Da ich nicht der Scripter bin bitte ich um Hilfe:

Sub popup_Motor(ByRef close_popup_name, ByRef open_popup_name, ByVal X, ByVal Y)
ShowPopupScreen ""&close_popup_name&"",100,200,hmiOff,hmiAnimationOff,hmiMedium
ShowPopupScreen ""&open_popup_name&"",""&X&"",""&Y&"",hmiOn,hmiAnimationOff,hmiMedium
End Sub

Nun kriege ich bei der Ausführung eine Fehlermeldung.
Besten Dank für Eure konstruktiven Hilfen


motor.JPG
 
Zuletzt bearbeitet:
Ich habe keine Ahnung von TIA13, doch bei VBS würde ich meinen, daß es so geschrieben werden müsste:
Code:
Sub popup_Motor(ByRef close_popup_name, ByRef open_popup_name, ByVal X, ByVal Y)
ShowPopupScreen close_popup_name, 100, 200, hmiOff, hmiAnimationOff, hmiMedium
ShowPopupScreen open_popup_name, X, Y, hmiOn, hmiAnimationOff, hmiMedium
End Sub

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald
Besten Dank für Deinen Input.
Es funktioniert mit den Variablen X und Y, doch der String wird nicht akzeptiert.
ShowPopupScreen open_popup_name, X, Y, hmiOn, hmiAnimationOff, hmiMedium (rot markiertes wird nicht akzeptiert)

In der Version ohne Variablen ist wie folgt:
ShowPopupScreen "Motor_1",100,200,hmiOff,hmiAnimationOff,hmiMedium

Ich denk da es mit dem X und Y funktioniert ist es nur eine Kleinigkeit beim String, aber ich komme nicht dahinter.
Vielleicht gibt es noch eine Idee.
Besten für die Hilfe
 
Hi,

hatte das gleiche Problem.
Ich muss dich leider enttäuschen das geht nicht. Tia übersetzt den String beim Kompelieren in eine Konstante Zahl. Das kann es aber nur wenn der Richtige String da steht.

Hier ein Auszug vom Debuggen

Tia:
Code:
ShowPopupScreen  "Pop-up-Bild_2",100,100,hmiOff,hmiAnimationOff,hmiMedium
ShowPopupScreen ""&"Pop-up-Bild_2" ,100,100,hmiToggle,hmiAnimationOff,hmiMedium

Runtime:
Code:
ShowPopupScreen  4,100,100,0,-1,1
ShowPopupScreen ""&"Pop-up-Bild_2" ,100,100,-1,-1,1

Ich habe es so gelöst das ist die Variable abgefragt habe und mit "if then else" ShowPopupScreen mit dem String aufgerufen habe.
Leider muss man dann immer alle Popups kennen und in das Script eintragen.

Viel Erfolg ""& Gruß Thomas
 
Diese furchtbare Bastelei kommt vielleicht davon, daß S. in dem WinCC TIA den Datentyp STRING für interne Variablen gestrichen hat, die eigenen RT-Funktionen (z.B. SmartTags) aber nicht mit WSTRING klarkommen?

Harald
 
Zurück
Oben