WinCC Zuweisung eines PLC-Datentyps an ein Pop-up-Bild über eine HMI-Schaltfläche

Thors

Level-2
Beiträge
21
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Sehr geehrte Damen und Herren,

ist es möglich, über eine Schaltfläche einem Pop-up-Bild mithilfe einer HMI-internen Funktion den PLC-Datentyp einer bestimmten Multiinstanz zuzuweisen? (siehe Bild "Schaltfläche_HMI-Funktion").

Die Schaltfläche (siehe Bild "Schaltfläche_HMI-Funktion", rot umrandet) sollte sowohl dazu verwendet werden, das Pop-up-Bild mittels der HMI-internen Funktion „ZeigePopupBild“ (grün umrandet im Bild "Schaltfläche_HMI-Funktion") zu öffnen, als auch den PLC-Datentyp zu übergeben.

Das Pop-up-Bild enthält einen Bildbaustein, dessen Schnittstelle zur Übergabe eines bestimmten PLC-Datentyps genutzt wird (siehe Bild „Pop-up-Bild mit Bildbaustein_PLC-Variable“, PLC-Datentyp grün umrandet).

Verwendete Software:

  • Totally Integrated Automation Portal (mindestens V16)
  • WinCC Advanced / Unified (mindestens V16)
Verwendete Hardware:

  • Comfort Panel
  • Mindestens eine S7-1200 PLC
Vielen Dank für eure Unterstützung im Voraus!
Falls es alternative Methoden gibt, die ebenfalls funktionieren, freue ich mich auch über Hinweise dazu. Wichtig wäre, dass die Lösung möglichst simpel und leicht umzusetzen ist.
 

Anhänge

  • pop-up-Bild mit BildBaustein_PLC-Variable.png
    pop-up-Bild mit BildBaustein_PLC-Variable.png
    43 KB · Aufrufe: 28
  • Schaltfläche_HMI Funktion.png
    Schaltfläche_HMI Funktion.png
    96,9 KB · Aufrufe: 27
Wenn deine Strukturen in einem ARRAY arrangiert wären, müsstest du nur mit der jeweiligen Schaltfläche den Index setzen. Zumindest funktioniert das mit den "alten" Panels und RT in Flexible und Advanced. Je nach Steuerung kann man auch ein ARRAY of FB deklarieren, wenn es unbedingt Multiinstanzen werden müssen.

Stimmt es eigentlich, dass in Unified alle Variablen einer Struktur als PowerTag gezählt werden, auch wenn beispielsweise nur 5 von 100 Variablen im Bildbaustein verwendet wurden?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Dagobert,

danke für die Antwort das würde bedeuten das der ganze Aufbau meiner Struktur falsch wäre. Ich habe einen „FB Motor“ in dem die Variablen für die Anzeige und Änderungen im HMI (z.B. Hand ein/aus) im Static als PLC Datentyp deklariert sind. Dieser „FB Motor“ wird als Multiinstanz aufgerufen, für sämtliche Motoren der Anlage. Diesen PLC-Datentyp vom FB Motor xx möchte ich an mein pop-up-Bild übergeben. Bisher ist die Lösung für jeden Motor ein pop-up-Bild zu erstellen und den PLC-Datentyp an die Schnittstelle zu schreiben. Dafür suche ich eine elegantere Lösung.
 
Aus welchem Grund möchtest du einen PLC-Datentyp an ein PopUp zuweisen? Ich versteh die Frage nicht

zum Rest: ich würde das auch wie von Onkel Dagobert vorgeschlagen mit einer Nummer lösen. Ich nehme mal an, dass es je Motor einen Button gibt. Wenn nun am HMI ein Button betätigt wird, wird immer das selbe PopUp geöffnet, allerdings mit einer zusätzlichen individuellen Zahl die den Motor identifiziert. Der Rest geschieht im SPS-Programm über die entsprechende Auswertung der Motor-Nummer. Natürlich ist es dann von Vorteil, wenn die Daten als PLC-Datentyp strukturiert in einem Array organisiert sind. Idealerweise in einem globalen DB.
 
Hi ioStart,
danke für die Antwort.
Vielleicht habe ich mich da ein wenig schlecht ausgedrückt. An die Schnittstelle des PopUp Bild kann nur ein PLC-Datentyp übergeben werden. Die zu übergebene Variable, als PLC-Datentyp (Motor HMI), ist als Multiinstanz im Aufruf Motoren vom FB Motoren (n) gespeichert.

Wenn ich dich und Dagobert richtig verstehe soll ich den Mehrfachaufruf des PopUp über Multiplexen in der CPU realisieren.

  1. Multiplex in der CPU
Bedeutet mit meinem Wissensstand.
Globale Variablen deklarieren:
1. für die Auswahl​
2. Übergabevariable mit dem PLC-Datentyp (Motor HMI) deklarieren an Popup anbinden.​
Über einen FB und CASE Anweisung übergabe der Multiinstanzen der Motoren an die Übergabevariable organisieren.​
Nachteile die mir bis jetzt bekannt sind:​
  • man kann nicht von zwei HMIs gleichzeitig bedinnen. Müsste ich irgendwie Verriegeln
  • die eingaben werden zyklisch bearbeitet. Bei direkter Anbindung an Variable erfolgt die Werte Änderung sofort (Motor ein)
Andere mir bekannte möglichkeiten:

2. Multiplex in der Visu
Vorteil:
Man sieht im Visueditor das Multiplex genutzt wird und versteht es einfacher.

Nachteil:
Bei jeder Erweiterung müssten alle Multiplex-Variablen ebenfalls angepasst werden.

3. Kein Mehrfachaufruf von PopUp-Bildern. PopUp-Bild kopieren und Schnittselle ändern

Vorteil:
Kein Variablen schieben

Nachteil:
unübersichtlich viele PopUps

weitere Post zu dem Thema:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aus welchem Grund möchtest du einen PLC-Datentyp an ein PopUp zuweisen? Ich versteh die Frage nicht

zum Rest: ich würde das auch wie von Onkel Dagobert vorgeschlagen mit einer Nummer lösen. Ich nehme mal an, dass es je Motor einen Button gibt. Wenn nun am HMI ein Button betätigt wird, wird immer das selbe PopUp geöffnet, allerdings mit einer zusätzlichen individuellen Zahl die den Motor identifiziert. Der Rest geschieht im SPS-Programm über die entsprechende Auswertung der Motor-Nummer. Natürlich ist es dann von Vorteil, wenn die Daten als PLC-Datentyp strukturiert in einem Array organisiert sind. Idealerweise in einem globalen DB.
geht die Lösung die mir ioStart und Dagobert vorschlagen in diese Richtung:
Adress-Multiplexen projektieren mit symbolischer Adressierung (Basic Panels, Panels, Comfort Panels, RT Advanced)

Unter SiePortal unter dem Beitrag "WinCC Runtime Advanced Bildbausteine/Popups "indiziert" mit Variablen versorgen" beschrieben.
Unter folgendem Link zu finden:
 
oder, was meiner Meinung nach noch die bessere Lösung ist: Bildbausteine. Je Motor eine Instanz - und nicht multiplexen
Damit kannst du mehr als ein HMI bei deinem Projekt einsetzen. Dabei werden die Variablen/Strukturen per Drag-and-drop verknüpft. Und wenn diese entsprechend durchdacht angelegt sind, ist der Arbeitsaufwand am HMI relativ gering.
Wie du schreibst, handelt es sich bei deiner Anwendung um Motoren. Wenn du einen Tipp-betrieb realisierst, kann das Thema "Direkttasten" auch interessant sein. Verkompliziert den Aufbau allerdings erheblich
 
Zurück
Oben