TIA Parameterübergabe an ein Script und mehrere Bildfenster

MSP

Level-2
Beiträge
212
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Zusammen,

ich habe 2 Fragen zum WinCC Professional v16 im TIA Portal im Bereich Scripte.

1.) Ist es möglich, an ein Script einen Parameter zu übergeben?
Ich habe in einem anderen Beitrag mit Bildfenstern gearbeitet, in diesem Script sind jetzt die Bildnamen fest eingetragen. Das bedeutet ich verliere die Möglichkeit im TIA, wenn der Bildname sich ändern sollte, dass die Verwendungsstelle aktualisiert wird. Der Aufruf im Script müsste dann ja "von Hand" bearbeitet werden, was ich gerne verhindern möchte.
Daher dachte ich daran den Bildnamen an das Script zu übergeben, ähnlich wie eine Schnittstelle bei einem Bildbaustein.

2.) Wie kann ich herausfinden, ob ein Bildfenster bereits geöffnet ist?
Ich habe vor, in meinem Grundbild mehrere Bildfenster für Popups zu reservieren.
Diese nennen sich "Popup1", "Popup2" bis "Popup5"
Wenn ich nun ein Popup öffnen möchte, soll das erste nicht aktive Bildfenster geöffnet werden, also "Popup1". Rufe ich nun ein zweites Popup auf, so soll "Popup2" verwendet werden.
Ich dachte hier an eine Schleife die dies auswerten sol.. aber ist das praktikabel? Wenn ich mal auf 6 Bildfenster erweitern möchte müsste ich so dann ja X Scripte erweitern...

Ich hoffe Ihr Versteht was ich erreichen möchte :-)

Gruss und einen schönen Start in die Woche,
Michael
 
Zu 2)
Pack die Funktion in ein globales Script, dann musst du die Anzahl nur an einer Stelle ändern. Das Durchgehen der Fenster in einer Schleife und dann suchen mache ich auch so, bzw. macht Siemens das auch so. Wenn du das alles in einem globalen Script hast, dann kannst du das Verhalten auch einfach zentral anpassen. Z.B. dass wenn alle Popups geöffnet sind, das erste schließen und neu aufmachen, eine Meldung anzeigen o.Ä.

Zu 1)
Kannst du prinzipiell auch in ein globales Script packen, oder wenn du das so machen würdest wie ich es damals im Thread erklärt habe, d.h. wenn du dich den Bildbaum herauf-hangelst, dann benötigst du keine festen Fensternamen im Code. Nur der Bildaufbau darf sich nicht ändern, also welches Bildfenster in welchen Fenster und wie viele übergeordnete es gibt. Wenn du das alles in ein globales Script packst, dann kannst du das auch alles zentral anpassen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo nochmals,

ich bin jetzt in der Lage die Fensternamen an ein globales Script zu übergeben, es funktioniert auch :-)
Nun muss ich aber den Bildnamen oder den Namen des Bildfensters als String übergeben, sprich ich muss den Bildnamen "von Hand" eingeben und kann nicht die Automatik von TIA nutzen wenn sich z.B. ein Bildname ändert, dass dann der Verwendungsort am Script sich mitändert.

Wie kann man das nun realisieren, dass ich einem globalen Script den Bildnamen "verlinkt" zum Bild / Bildfenster übergeben kann?

Gruss,
Michael
 
Am TP1200 Comfort lese ich den aktuellen ScreenNamen mit
Code:
ScreenName = HmiRuntime.BaseScreenName
aus.

Keine Ahnung, ob das bei WinCC Professional auch so funktioniert.
 
Zurück
Oben