×
Siemens Industry Online Support
Siemens AG
Beitragstyp: FAQ Beitrags-ID: 53752382, Beitragsdatum: 23.07.2015
(9)
Bewerten

Wie können Objekte in WinCC Comfort und WinCC Advanced mit Skripten dynamisiert werden?

  • Beitrag
  • Betrifft Produkt(e)
Der Zugriff auf die Objekteigenschaften über ein Skript dient als Alternative zum Projektieren von Objekteigenschaften aus dem Eigenschaftsdialog und ermöglicht die Veränderung dynamisierbarer Eigenschaften in der Runtime.

Beschreibung
Der Zugriff auf die Objekteigenschaften über ein Skript dient als Alternative zum Projektieren von Objekteigenschaften aus dem Eigenschaftsdialog.
Einige Objekte können in SIMATIC WinCC (TIA Portal) nicht über die zur Verfügung gestellten Schnittstellen verändert werden, wie z. B. die Änderung der Rechteckgröße in der Runtime. Diese Attribute bzw. Eigenschaften können mit Hilfe von Skripten verändert bzw. dynamisiert werden.

Am Ende des Beitrags steht Ihnen ein PDF-Dokument sowie das beschriebene Beispiel-Projekt als Download zur Verfügung.
Das PDF-Dokument enthält eine Liste von Objekten, die in WinCC Comfort bzw. WinCC Advanced standardmäßig enthalten sind. Zudem sind alle Eigenschaften der Objekte (Attribute) sowie die Zugriffsart auf die Eigenschaften aufgelistet, die über Skriptanweisung aufrufbar sind.


Alle dynamisierbaren Eigenschaften und Methoden eines Objektes finden Sie im Handbuch "WinCC Engineering V15 - Programmierreferenz" unter der Beitrags-ID: 109755216 in den Kapiteln "1.4.4 Eigenschaften" bzw.
"1.4.5. Methoden".

Anleitung
In dem nachfolgenden Beispiel wird gezeigt, wie Sie die Breite und Höhe eines Rechteckes zur Runtime verändern können.

Die verwendeten Namen für die Variablen und die Objekte können individuell angepasst werden.
Die Variablen benötigen keine Steuerungsanbindung (nur wenn Sie die Breite und Höhe des Rechteckes über die Steuerung vorgeben möchten).

Zum besseren Verständnis ist es hilfreich, die beiliegende Projektierung zu öffnen.
 

Nr. Vorgehensweise
1 Rechteck hinzufügen
  • Fügen Sie ein Objekt vom Typ "Rechteck" in das Bild "Screen_01" ein.
    Hinweis
    Der Name des Bildes wird später im Skript verwendet.
  • Legen Sie die Größe sowie den Namen des Objekts fest.
    In diesem Beispiel hat das Rechteck eine Breite von 100 und eine Höhe von 50.
    Der Name des Objekts lautet "Rectangle_1".
    Hinweis
    Der Name des Objekts (Rechteck) wird später im Skript verwendet.
     


Bild 01

2 Variablen anlegen
An dem Rechteck soll die Breite sowie die Höhe über ein Skript verändert werden. Legen Sie hierzu zwei interne Variablen mit der Bezeichnung "RectangleHeight" und "RectangleWidth" an.
(Projektnavigation > Bediengerät > HMI-Variablen > Standard-Variablentabelle).

Die Variablen sind mit einem Startwert versehen. In diesem Fall für die Breite "100" und für die Höhe "50" (Eigenschaften > Wert > Startwert). Der Grund für diese Maßnahme wird im weiteren Verlauf beschrieben (siehe Schritt 8).

Hinweis
Die Variablen werden später im Skript verwendet.
 


Bild 02

3 Skripte anlegen
In der Projektierung werden zwei Skripte verwendet.
(Projektnavigation > Bediengerät > VB-Skripte > Neue VB-Funktion hinzufügen).
Die Namen der Skripte können Sie individuell festlegen.
In diesem Beispiel:
  • Script_01_Rectangle
  • Script_02_Init_Rectangle

Nachfolgend werden die zwei verwendeten Skripte näher beschrieben.

4 Script_01_Rectangle
Über das Skript "Script_01_Rectangle" kann die Größe des Rechteckes verändert werden.

Interne Skript Variable anlegen
Um die Eigenschaften eines Objekts in WinCC Comfort bzw. WinCC Advanced zu ändern (in diesem Fall die Eigenschaften eines Rechteckes), wird eine interne Skript-Variable benötigt.
Den Namen der Variablen können Sie individuell festlegen.
In diesem Beispiel: "ObjectRectangle" 

Definition des Objekts
Im Skript-Editor wird der internen Variablen "ObjectRectangle" das Objekt "Rectangle_1" übergeben.
Durch die Anweisung "HmiRuntime.Screens" wird bekannt gegeben, in welchem Bild sich das Objekt (Rechteck) befindet.
Mittels der Anweisung "ScreenItems" wird explizit auf das Objekt (Rechteck) im entsprechenden Bild zugegriffen.
In diesem Beispiel:
Set ObjectRectangle = HmiRuntime.Screens("Screen_01").ScreenItems("Rectangle_1")

Hinweis
Beachten Sie, dass der Objektname im gleichen Bild eindeutig sein muss, d. h. der Name darf von keinem anderen Objekt verwendet werden.
Der gleiche Objektname, aber in unterschiedlichen Bildern, ist zulässig!

Dem Objekt (Rechteck) die Attribute und die Variablen für die "Höhe" und "Breite" zuweisen
Über das Attribute "Width" wird dem Objekt die Breite übergeben.
Über das Attribute "Height" wird dem Objekt die Höhe übergeben.
Für das verwendete Rechteck sind zwei Variablen für die "Breite" und "Höhe" festgelegt worden.
Diese Variablen werden dem Objekt entsprechend zugewiesen.

In diesem Beispiel:
ObjectRectangle.Width = SmartTags("RectangleWidth")
ObjectRectangle.Height = SmartTags("RectangleHeight")
 


Bild 03

5 Script_02_Init_Rectangle
Über das Skript "Script_02_Init_Rectangle" kann die Größe des Rechteckes auf eine im Skript hinterlegte Größe verändert werden (zurücksetzen auf die "Standardgröße").
Es dient nur dazu, das Rechteck z. B. wieder auf die "Originalgröße" zu versetzen, ohne das zuvor über die E/A-Felder ein Wert eingetragen werden muss.

Das Skript ist vom Aufbau genauso wie das Skript "Script_01_Rectangle". Es unterscheidet sich lediglich in der Zuweisung einer festen Größe für die Breite ("200") und Höhe ("100") des Rechteckes.
 

 
Bild 04 

6 Tipps zum Erstellen des Skriptes

Autovervollständigung

  • Nutzen Sie bei der Erstellung von Skripten die "Autovervollständigung".
    Autovervollständigung bedeutet dabei, dass Sie in einem Dialog eine kontextabhängige Liste erhalten, aus der Sie die gewünschten Variablen oder Anweisungen auswählen können.
    Beispiel 1
    Geben Sie nach dem Dialog "...= HmiRuntime" einen "Punkt" ein.
    Es öffnet sich ein "Kontextmenü", aus dem Sie alle verfügbaren Variablen oder Anweisungen auswählen können.
     


Bild 05
 

Beispiel 2
Geben Sie nach dem Dialog "ObjectRectangle" einen "Punkt" ein.
Es öffnet sich ein "Kontextmenü", aus dem Sie alle verfügbaren Attribute auswählen können.
 


Bild 06
 

Variable einfügen

  • Gehen Sie zu der Stelle, an der Sie die Variable einfügen wollen.
  • Klicken Sie auf die "rechte Maustaste". Es öffnet sich ein Kontextmenü.
    Wählen Sie den Menübefehl "Autovervollständigen > Objekte auflisten".
    Es öffnet sich ein weiteres Fenster, aus dem Sie die entsprechende Variable auswählen und über die symbolische Schaltfläche "OK" übernehmen können.
     


Bild 07

7 Schaltfläche und E/A-Felder hinzufügen
Um die Breite und Höhe des Rechteckes vorgeben zu können, werden zwei E/A-Felder benötigt. Für die Ausführung der Skripte werden zwei Schaltflächen verwendet.
  • Schaltfläche "Größe ändern" (Skript  "Script_01_Rectangle")
  • Schaltfläche "Standardgröße" (Skript  "Script_02_Init_Rectangle")
     


Bild 08
 

An den E/A-Feldern ist jeweils die interne Variable für die "Breite" und "Höhe" projektiert
(Eigenschaften > Allgemein > Prozess ).

Über die Schaltfläche "Größe ändern" wird das Skript "Script_01_Rectangle" aufgerufen
(Eigenschaften > Ereignisse > Drücken).

Über die Schaltfläche "Standardgröße" wird das Skript "Script_02_Init_Rectangle" aufgerufen
(Eigenschaften > Ereignisse > Drücken).

8 Eigenschaften des Bildes "Screen_01"
Über das Bild "Screen_01" wird das aktuelle Beispiel ausgeführt.

Wird die Größe vom "Rechteck" verändert, dann ist diese nur "temporär" vorhanden. Wird die Seite erneut aufgerufen, nimmt das Rechteck wieder die Größe von der Projektierung an.

Soll die abgeänderte Größe für das Rechteck nach einem Seitenwechsel beibehalten werden, dann rufen Sie das Skript "Script_01_Rectangle" mit dem Aufbau des Bildes "Screen_01" auf. (Eigenschaften > Ereignisse > Aufgebaut).

Beim erstmaligen Aufruf der Seite, bzw. wenn noch keine Werte für die Größe des Rechteckes vorgegeben worden sind, dann ist das Rechteck auf der Seite nicht sichtbar! (Breite und Höhe haben eine Länge von "Null").
Damit dieses nicht passieren kann, wird ein Startwert an den Variablen "Breite" und "Höhe" vorgegeben (siehe Schritt 2).
 


Bild 09

9 Hinweise- und Tipps zur Projektierung
  • Zum Testen der beiliegenden Projektierung können Sie das TP1200 Comfort verwenden oder die Simulation aus WinCC Comfort bzw. WinCC Advanced verwenden. 
  • Wenn Sie über die E/A-Felder einen Wert vorgeben, dann achten Sie darauf, dass durch diesen Wert die aktuelle Bildbreite bzw. Bildhöhe durch das Objekt (Rechteck) nicht überschritten wird. Sie erhalten ansonsten eine Systemmeldung (Skriptfehler).
    Abhilfe
    Unter den Eigenschaften für die Variable "RectangleHeight" und "RectangleWidth" können Sie unter "Eigenschaften > Bereich > Einstellungen" einen Maximalwert vorgeben. Dieser Wert ist abhängig von der Position des projektierten Objekts.
  • Fehler im Skript ....
    Die Skripte lesen den Namen des Objekts (Rechteck) aus. Wenn Sie die Projektierung in der "PC Runtime Simulation" testen möchten, dann kontrollieren Sie vor dem Starten der Runtime, ob die Option unter "Runtime-Einstellungen > Allgemein > Bild > Namen laden" aktiviert ist.
  • Im Hilfesystem und im Handbuch von WinCC (TIA Portal) finden Sie weiterführende Informationen zum Thema "VBS Objektmodell".
     


Bild 10

Tabelle 01

Ergänzende Informationen (für das aktuelle Beispiel nicht relevant)
Im Hilfesystem von WinCC (TIA Portal) finden Sie alle Objekte im Zusammenhang mit VBS. Im Beitrag "Zusammenhang zwischen Objekt und Objekttyp" (Beitrags-ID: 108893939) finden Sie eine Auflistung der jeweiligen Objekte und der zugehörigen Objekttypen. Über die Objekttypen können sie - sprachunabhängig - im Handbuch oder im Informationssystem (TIA Portal Hilfe) eine Übersicht über das gesuchte Objekt aufrufen.

Geben Sie z. B. im Informationssystem oder im Handbuch (Beitrags-ID: 109755216) unter dem Index als zu suchendes Schlüsselwort "Rectangle" ein. Sie bekommen eine Übersicht von dem Objekt angezeigt: unter der Beschreibung finden Sie die Eigenschaften und Methoden des Objektes.


Bild 11

Hinweis
Beachten Sie, dass nicht alle Objekte bei allen Bediengeräten zur Verfügung stehen.

Downloads

  • Dokumentation 
    Die Anlage enthält eine Liste von Objekten, die in WinCC Comfort bzw.
    WinCC Advanced standardmäßig enthalten sind. Zudem sind Eigenschaften (Attribute) der Objekte sowie die Zugriffsart auf die Eigenschaften aufgelistet, die über die Skriptanweisung von "HmiRuntime.Screens" und "ScreenItems" aufrufbar sind. 
      53752382_object_attributes_de.pdf (78,5 KB)

Securityhinweise
Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
http://www.siemens.com/industrialsecurity.
Unterstützung zur Statistik
Mit dieser Funktion werden die IDs des Suchergebnisses nach gewünschter Anzahl ausgegeben (Format .txt)

Liste generieren
URL kopieren
Diese Seite in neuem Design anzeigen
mySupport Cockpit