TIA TP2200 und KTP1200 probleme bei Darstellung von Anzeigen

Gustel

Level-2
Beiträge
40
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
an einer 1512C hängt ein TP2200 Comfort und ein KTP1200 Basic. Software ist TIA 15.1 und WinCC Advanced 15.1 Update 6.
Beide Panels greifen auf die gleichen Variablen zu
Jetzt habe ich folgendes Festgestellt:
Ich habe Anzeigen auf den Panels die nicht sichtbar sein sollen. Das ganze mache ich über die Variable Alwaysfalls (bool).
Am TP2200 stelle ich unter ->Anzeige->Sichtbarkeit->sichtbar ein, damit die Anzeigen nicht dargestellt werden.
Am KTP 1200 muss ich das ganze auf unsichtabr stellen.
Gibt es dafür eine Erklärung?

Dann habe ich noch folgendes Problem.
Ich zeige Messewerte als Anzeige (Ausgabefeld) an. Die hinterlegte Variable für die Anzeige ist mit Berreichen für Ober- und Untergrenze projektiert.
Gibt es eine möglichkeit die Ober- und Untergrenze an eine Bedinung zu knüpfen?

Ich habe das im Moment über Anzeige->Gestaltung gelöst, was aber beim TP2200 nur halb funktioniert (auf dem einen Bild wird es richtig angezeigt auf dem anderen nicht. Wechselt man das Bild, wird es jetzt auf dem zuvor falsch anzgezeigten Bild, richtig angezeigt) und auf dem KTP1200 funktioniert das ganze gar nicht.
 
Am TP2200 stelle ich unter ->Anzeige->Sichtbarkeit->sichtbar ein, damit die Anzeigen nicht dargestellt werden.
Am KTP 1200 muss ich das ganze auf unsichtabr stellen.
Jeweils ein Screenshot wäre hilfreich.

Gibt es eine möglichkeit die Ober- und Untergrenze an eine Bedinung zu knüpfen?
Ich hatte auch schon so eine Anforderung und habe das dann auf der SPS-Seite gelöst. Ich übergebe dem HMI also eine Variable für die Ober/ Untergrenze ( Comfort Panel )

Alternativ könntest du auch auf dem Panel Werte vorgeben ( per Systemfunktion "SetzeWert" z.B. )
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ganze mache ich über die Variable Alwaysfalls (bool).
Vermutlich meinst Du "Alwaysfalse"?

Am TP2200 stelle ich unter ->Anzeige->Sichtbarkeit->sichtbar ein, damit die Anzeigen nicht dargestellt werden.
Am KTP 1200 muss ich das ganze auf unsichtabr stellen.
Gibt es dafür eine Erklärung?
Hast Du vielleicht bei einem HMI projektiert "von 1 bis 1 sichtbar" und beim anderen "von 0 bis 0 unsichtbar"?
Übersetze mal die HMIs "Software (komplett übersetzen)" und lade ins HMI - sind die Probleme dann weg?

Harald
 
Ja ich meinte Alwaysfalse! Sorry.

Die Sichtbarkeit ist in beiden Projekten gleich eingestellt "von 0 bis 1" aber beim beim TP2200 auf "sichtbar" und beim KTP1200 auf "unsichtbar"

"Software komplett übersetzen" hab ich auch schon durch und "vorhandene Objekte überschreiben" beim laden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Warum von 0 bis 1? Warum nicht von 0 bis 0 oder von 1 bis 1 ( je nachdem was man wünscht )....
1688452025402.png

Aber sollte ja eigentlich trotzdem funktionieren.
Hast du einmal die projektierte Variable geprüft? Passt die symbolische Zuordnung oder falls direkt adressiert, die Adresse?
 
Zuletzt bearbeitet:
Die Sichtbarkeit ist in beiden Projekten gleich eingestellt "von 0 bis 1" aber beim beim TP2200 auf "sichtbar" und beim KTP1200 auf "unsichtbar"
Was möchtest du denn? Es soll bei beiden Paneln nicht angezeigt werden soweit ich verstanden habe.

Beim TP2200 Alwaysfalse 0 bis 1 + sichtbar => Feld wird angezeigt
Beim KTP1200 Alwaysfalse 0 bis 1 + unsichtbar => Feld wird nicht angezeigt

Wie ist bei dir der Stand? Bei beiden wird es mit der Konstellation nicht angezeigt? Hast du einmal die projektierte Variable genauer überprüft?
 
Zuletzt bearbeitet:
Die Sichtbarkeit ist in beiden Projekten gleich eingestellt "von 0 bis 1" aber beim beim TP2200 auf "sichtbar" und beim KTP1200 auf "unsichtbar"
Das heißt, das Objekt ist entweder immer sichtbar oder immer unsichtbar, egal welchen Wert die Bool-Variable hat. Du willst, daß das Objekt in Runtime immer unsichtbar ist.
Für die Variable, die das so steuert, würde ich eine Panel-interne Variable nehmen. Dann gibt es keine Überraschungen, falls die Verbindung der Variable abgebaut ist.

Wenn Du beim TP2200 die Projektierung auf "unsichtbar" änderst, wird das Objekt dann sichtbar?
Bist Du sicher, daß Du beide Male die richtige Variable verschaltet hast?
Wird der Variable vielleicht in der HMI Runtime irgendwo ein Wert zugewiesen?

Aber egal. Ich würde einfach die Animation der Sichtbarkeit beim TP2200 löschen und speichern und komplett übersetzen und danach die Animation nochmal projektieren mit einer (evtl. neu angelegten) Panel-internen Variable.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn Du beim TP2200 die Projektierung auf "unsichtbar" änderst, wird das Objekt dann sichtbar?
Liegt vielleicht (z.B. in einer höheren Ebene) ein Objekt vor dem falsch unsichtbar animierten Objekt und verdeckt dieses?
Wird das Objekt vielleicht dynamisch hinter ein anderes Objekt verschoben?
Werden Eigenschaften des Objektes mit einem Skript direkt manipuliert? (z.B. bei Bild aufgebaut die Größe oder Position oder direkt die Eigenschaft "Visible"?)
 
Es ist nix besonderes. Es geht um 3 Ausgabefelder und 3 Textfelder, nichts drüber und nichts drunter.
Ich habe jetzt bei beiden Panels auf eine Interne Variable umgestellt, die Anzeigen sollen ja dauerhaft nicht sichtbar sein. Diese Variable wird nur dafür benutzt.
Das Ergebnis bleibt das gleiche. Beim KTP1200 "unsichtbar" und beim TP2200 "sichtbar" einstellen, damit die Anzeigen verschwinden.
Ich nehme das jetzt als "Siemens gegeben" hin.
Vielen Dank für die Hilfe :)

Bleibt noch mein zweites Problem
Ich zeige Messwerte als Anzeige (Ausgabefeld) an. Die hinterlegte Variable für die Anzeige ist mit Berreichen für Ober- und Untergrenze projektiert. Ober- und Untergrenze kommt als Variable von der SPS.
Klar könnte ich auf der SPS Seite die Grenzwerte leicht an Bedinungen knüpfen. Dies wäre aber Plan B.
Plan A wäre eine Lösung zu finden ,die das ganze auf der HMI Seite erledigt, aber nur wenn sich der Aufwand in Grenzen hält.

Das "maskieren" über Anzeige->Gestaltung funktioniert leider nicht.
 
  • Wird die interne Variable alwaysFalse irgendwie initialisiert? z.B. bei Bildaufbau setze Variable alwaysFalse auf 0
  • ist diese Variable wirklich vom Type bool?
  • Die Sichtbarkeit ist in beiden Projekten gleich eingestellt "von 0 bis 1" aber beim beim TP2200 auf "sichtbar" und beim KTP1200 auf "unsichtbar"
    Wieso hat deine Variable einen Bereich von 0-1? Bei bool gibt's nur 0 oder 1, aber keine Bereiche.
  • die Anzeigen sollen ja dauerhaft nicht sichtbar sein
    Wieso willst du überhaupt irgendwelche Variablenwerte anzeigen, welche niemals sichtbar sein sollen?
  • Wenn du irgendwelche Variablenwerte im Panel brauchst (z.B. für Berechnungen), kannst du diese Variablen auch auf zyklisch fortlaufend stellen, oder irgend ein Objekt drüberlegen.
 
Zuletzt bearbeitet:
Ich habe jetzt bei beiden Panels auf eine Interne Variable umgestellt, die Anzeigen sollen ja dauerhaft nicht sichtbar sein. Diese Variable wird nur dafür benutzt.
Das Ergebnis bleibt das gleiche. Beim KTP1200 "unsichtbar" und beim TP2200 "sichtbar" einstellen, damit die Anzeigen verschwinden.
Ich nehme das jetzt als "Siemens gegeben" hin.
Ich habe das jetzt mal mit TIA V15.1 Upd 5 kurz mit einem neuen leeren Projekt nachgestellt. Zumindest in der Simulation verhält sich das Comfort Panel bei mir auch falsch. :oops:
Wende Dich an den Siemens Support.
Oder installiere mal (versuchsweise) das TIA V15.1 Upd 8. Ich vermute mal, da wurde der Bug schon still und leise beseitigt.

(mit TIA V15.1 habe ich noch kein echtes Comfort Panel projektiert. In TIA V16 funktioniert die "unsichtbar"-Animation wie sie soll)

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Frage in diesem Zusammenhang:
Welchen dezimalen Wert hat eine boolsche Variable bei "True"? Könnte sich auswirken, da hier ja ein Wert im positiven Bereich gefordert ist.

Ist zwar nicht direkt vergleichbar, aber wenn ich z.B. in Skripten "10 * (modus > 0)" rechne, um als Ergebnis entweder 0 oder 10 zu erhalten, dann muss ich den Klammerausdruck mit "-CInt" (in Worten: Minus CInt) casten.


Gruß, Fred
 
Welchen dezimalen Wert hat eine boolsche Variable bei "True"?
Bei HMI-Variablen (SmartTags) dokumentiert WinCC flexible/Basic/Comfort/Advanced: der Wertebereich von Bool ist true = 1, false = 0
Verwendet man Bool-Variablen für numerische Werte, dann wird True als 1 interpretiert.
"Unter der Haube" scheint man -1 für True zu verwenden. Siehe die HMI-Simulation mit dem Variablen-Simulator, da wird der Wert True als -1 angezeigt. Bei der Wert-Eingabe wird 1 und -1 akzeptiert, dann aber beim akt. Wert als -1 angezeigt.

In VBS hat True den Wert -1. Um den Wert zu +1 zu machen, kann man einfach mit -1 multiplizieren oder -(ausdruck) schreiben oder etwas umständlicher -CInt(ausdruck) verwenden.

Harald
 
Zurück
Oben