Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Win cc Flex Füllfarbe eines Objektes ändern???

  1. #1
    Registriert seit
    28.11.2009
    Beiträge
    37
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag zusammen,

    Ich hab folgendes Problem. Ich würde gerne ein Objekt in Win cc Flex Abhängig von einer Variable die Füllfarbe ändern.
    Genauer gesagt geht es um eine RGB Auswahl.
    Ich habe 3 Schieber mit dennen ich die Werte der einzelnen Kanäle ändern will (0-255 pro kanal) und je nach mix soll die dazugehörige Farbe bei einen Objekt angezeigt werden und genau da ist mein Problem!
    Hab leider über suchfunktion nichts brauchbares gefunden

    mfg
    Zitieren Zitieren Win cc Flex Füllfarbe eines Objektes ändern???  

  2. #2
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.790
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    Wenn dein Panel Scriptfähig ist sollte das gehen.
    Code:
    Dim Opjekt
    Set Opjekt = HmiRuntime.Screens("Bild_1").ScreenItems("Rechteck_1")
    Opjekt.BackColor =  RGB(255,0,0)
    oder auch so, dann kannst du Rot, Grün und Blau mit externen Variabeln fütten

    Code:
    Dim Opjekt
    Dim Rot, Gruen, Blau
    Rot = 255
    Gruen = 0
    Blau = 0 
    Set Opjekt = HmiRuntime.Screens("Bild_1").ScreenItems("Rechteck_1")
    Opjekt.BackColor =  RGB(Rot,Gruen,Blau)

    hier noch ein Auszug aus der Online hilfe
    Beschreibung
    Legt die Hintergrundfarbe des angegebenen Objekts fest.
    Zugriff in Runtime: Lesen und Schreiben
    Syntax
    Object.BackColor [= Color]
    Object
    Erforderlich. Ein Objekt vom Typ "ScreenItem" mit den Ausprägungen "Line", "Polyline", "Ellipse", "Circle", "Rectangle", "Polygon", "TextField", "IOField", "SymbolicIOField", "Button", "Switch", "GraphicIOField", "GraphicView", "Bar", "RecipeView", "StatusForce", "Gauge", "Slider", "SymbolLibrary", "TrendView", "MessageView" oder "UserView" oder ein Objekt vom Typ "Screen".
    Color
    Optional. Ein Wert oder eine Konstante, welche die Hintergrundfarbe festlegt.
    Bemerkungen
    Sie können die Funktion "RGB" verwenden, um die Farbe im RGB-Format (Rot, Grün, Blau) festzulegen. Dazu geben Sie für jeden der drei RGB-Werte den entsprechenden Dezimalwert an (Wertebereich von 0 bis 255). Die Farbe "Rot" wird beispielsweise so dargestellt: RGB(255, 0, 0). Des Weiteren können Sie auch die VBS-Farbkonstanten wie vbRed oder vbGreen verwenden.
    Bei Linienobjekten ist die Hintergrundfarbe nicht sichtbar, wenn die Eigenschaft "BorderStyle" den Wert "0" hat.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.197
    Danke
    926
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Füllfarbe dynamisieren macht man in WinCCflex normalerweise über Animation > Gestaltung, allerdings muß man da eine vordefinierte Farbliste anlegen und eine Variable als Index angeben. Wenn Du Dich auf 64 Farben (3x 16 Stufen R/G/B) beschränken könntest, dann bleibt die vordefinierte Farb-Liste noch machbar.

    Direkt dynamische RGB-Werte vorgeben geht in WinCCflex nur über Objekt-Attribute in einem Script.
    Wie können Objekte in WinCC flexible über Scripte dynamisiert werden?
    Code:
    Set Objekt = HmiRuntime.Screens("Bild_1").ScreenItems("Rechteck_1")
    Objekt.BackColor = RGB (R_value, G_value, B_value)
    Allerdings habe ich festgestellt, daß es schwierig ist, sicherzustellen, daß die Objekte immer mit den richtigen Attributen angezeigt werden. Das Script müßte bei vielen Ereignissen aufgerufen werden: Wertänderung jeder beteiligten Variable + Bild aufgebaut + (weiß ich nicht mehr). Bei internen Variablen kann es passieren, daß das Wertänderung-Ereignis wegen dem Loop-Braker nicht aufgerufen wird.

    Auf was für einem Panel/Bildschirm willst Du denn Deine exorbitant vielen Farben anzeigen? Kann man da überhaupt so viele Farbvarianten erkennen? Wozu braucht man so viele Farbvarianten?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #4
    Registriert seit
    28.11.2009
    Beiträge
    37
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    He cool, Danke Leute genau das hab ich gesucht!!

    Klappt super

  5. #5
    Registriert seit
    28.11.2009
    Beiträge
    37
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Jetzt mus ich nur noch den Farbcode des sich daraus ergibt über eine Variable in die sps übertragen

  6. #6
    Registriert seit
    28.11.2009
    Beiträge
    37
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So ich brauch nochmal ne kleine Hilfe!

    Die Kommunikation mit SPS bzw der RGB variablen Funktioniert ohne Probleme jetzt, nur würde ich gerne in Win cc Flex über ein "symbolische EA-Feld" (wenn möglich) eine dynamische Dropdown liste machen, wobei nicht zwingend ein Text drin stehen soll, sondern bestimmte Farben zur auswahl stehen sollten.

    Notfalls könnte man das auch mit einer rezeptverwaltung realisieren schätz ich mal aber mit einer Dropdown liste würde es mir besser gefallen

  7. #7
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.790
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    wenn du das über eine Drop Down Liste machen möchtest, geht das über eine
    Textliste. Diese kannst du dan über eine Ein bzw. Ausgabefeld verarbeiten.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  8. #8
    Registriert seit
    28.11.2009
    Beiträge
    37
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das ist mir schon klar.

    aber ich will das ja Dynamisch machen, d.h. das immer wieder ein Eintrag dazu kommen kann.
    Najo ich könnte das limitieren aber dann stellt sich die Frage wie ich die einzelnen Eintrage mit der Farbe gestalten kann bzw eine Farbe zuweisen kann.

  9. #9
    Registriert seit
    13.10.2007
    Beiträge
    12.038
    Danke
    2.790
    Erhielt 3.273 Danke für 2.159 Beiträge

    Standard

    ich versteh noch nicht ganz worauf du hinaus willst, kannst du das noch
    einmal ein bischen ausführlicher darstellen.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  10. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.197
    Danke
    926
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Man kann den Text eines Listeneintrages dynamisch ändern.
    Man kann die Anzahl der Listeneinträge NICHT ändern.
    Einzelne Listeneinträge verschiedenfarbig einfärben kann man auch nicht.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 19.03.2010, 17:56
  2. Antworten: 1
    Letzter Beitrag: 16.12.2007, 19:09
  3. Antworten: 12
    Letzter Beitrag: 28.08.2007, 10:03
  4. einzelne Bit eines Bytes ändern
    Von Farinin im Forum HMI
    Antworten: 10
    Letzter Beitrag: 29.09.2006, 11:24
  5. Antworten: 2
    Letzter Beitrag: 04.02.2006, 14:48

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •