# WinCC flexible, Bildgröße variable ändern?



## MM440 (15 Oktober 2008)

Hallo zusammen,
ich suche bei WinCC flexible nach einer Möglichkeit, bei der man einen beliebigen rechteckigen Rahmen durch Eingabe von Daten darstellen kann. 
Dieser Rahmen soll aus 4 Balken bestehen, die variable dargestellt werden sollen.

Meine Idee ist am Werkzeug den "Balken" zu wählen und "Skala anzeigen" auszuschalten. Durch Eingabe von Daten verlängert bzw. verkürzt sich der Balken. Das Problem ist, der Balken lässt sich nicht auf die horizontale Lage verstellen und somit nur für in vertikaler Lage verstellbar. 
Eine andere Möglichkeit ist viele Bilder zu erstellen und nach gewünschten Daten ein/ausblenden. Nachteil, man benötigt viele Bilder.

Gibt es da eine andere Möglichkeit?


----------



## Kai (15 Oktober 2008)

Du kannst in WinCC flexible die Richtung für einen Balken einstellen unter:

Eigenschaften/Darstellung/Balkenrichtung

Gruß Kai


----------



## nobby_nobbs (15 Oktober 2008)

*Script*

Ich würde ein normales Rechteck erstellen und über ein Script die Länge bzw. Höhe des Rechteckes ändern:


```
HmiRuntime.Screens("Startbild").ScreenItems("Rechteck").Height = 10
```


----------



## MM440 (15 Oktober 2008)

Vielen Dank für die schnelle Antwort :-D
Ich werde das gleich austesten.

Ich habe im Handbuch kurz durchgeschaut, da gibt es dazu noch die Möglichkeit über Visual Basic in WinCC flexible zu programmieren.
Hat jemand schon Erfahrung, wie man dadurch die Größen bei einem Rechteck variable ändern kann?

HmiRuntime.Screens("Startbild").ScreenItems("Rechteck").Height = 10

Kann ich statt die 10 eine Variable eingeben? Wenn das geht, wie würde man den Pfad eingeben, so dass es keine Compilierungsfehler gibt?


----------



## Kai (15 Oktober 2008)

MM440 schrieb:


> HmiRuntime.Screens("Startbild").ScreenItems("Rechteck").Height = 10
> 
> Kann ich statt die 10 eine Variable eingeben? Wenn das geht, wie würde man den Pfad eingeben, so dass es keine Compilierungsfehler gibt?


 
HmiRuntime.Screens("Startbild").ScreenItems("Rechteck").Width = SmartTags("Breite")

Gruß Kai


----------



## Kai (15 Oktober 2008)

Hier ist noch einmal ein Programmbeispiel für eine Balkenanzeige in WinCC flexible.

Die Balkenanzeige besteht aus einem Rechteck.

Die Breite des Rechteckes wird mit dem folgendem VBScript auf den Wert einer Variablen gesetzt.

Das VBScript wird beim Aufbau des Bildes sowie einer Wertänderung der Variablen aufgerufen.


```
' Balkenanzeige
 
' Width-Eigenschaft
'
' Setzt die Breite eines Objektes in Pixel oder gibt sie aus.
 
Dim Rechteck
 
Set Rechteck = HmiRuntime.Screens("Startbild").ScreenItems("Rechteck_1")
 
Rechteck.Width = SmartTags("Breite")
```
 
Gruß Kai


----------



## Kai (15 Oktober 2008)

Und noch ein paar Bilder.

Gruß Kai


----------



## MM440 (15 Oktober 2008)

Vielen Dank an Kai und nobby_nobbs für die guten Informationen und Anregungen. :-D


----------

