1 Unterschiede zum WinCC Basissystem

Unterschiede zum Basissystem 1 1.1 02.2002 Unterschiede zum WinCC Basissystem Skriptausführung Im Gegensatz zum WinCC-Basissystem werden die eventg...
Author: Bella Becke
32 downloads 0 Views 23KB Size
Unterschiede zum Basissystem

1 1.1

02.2002

Unterschiede zum WinCC Basissystem Skriptausführung Im Gegensatz zum WinCC-Basissystem werden die eventgetriggerten Skripte (OnClick etc.) im selben Prozessraum ausgeführt wie die Bildanzeige, nämlich im Kontext des Internet Explorers. Dies ist zu beachten, wenn mit Delays in Skripten gearbeitet wird (z.B. Sleep(3000)). In diesem Falle ist das angezeigte Bild natürlich genau um diese Zeitspanne nicht bedienbar.

1.2

Bildanwahl Im Web Navigator wird ein WinCC-Bild asynchron übers Internet heruntergeladen. Deshalb erfolgt der Bildwechsel im Gegensatz zum Basissystem nicht synchron, sondern asynchron. Diese Tatsache muß bei Skripten, die einen Bildwechsel anstoßen, berücksichtigt werden. Es gilt: Wird innerhalb eines Skriptes eine Bildanwahl auf ein Bildfenster angestoßen, so kann anschließend innerhalb desselben Skriptes nicht auf Objekte des neuen Bildes zugegriffen werden, da das Bild zu diesem Zeitpunkt noch nicht geladen ist. Ein Delay (z.B. Sleep(2000)) kann hier auch nicht helfen, da das Skript und damit ebenfalls der Internetexplorer warten. Eine bessere Lösung ist, die nachfolgenden Skriptteile beim OpenPicture-Event auszuführen, der dann getriggert wird, wenn das Bild geladen ist.

1

WinCC Web Navigator - Auszug aus der Online-Hilfe

Unterschiede zum Basissystem

1.3

02.2002

Scripting Präprozessordefinition: Speziell für den Web Navigator gibt es im Scripting eine Präprozessordefinition : RUN_ON_WEBNAVIGATOR Code der unter dieser Präprozessordefinition steht wird nur im Web Navigator ausgeführt. Somit ist es möglich Skripte zu schreiben, die sich unter Web Navigator anders verhalten, als im Basissystem. Beispiel: void OnOpenPicture (char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { #ifdef RUN_ON_WEBNAVIGATOR // hier Code schreiben, der nur im Navigator ausgeführt wird } #else // hier Code, der nur im Basissystem läuft #endif }

2

WinCC Web Navigator - Auszug aus der Online-Hilfe

Unterschiede zum Basissystem

1.4

02.2002

Adressierung von Objekten in anderen Bildern Will man von einem Bild aus per Skript auf Objekte eines anderen Bildes (z.B. Objekte im Parentbild oder Objekte in einem Bildfenster ) zugreifen, so ist dies im Gegensatz zum Basissystem nur mit einer relativen Adressierung möglich. Alle C-Skriptfunktionen, die auf Objekte eines Bildes zugreifen, verlangen als ersten Parameter den Bildnamen. z.B. SetPropChar ("Startbild", "Text1", "Text", "Hallo hier ist ein Text"); Beim Zugriff auf Objekte, die nicht im selben Bild liegen gibt es im Web Navigator speziell definierte Bildnamen, die die Adressierung der Bilder relativ zum aktuellen Bild angeben.

Adressierung eines Objektes im Grundbild: Falls Eindeutigkeit besteht, genügt die Angabe des Bildnamens, wie im Basissystem: SetPropChar ("Startbild", "Text1", "Text", "Hallo hier ist ein Text"); Ansonsten kann die Adressierung bildnamenunabhängig entweder als Leerstring , oder aber als (lpszPictureName = "/") erfolgen. Bsp: SetPropChar ("", "Text1", "Text", "Hallo hier ist ein Text"); bzw. SetPropChar ("/", "Text1", "Text", "Hallo hier ist ein Text");

Adressierung eines Objektes im Parentbild Falls Eindeutigkeit besteht, genügt die Angabe des Bildnamens des Parentbildes, wie im Basissystem: SetPropChar ("Bild1", "Text1", "Text", "Hallo hier ist ein Text"); Ansonsten kann die Adressierung bildnamenunabhängig als (lpszPictureName = "../") erfolgen. Bsp: SetPropChar ("../", "Text1", "Text", "Hallo hier ist ein Text");

3

WinCC Web Navigator - Auszug aus der Online-Hilfe

Unterschiede zum Basissystem

02.2002

Bild in einem Bildfenster Befindet sich das zu adressierende Objekt im Bild eines Bildfenster "Bildfenster1", so kann dieses relativ zum aktuellen Bild wie folgt adressiert werden: SetPropChar ("./Bildfenster1", "Text1", "Text", "Hallo hier ist ein Text"); bzw. falls sich das Bildfenster1 im Parentbild befindet: SetPropChar ("../Bildfenster1", "Text1", "Text", "Hallo hier ist ein Text"); bzw. falls sich das Bildfenster1 im Grundbild befindet: SetPropChar ("/Bildfenster1", "Text1", "Text", "Hallo hier ist ein Text");

1.5

Synchrone Skriptfunktionen Bei synchronen Skriptfunktionen wie z.B. SetTagCharStateWait etc., die synchron eine Variable schreiben und dann auf das Ergebnis warten ist Vorsicht geboten. Da diese Aufrufe synchron an den Server gehen, kann ein häufiges Aufrufen dieser Skriptfunktionen die Performance des Client stark negativ beeinflussen,. Über Internetverbindung kann ein solcher Aufruf evtl. sogar im Sekundenbereich liegen. Skriptfunktionen, die Objekte im angezeigten Bild manipulieren sind unbedenklich, da hier ein Roundtrip zum Server nicht stattfindet.

4

WinCC Web Navigator - Auszug aus der Online-Hilfe

Unterschiede zum Basissystem

1.6

02.2002

Bildlokale Skriptvariable definieren Um sich eventuell bildspezifische Daten in Skripten zu merken, sollte im Web Navigator von Datenmanagervariablen abgesehen werden. Diese haben, falls sie in Skripten gelesen bzw. beschrieben werden immer ein Roundtrip zum Server zur Folge, was im Internet kostspielig ist. Es gibt mehrere Möglichkeiten, sich bildspezifische Daten zu halten:

Projektieren von "unsichtbaren" Grafikobjekten Durch Anlegen von unsichtbaren Grafikobjekten hat man die Möglichkeit die Properties dieser unsichtbaren Objekte als bildspezifische Variable zu nutzen. Zusätzlich hat man den Vorteil, dass auf Änderung dieser gespeicherten Werte sogar Aktionen ausgeführt werden können. Beispiel: Anlegen eines unsichtbaren Textfeldes. Hier kann man sich im Textproperty bequem beliebige Texte speichern, die dann von jedem Scripthandler aus gelesen, bzw. geschrieben werden können. In den FarbProperties des Textfeldes können dann z.B. Farben gespeichert werden, die über Skripte gelesen bzw. geschrieben werden können und so den Zustand des Bildes beeinflussen können, ohne dass ein Roundtrip zum Server nötig wird.

5

WinCC Web Navigator - Auszug aus der Online-Hilfe

Unterschiede zum Basissystem

6

02.2002

WinCC Web Navigator - Auszug aus der Online-Hilfe

Suggest Documents