WinCC EA-Feld Animation Grenzen variabel möglich?

SPSnewbie91

Level-2
Beiträge
251
Reaktionspunkte
16
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.

TIA Portal V18
WinCC Advanced V18

Ich habe folgende Situation. Material soll aus einer Schale [1] in eine andere Schale [2] umgefüllt werden. Das Leergewicht der Schale 1 ist mir bekannt. Nach dem Umfüllen in Schale 2 sollte das Gewicht der Schale 1 im besten Fall mit dem vorher erwähnten Leergewicht identisch sein. Der Bediener kann hierfür Grenzwerte einstellen, ab wann eine Meldung ausgegeben werden soll. Sprich ist der Unterschied zwischen Leergewicht und dem Gewicht nach dem Umfüllen kleiner bspw. -150g oder größer 150g soll das visuell dargestellt werden.

Abwurfgewicht zu wenig
1707748783667.png


Abwurfgewicht in Ordnung
1707748814701.png>

Abwurfgewicht zu viel
1707748844282.png


Ich möchte das Ganze farblich darstellen. Aktuell habe ich das so definiert.

1707749024756.png

Da der Bediener die Grenzen aber variabel einstellen kann würde ich die Grenzen hier auch gerne variabel abfragen.

Also so in der Art
1707749198079.png
-9999 - GW_min
GW_min - GW_max
GW_max - 9999

Gibt es hierfür eine Möglichkeit das umzusetzen? Evtl. mit einem eigenen Bildbaustein und VB-Script?

Gruß
SPSnewbie91
 

Anhänge

  • 1707748407006.png
    1707748407006.png
    18,5 KB · Aufrufe: 0
  • 1707748429316.png
    1707748429316.png
    5,3 KB · Aufrufe: 0
Moin SPSnewbie91,

wie wäre es, wenn Du in der Steuerung ein Statusbyte beschreibst?

Z.B.:
Gewicht OK => 16#0
Untergewicht => 16#1
Übergewicht => 16#2

Die Auswertung geschieht ja sowieso in der Steuerung. Dann hast Du zwar eine Variable mehr, könntest Dir aber noch andere Stati überlegen.
Z.B.:
Untergewicht VIEL zu groß => 16#11 (rot und blinken)
Übergewicht VIEL zu groß => 16#12 (violett und blinken)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das würde ich genauso wie MFreiberger machen.
Stati in der SPS bilden und mit den Stati kannst Du dann die Anzeige animieren: Umfärben, eventuell Rahmen einblenden, Ausrufezeichen-Symbole anzeigen etc. Dann sind Deiner Fantasie keine Grenzen gesetzt - und vor allem läßt sich das auf fast jedem HMI umsetzen, falls mal gewechselt werden muß.
 
Hallo, in dem Fall würde ich das auch über eine neue Variable machen. Ich hab gerade mal einen Bildbaustein dafür gebastelt, aber bis der fertig ist hat man schon längst die neue Variable eingefügt.


Falls es aus anderen Gründen aber Sinn macht das nur auf dem HMI zu machen anbei ein paar Screenshots von einem möglichen Bildbaustein.
1707753441969.png
Bei allen Variablen unter Ereignis -> Wertänderung das Skript eintragen. (Alternativ nur beim Akualwert und bei Eingabe abgeschlossen von Min / Max Wert.)
1707753482626.png
Interne Bildbausteinvariable anlegen für die Gestaltung:
1707753517894.png
Und das VB-Skript anlegen:
Code:
Sub VB_CheckMinMaxValue()
If SmartTags("Properties\Aktualwert") < SmartTags("Properties\Min_Wert") Then
    Animation_Aktualwert = -1
ElseIf SmartTags("Properties\Aktualwert") > SmartTags("Properties\Max_Wert") Then
    Animation_Aktualwert = 1
Else
    Animation_Aktualwert = 0
End If

End Sub
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo nochmal. Hätte nochmal eine Frage.

1707810487714.png

Wie bekomme ich diese Datentypen in die Eigenschaften eines Bildbausteins?

Unten in der Eigenschaftsliste finde ich keine Auswahlmöglichkeit.

1707810550629.png
 
Hallo, in dem Fall würde ich das auch über eine neue Variable machen. Ich hab gerade mal einen Bildbaustein dafür gebastelt, aber bis der fertig ist hat man schon längst die neue Variable eingefügt.


Falls es aus anderen Gründen aber Sinn macht das nur auf dem HMI zu machen anbei ein paar Screenshots von einem möglichen Bildbaustein.
Anhang anzeigen 75378
Bei allen Variablen unter Ereignis -> Wertänderung das Skript eintragen. (Alternativ nur beim Akualwert und bei Eingabe abgeschlossen von Min / Max Wert.)
Anhang anzeigen 75379
Interne Bildbausteinvariable anlegen für die Gestaltung:
Anhang anzeigen 75380
Und das VB-Skript anlegen:
Code:
Sub VB_CheckMinMaxValue()
If SmartTags("Properties\Aktualwert") < SmartTags("Properties\Min_Wert") Then
    Animation_Aktualwert = -1
ElseIf SmartTags("Properties\Aktualwert") > SmartTags("Properties\Max_Wert") Then
    Animation_Aktualwert = 1
Else
    Animation_Aktualwert = 0
End If

End Sub
Ich habe mich übrigens für deine Variante entschieden, da wir des Öfteren mal solche Anwendungsfälle haben und ich dadurch gleich einen Bibliotheksbildbaustein angelegt habe. Danke nochmal für die Hilfe.
 
Zurück
Oben