TIA Bild öffnen über Variable

Byte0815

Level-2
Beiträge
151
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich versuche mich derzeit an einem TP1900 Comfort Panel. Da ich mittlerweile viele Seiten mit Ventilen und Motoren angelegt habe, wollte ich mir im Permamentbereich ein Eingabefenster mit einer Variable erstellen. Mit der Variable sollen sich dann die jeweiligen Bilder öffnen. Jedoch habe ich hier in der Suche noch nicht das richtige gefunden. Geht das überhaupt ?

Danke schonmal im voraus

Ich arbeite mit dem TIA Portal 15.1
 
Du kannst an einer Variable unter Eigenschaften => Bei Wertänderung "Öffne Bild mit Nummer" projektieren und dort die Variable angeben.

Dann wird bei Eingabe von z.B. "12" Bildnummer 12 aufgerufen
 
Es geht nicht nur mit der Bildnummer. Man kann auch mit beliebigen Variablen (z.B. auch BOOL) bei beliebigen Wertänderungen direkt anprojektierte Bilder aktivieren, dann für jedes zu aktivierende Bild mit einer eigenen Variable.
ich habe es bisher mit einer Wertänderung gemacht aber dann kommt mein Bild auch beim Wechsel von 1 auf 0 das möchte ich verhindern.
Mit ein bisschen mitdenken was da passiert könnte man auf folgende einfache Lösung kommen: die Variable die den Bildwechsel auslöst, setzt sich selber auf 0 zurück. (Das hat sogar noch den Vorteil, daß die SPS-CPU sehen kann, daß/wann das HMI den Bildwechsel gemacht hat.)

HMI-Variable: DB_HMI.Bild_x_Trigger
Erfassungsart: Zyklisch fortlaufend
Ereignisse: Wertänderung
Code:
1 RücksetzeBit
    Variable: DB_HMI.Bild_x_Trigger
2 AktiviereBild
    Bildname: Mein_Bild_x
Man kann Bildwechsel auch relativ kompliziert über Steuerungsaufträge machen. Lies mal den ganzen Thread von vorgestern/gestern durch.

Harald
 
Danke für die Antwort PN/DP.

Ich habe mir das ganze mal durchgelesen und könnte es über Steueraufträge machen.

Ich dachte nur das es vielleicht auch direkt am Panel möglich ist ohne das ich meine CPU mit einbinden muss in das ganze geschehen,

Ich wollte mir auf meinem Permanentbereich ein E/A Feld mit einem WSTRING machen (quasi eine Art Suche Programmieren ) und bei Eingabe der Motor oder Ventilnummer sollte das Bild geöffnet werden wo sich das Bauteil befindet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da ich mittlerweile viele Seiten mit Ventilen und Motoren angelegt habe, wollte ich mir im Permamentbereich ein Eingabefenster mit einer Variable erstellen. Mit der Variable sollen sich dann die jeweiligen Bilder öffnen.
Hallo Byte0815
ich muß gestehen, daß ich mir erst jetzt Deine Frage genau durchgelesen habe. :oops:

Du könntest ein symbolisches EA-Feld mit Textliste (Bildnamen/Bildbeschreibungen) machen, und bei "Eingabe abgeschlossen" oder bei Wertänderung der Prozessvariable ein Skript aufrufen, wo Du mit einer Fallunterscheidung (Select Case) abhängig vom Wert der Prozessvariable mit ActivateScreen Deine Bilder aufrufst. Theoretisch kannst Du auch ein String-EA-Feld zur Eingabe von beliebigem Text machen, doch dann müsstest Du in einem Skript aufwendig untersuchen, was da eingegeben wurde.

Harald
 
In TIA gibt es auch einen Assistent zur Projektierung einer "Bildverwaltung" mit Bildaufruf über ein symbolisches EA-Feld im Permanentbereich. Das könntest Du Dir mal anschauen.
Neues Gerät einfügen > HMI > TP900 Comfort > [x] Geräteassistent aufrufen

Harald
 
Danke

ich schau es mir mal an.

Rein aus Interesse wie müsste den das Script ausehen wenn ich als WString "Pumpe 333" habe und sich mein Bild "Test_XY" öffnen soll ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
können mehrere Aggregate auf das gleiche Bild verweisen(1), oder ist jedem Aggregat ein eigenes Bild zugeordnet um z.B. die Bedienung des Aggregates zu ermöglichen(2)?

Beispiele:
(1)
Pumpe 10 soll auf Bild 1 springen
Pumpe 11 soll auf Bild 1 springen
(2)
Pumpe 10 soll auf Bild 1 springen
Pumpe 11 soll auf Bild 2 springen

Der erste Fall ist komplizierter, da irgendwo ja die Info stehen muss welche Aggregate auf welchem Bild sind.
Der zweite Fall würde nur ein symbolisches EA Feld, eine Textliste und eine Lokalvariable vom Typ Int im Panel benötigen.
 
Prinzipiell handelt es sich eher um den ersten Fall. Nur eine Handvoll Aggregate haben eigene Bilder.

Ich hatte gehofft das ich es ohne eine Dropdownliste lösen könnte. Ich hatte mir schonmal ein Dropdownmenü gebastelt wo alle Aggregate drin stehen und ich durch drücken auf das Aggregat in der Liste auf das Bild geleitet werde. Da es aber zukünftig viel mehr Aggregate werden sollen wäre es halt schon gewesen sich ein Eingabefeld zu basteln wo ich den Aggregatename oder Messtellennummer eingebe und dann zum Bild gelange.
 
Prinzipiell handelt es sich eher um den ersten Fall. Nur eine Handvoll Aggregate haben eigene Bilder.

Ich hatte gehofft das ich es ohne eine Dropdownliste lösen könnte. Ich hatte mir schonmal ein Dropdownmenü gebastelt wo alle Aggregate drin stehen und ich durch drücken auf das Aggregat in der Liste auf das Bild geleitet werde. Da es aber zukünftig viel mehr Aggregate werden sollen wäre es halt schon gewesen sich ein Eingabefeld zu basteln wo ich den Aggregatename oder Messtellennummer eingebe und dann zum Bild gelange.

Hallo Byte,

so etwas ist mit Hilfe von Scripten und der VBS-Objektfunktionen für "Screens" auch umsetzbar.
Ich habe das auf die Schnelle - und zu dieser Uhrzeit :rolleyes: - nicht zur Hand, habe aber etwas ähnliches für meine grundsätzliche Bildumschaltung realisiert (weil Siemens die Bildnummerngröße einschränkt und diese so für eine sprechende Nummer nicht ausreicht).

Ich melde mich heute Abend dazu nochmals zurück.


Gruß, Fred
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier mal ein kleines Beispielprojekt mit Script Lösung.

Hier werden die im Script festgelegten Bilder untersucht, ob ein Objektname mit dem Namen des Suchtextes übereinstimmt.
Falls ja, wird das Bild angezeigt.

Es setzt allerdings voraus, dass deine Objekte richtig heissen.

Kannst ja mal rumspielen und ein paar deiner Aggregate in die Bilder reinkopieren, und dann suchen.
Das sollte klappen.

Das Dateiendung muss in .zap14 umbenannt werden.
Ich kann kein TIA14 Archiv hochladen!?
 

Anhänge

  • BilderSuchen.zip
    333 KB · Aufrufe: 25
So,
ich hab mir das ganze mal auf meine Bild Namen und Nummern angepasst, aber irgendwie funktioniert es nicht.
Muss ich das Script noch irgendwie aufrufen oder geht das automatisch ? Ich hatte noch nicht mit Scripten gearbeitet bis jetzt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Funktioniert es in dem Projekt von mir so wie du es dir vorstellst?
Kannst ja über die HMI Runtime Simulation testen...
Dort ist das Script an das Eingabeende des Suchfeldes eingebunden.
Bei mir ist das Suchfeld im Permanentbereich.
 
Läuft doch :D

Deine Sucheingabe gibt es ja auch nicht.
Gib mal V2 oder P3 oder so was ein.

Oder platziere mal ein paar Objekte von dir in meinen Bildern und suche dann nach deren Namen.
Das sollte schon klappen.


Edit: In der Meldeliste zeigt es alle Objekte an, die in den im Script spezifizierten Bildern vorhanden sind.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Okay
Ich nehme alles zurück und behaupte das Gegenteil :D. Es funktioniert auch wenn ich eigene Objekte einfüge.
Nur angepasst in meinem Projekt will es noch nicht so recht :D
Scriptt.JPG
Meine Seite "8.0.Reserve_1" hat die Bildnummer 101

Auf dieser Seite habe ich einen Kreis mit der Bezeichnung P600 jedoch passiert garnicht^^
 
Was auf jeden Fall nicht passt ist die Deklaration der Arrays.
Da wo als Kommentar Anzahl - 1 steht.
Dort müsstest du bei nur einem Bild 0 eintragen...

Ich bin aber nicht sicher, ob er das frisst.

Falls nicht, gib mal noch ein zweites Suchbild an, und schreib 1 in die Deklarationen rein.
 
Zur Fehlersuche kannst auch im Meldepuffer nachschauen.
Wenn ein Script mit Fehler abgebrochen wird, dann steht das da drin...

Noch was...

heisst deine Suchvariable so wie meine?
Sonst musst du das im Script auch anpassen.

strSuchtext = DeineVariable
 
Zuletzt bearbeitet:
Zurück
Oben