VB Script Polygon vs WinccFlexible

Sickone4

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

ich habe folgendes vor und folgendes Problem:

Ich nutze in meiner WinCC Flex 2008 SP3 Up4 Hmi Rt ein Zeigerinstrument, also einen Tacho, der mir einen PRozesswert von 0-150 % ausgibt.

Ich habe eigentlich Grenzwerte, die ich gerne anzeigen möchte in Form bzw Farbe des Hintergrundes. Man kennt es beim Auto oder ähnlichen
Anzeigen, irgendwann gibt es einen roten Bereich.

Da das Zeigerinstrument von Wincc Flex ziemlich mürbe und mit viel Unlust gestaltet wurde bin ich zumindest glücklich darüber, dass man den Hintergrund transparent
gestalten kann.

Könnte man sich nun ein Polygon zu Nutzen machen, bei welchem man die Eckpunkte ändern kann wäre das natürlich wundervoll. Da VB Script in flexible das
Element "Polygon" jedoch nicht verändern will frage ich mich, wie ich das ggf anders lösen könnte.

Kann ich via vb script ein eigenes polygon zeichnen und dieses ggf im HMI an eine Stelle rücken, was mein Problem umgehen könnte?
Also ein eigenes Polygon, statt eines von flexible selbst?

Oder sagt Siemens an der Stelle, lieber User -> flexible unterstützt keine eigenen vb script sachen, nur die die Siemens möchte??

mfg Sven
 
Hallo Sickone4.

Hmm, ja das "rote Bereich" is fest eingestellt.
Ich habe es nicht Probiert, aber ich glaube man es per VBS dynamisch steuern kann.
Beispiel:
Code:
Dim objGaugeSet 
objGauge = HmiRuntime.Screens("Screen_1").ScreenItems("Gauge_1")
objGauge.DangerRangeStart = 100

Finde aber auch dass das Zeigerinstrument etwas "unschön" ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Objekte können nicht mit VBS erzeugt werden, nur einige Eigenschaften bereits vorhandener Objekte kann man verändern.
siehe WinCC flexible Hilfe: Objekt, Eigenschaft mit VBS ändern

VBS-Beispiel und Objektliste siehe
Wie können Objekte in WinCC flexible über Scripte dynamisiert werden?

Code:
'z.B. bei Rectangle, Ellipse, Circle möglich:
Set objekt = HmiRuntime.Screens("Screen_1").ScreenItems("Object_1")
objekt.Height = 100  'Höhe
objekt.Width  = 200  'Breite
objekt.Left   =  12  'X-Position
objekt.Top    =  34  'Y-Position
object.BackColor = RGB (255, 0, 0) 'Füllfarbe

Bei Polygonen kann man allerdings nicht viel ändern.

Die Änderungen von Objekteigenschaften wirken nur bis zum nächsten Bildaufbau! Dadurch wird es sehr aufwändig, die Objekte immer korrekt dynamisiert darzustellen.

Nicht vergessen:
- in den Geräteeinstellungen "Namensinformationen transferieren" aktivieren
- ein Meldefenster und/oder eine Meldeanzeige für Meldungen der Meldeklasse System einbauen, damit man die Runtimeerrors der Skripte lesen kann

Harald
 
danke schonmal für die antworten.

das mit dem meldefenster habe ich bereits drin.

schade ist, dass flexible da so unflexible ist... :D

das mit dem hintergrundbild einfügen finde ich ein wenig arg unschön, da es mir ja darum geht es dynamisch zu machen.
 
Zurück
Oben