TIA PopUp Fenster als Faceplate projektieren

Astralavista

Level-1
Beiträge
799
Reaktionspunkte
112
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

nach den ersten Gehversuchen in TIA habe ich mir ein paar Bausteine für die S7-1500 erstellt.
Nun wollte ich die neuen Funktionen wie Pop-Up oder Slide-In von WinCC Advanced zur Visualisierung benutzen.

Ich habe meine FB's optimiert erstellt, das heißt die Instanz-DB's sind logischerweise auch optimiert.

Mein Problem:
Ich möchte gerne das Pop-Up als eine Art "Faceplate" für z.B. einen Ventilbaustein benutzen. Dann im Faceplate die Umschaltung zwischen "Hand/Auto" und "öffnen / schliessen" etc.
In Flexible habe ich das ganze auch schon umgesetzt, in dem ich die Datenbaustein-Nummer des Ventils an das Faceplate variabel übergeben habe.
Mit optimierten DB's geht das aber nicht, bzw. ich kriege das nicht hin.
welche Möglichkeit gibt es, oder muss man womöglich deswegen die Optimierung deaktiveren?
Geht es evtl. sich mit einem Skript die Variablennamen zusammen zu bauen?
Bräuchte eigentlich nur einen Lösungsansatz für die Variante mit optimierten DB's.

Ich bin grad so hin und her gerissen ... jetzt habe ich die Bausteine TIA / S7-1500 konform geschrieben und würde mich ärgern die Optimierung jetzt abzuschalten.

Ich hoffe ich habe mich verständlich ausgedrückt. Im Anhang ein Bild wie ich die Variable in WinCC indirekt adressiere, das geht aber nur mit Zugriffsart Absolut und nicht symbolisch.
 

Anhänge

  • Indirekte_Adressierung_Absolut.jpg
    Indirekte_Adressierung_Absolut.jpg
    123,3 KB · Aufrufe: 103
Hast du das ganze in Flex gemacht mit ein Bildbaustein?
Bein Comfortpanel hab ich auch die Popups verwendet, und dann mit ein Bildbaustein drinnen(von z.b. ein Ventil).
Tja, die Adressierung ist ja leider Absolut. Das ist dann ein (HMI)UDT

Bram
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei mir ist die komplette Adressierung symbolisch, so wie es auch im Sinn von TIA und S7-1500 ist.
Leider geht das dann natürlich nicht mit dieser Art der Adressierung.
Mein Ziel ist es einen Weg zu finden, so wenig Arbeit wie möglich im HMI zu erledigen um z.B. 40 Ventile anzulegen. Das Variablenmultiplexen fällt da schon mal weg.
Ich bin halt auch verwöhnt von PCS7 ;)
 
Du kommst nicht daran vorbei optimiert und nicht optimiert zu mischen sobald du eine visu mit UDT-Variabelen dran hast.

40 Ventilen sind bei mir 40 Variabelen. Der Variabele ist dann für 40 x Popup und 40 x ins Prozessbild.

Das ist im Moment der schnellste und sauberste Weg denke ich.

Bram
 
Ich habe im Moment alles ohne UDT's aufgebaut. Kannst du mir mal erklären wie du das genau mit den UDT's machst?
Hört sich interessant an ... dachte man kann keine Strukturen und UDT's an Bildbausteine übergeben? Evtl. wäre das eine Lösungsmöglichkeit.
 
Und die UDT's sind bei dir symbolisch oder absolut? Übergibst du dann die benötigten Daten nochmal vom Ventil-FB an einen globalen DB in dem die UDT's liegen, oder sind die UDT's direkt im Instanz-DB?
Auf jeden Fall danke für deine Screenshots. Das hilft mir schon viel weiter! :cool:
 
Die UDT,s im Visu sind Absolut und haben die gleiche Struktur/Offset des Instanzdatenbausteins.
Im UDt sind aber nur die variabelen angelegt die mir in der visu interresieren. Haben aber die Offset so wie im Instanzdatenbaustein.

Im Programm ist nur der FB vom Ventil und seine Instanz.
Im Programm FB exitiert das UDT der Visu nicht.

Bram
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zum Gruße,

es müsste auch mit symbollischen/optimierten DBs funktionieren (zumindest unter V13 Sp1). Wenn du deinen UDT in der PLC als Bibliotheksobjekt übernimmst und diesen versionierten UDT als HMI Variable anlegst, kann diese Variable auch an das Interface eines Faceplates übergeben weden. Neben dem Vorteil, dass du somit weiter mit optimierten Bausteinen arbeiten kannst, hast du für beide UDTs (also PLC und HMI) eine einzige Stelle, die bei einer Änderung bearbeitet werden muss.
Ich habe dies für die Softkey Facepates unserer HMI versucht und es hat soweit auch mit mehr oder minderen Schwierigkeiten funktioniert. Das Mulltiplexen, das Astralavista gerne genutzt hätte, geht leider im Moment noch nicht. Angeblich soll V14 damit aufwarten können. Wir werden es in naher Zunkunft wohl sehen.

Auch wenn diese Zeilen ein wenig spät kommen, hoffe ich, dass sie sich noch als nützlich erweisen mögen.

Grüße

M.
 
Zuletzt bearbeitet:
Hey Danke für den Tip.
Ich kriege es leider nicht hin. Habe meine Bausteine jetzt auf UDT umgestrickt, scheitere aber schon daran die Variablen im HMI anzulegen.
Ich glaube mir fehlt eine Art Verknüpfung zwischen PLC UDT und HMI UDT.
Meine Vorgehensweise:
1. UDT unter PLC-Variablen angelegt und in die Schnittstelle im FB eingefügt, Programmcode entsprechend geändert, übersetzt und in PLC geladen
2. Da ich den UDT nicht im HMI finden konnte, habe ich einen neuen HMI UDT mit Versionierung angelegt, wie von euch beschrieben.

Mein Problem
Den neuen HMI UDT kann ich jetzt zwar in der Variablentabelle im Panel anlegen, aber ich kann ihn nicht mit dem UDT in der PLC verknüpfen.
Wie habt ihr das gemacht, bzw. wo steckt mein Fehler?
 
Das Verbinden mit dem UDT müsste bereits ohne das Anlegen eines Bibliotheksobjekts oder HMI UDTs funktionieren. Wenn du dein UDT auf der PLC unter PLC Datentypen erstellt und in deinen statischen Variablen deines Instanz DBs angelegt hast (die Haken Erreichbar aus HMI und Sichtbar in HMI gesetzt), kannst du unter HMI-Variablen mit ausgewählter Verbindung deinen IDB auf der Linken Seite des Auswahlfensters wählen. Das ist leider ein wenig ungeschickt aufgezogen, du musst tatsächlich auf der linken Seite des Auswahl Menus nur die IDB markieren. Im rechten Teil des Fensters sollten nun dein statischer Bereich auftauchen, in dem der UDT steht. Selektiere den UDT und bestätige die Auswahl -> Als Datentyp wird nun dein PLC UDT erkannt und ein Arbeiten mit der gleichen Struktur ist nun auch auf der HMI-Seite möglich.

Edit - Alternative : Öffne deine HMI Variablen und deinen IDB nebeneinander, packe deine UDT-Variable aus dem Static-Bereich und ziehe diese in deine HMI Variablen-Tabelle.


Für das arbeiten mit Faceplates musst du den PLC UDT nun nur noch versionieren (am einfachsten den PLC-Datentyp in die Projektbibliothek ziehen). In der Schnittstelle des Facplates ist nun auch dein Datentyp mit Versionsnummer wählbar.

Grüße

M.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Super, dank deiner Hilfe klappt es nun genau so wie ich es mir wünsche.
Ich hatte noch den Fehler, dass ich im UDT selber die Haken für das HMI gesetzt hatte, aber im STATIC des Instanz-FB's nicht. Also konnte meine HMI den PLC-UDT nicht finden. Kleiner Fehler, hat mich aber wieder ne Stunde gekostet. ;)
 
Zurück
Oben