# winCC flexible_Registerkarten erstellen



## tomatschek (11 Februar 2010)

gibt es ein tool in wincc um seine bilder als registerkarten darstellen zu lassen, geht das gar nich oder kann man sich da mit vbscript weiterhelfen? und falls es nur mit script geht wär es toll wenn ich ein paar tipps bekommen könnte, hab noch kein script zum laufen bekommen.
im prinzip würd ich mit function und subs arbeiten wollen. subs für fkt. die die für die funktion notwendigen, eingelesenen variablen nicht ändern, um einfach irgendwelche sachen im panel auszulösen und function bei zu verändernder variable, quasi zum richtigen programmieren. ist das so korrekt? ich hab selbst beim start schon meine probleme. soweit ich weiss liest man die wincc-variable mit "dim" ein. aber das starten der funktion selbst ist mir schon nicht ganz klar. kann mir bitte jmd ein beispiel für ne komplette start-zeile geben und dazu sagen welche teile notwendig sind und was sie im einzelnen bewirken? ich hoffe das sind nicht zu viele fragen aber für mich ist das alles noch neuland und glaub wenn ich die beantwortet hätt könnt ich mich mit den einzelnen befehlen austoben.
ich hab die 2007er version falls das noch von bedeutung ist.

gruss 
tomatschek


----------



## PN/DP (11 Februar 2010)

*Registerkarten "malen"*

Hallo tomatschek,

"richtige" Registerkarten werden in WinCC flexible nicht unterstützt.
Ist aber egal, man kann ja auch Schaltflächen und Grafiken so anordnen, 
daß es wie richtige Registerkarten *aussieht*. (siehe Anhang)

* für jede Registerkarte ein eigenes Bild erstellen
* eine Reihe Bitmap-Grafiken "unaktivierter Registerreiter" anordnen
* 1 Bitmap-Grafik "aktivierter Registerreiter" anordnen
* über die Grafiken transparente Textfelder mit der Reiter-Beschriftung legen
* oberste Ebene: über jeden Reiter eine unsichtbare Bildwechsel-Schaltfläche
* das ganze in alle anderen Bilder kopieren und den aktuellen Reiter anpassen

Scripte braucht man dafür nicht. Nur ein bischen Fleiß und Konzentration.

Was Du mit dem Rest Deiner Frage sagen willst, habe ich nicht ganz verstanden.
Für Scripte gibt es in WinCC flexible aber eine VBS-Hilfe und ein Tutorial.
Da mal ausgiebig lesen.
Mit "dim" werden in VB Variablen deklariert (Name, Datentyp).

Gruß
Harald


----------



## rostiger Nagel (11 Februar 2010)

@PN/DP,
hallo Harald, tolles Bild, gefällt mir.

@tomatschek,
denke aber daran wenn du sehr viel Grafiken und Variablen
auf einer Bildschirmseite packst, wird ein schwaches Panel
sehr langsam und unbedienbar. Richtig rund wird es warscheinlich
erst auf einen MP377 oder einer PC-Runtime laufen.

gruß helmut


----------



## PN/DP (12 Februar 2010)

*Performanceprobleme?*

Hallo Helmut,

der Screenshoot in #2 ist von einem MP370 15" ( 1024 x 768 ).
Diese Registerreiter habe ich aber auch schon auf MP277 und TP170B eingesetzt.

Bis 280 animierte Objekte (E/A-Felder, Kreise, Linien, einblendbare "Dialoge" ...) habe 
ich schon auf MP277 10" oder MP370 15" in einem Bild untergebracht. Dazu kommen 
knapp 30 animierte Objekte im Permanentfenster, 640 Meldebits plus Quittierbits,
40 Archiv-Variablen, einige "ständig lesen"-Variablen und Uhrzeitsynchronisation.

Allerdings packe ich meine Status-Bits für ein Bild schon in der PLC passend in DWORDs
(32 Bit) zusammen, um nicht jedes Bit einzeln zu lesen. So werden meist weniger als 30 
Variablen pro Bild benötigt. Es kann aber auch vorkommen, daß bis zu 80 Eingabefelder 
für Anlagenparameter auf einem Bild sind.
(solche Anlagenbilder darf ich allerdings nicht veröffentlichen, weil da die Technologie 
der jeweiligen Anlage zu deutlich sichtbar ist.  )

*Dabei habe ich noch nie Performance-Beeinträchtigungen festgestellt.*

Die Aktualisierungsrate von Variablen ist bei WCF nicht schneller als 1 Sekunde einstellbar.
1 Sekunde nach Bildaufruf sind schlagartig alle Objekte animiert. Danach muß man schon sehr 
genau hinsehen, um eine Aktualisierungsreihenfolge zu erkennen.
Der Flaschenhals liegt nicht im Panel-Prozessor, sondern in der Kommunikation, genauer: der 
Anzahl der verwendeten "Power-Tags" (Variablen, die aus der SPS gelesen werden) je Bild.

Performanceprobleme kenne ich nur von Trendanzeigen aus Archiven in WCF 2007. Da ist aber 
die besch...ene Programmierung von Siemens dran schuld. Da kann man richtig zusehenen, wie 
die Trendanzeige die Werte jeder Kurve einzeln aus dem Archiv holt. (in WCF 2008 soll die 
Performance angeblich deutlich verbessert sein.) 
Um mit Trendanzeigen aus Archiven auf Panelen halbwegs arbeiten/blättern zu können, dürfen 
höchstens 4 Kurven auf einer Trendanzeige sein und jede Trendanzeige muß ein eigenes Archiv 
haben. Das Initialisieren von 12 5-Tage-Archiven beim Runtimestart (WCF 2007) dauert auf 
einem MP370 locker 8 Minuten. Bis zum Abschluß dieser Archiv-Initialisierung werden keine 
Skripte ausgeführt, die Runtime ist aber schon bedienbar und animiert!

Bei der Bilddarstellung überlastete "schwache" Panele habe ich eigentlich noch nicht erlebt
(nur dilettantisch programmierte). Auch auf kleinen TP170B habe ich bisher alles auf ein Bild
bekommen, was ich wollte, ohne Performance-Beeinträchtigungen zu bemerken.

Ich habe sogar schon einmal auf einem OP7 (4 Zeilen mit je 20 Text-/Semigrafik-Zeichen)
mittels 15 Text-Symbollisten den Status einer Maschine mit 11 Motoren und 34 Sensoren
in einem Bild "visualisiert". Das OP7 hat keine Performance-Probleme bei der Darstellung.


*tomatschek* hat im EP zwar nicht geschrieben, welches Panel er einsetzen will, da er aber 
den Einsatz von Skripten andeutet, gehe ich davon aus, daß es kein "schwaches" Panel ist.

Die wichtigste Maßnahme wegen der Performance habe ich ja schon geschrieben:


> * für jede Registerkarte ein eigenes Bild erstellen


Das Panel würde wahrscheinlich auch mehrere Sichtbarkeits-animierte Registerkarten in einem 
Bild verkraften. Aber die Übersicht über die große Anzahl nötiger Ebenen bei der Erstellung 
des Bildes würde ich mir nicht antun. Außerdem ist dann das Sichtbarkeits-Attribut von allen 
Objekten auf den Registerkarten schon für die Sichtbarkeit der Registerkarte "verballert"
und nicht mehr einfach anderweitig nutzbar.

Man kann natürlich statt ein Grafikobjekt je Reiter auch eine einzige breite Grafik mit allen 
"unaktivierten Registerreitern" nehmen. Das ist mir aber für Änderungen und Erweiterungen
nicht flexibel genug. Immerhin müssen alle nachträglichen Änderungen an den Registerreitern
in allen Register-Bildern eingepflegt werden.

Bei mir sind Registerreiter oft auch noch farblich animiert. Das geht mit einer Gesamt-Grafik
nur schlecht. Ist z.B. in einem Einstellungen-Bild eine für die normale Produktion unzulässige 
Einstellung vorhanden, dann wird der Registerreiter dieses Bildes hellrot eingefärbt und sogar
die Schaltfläche "Einstellungen" im Permanentfenster oben wird rot.

Übrigens:
Wer will, kann sich die Schaltflächen-Icons aus meinen Bildern rauskopieren und verwenden.
Ich habe da nichts dagegen. Die Schaltflächen-Icons sind von mir selbst erstellt. 
Der grüne Zurück-Pfeil und das Übersichts-Häuschen stammen ursprünglich vom IE6.

Noch ein Tip:
Wenn ich "ausgegraute" Schaltflächen-Icons brauche, dann lade ich mir mein farbiges Icon in 
Paint und sage dann meinem Windows XP: Start > Computer ausschalten...
Nun graut das Windows XP den gesamten Bildschirm (etwas warten). Dann einen Screenshot 
machen und das "Computer ausschalten" abbrechen.

Anbei weitere Screenshots mit Registerkarten. Bei 044_Settings_System_Programmierer.gif ist 
ein Programmierer am Panel angemeldet und hat das WindowsCE Taskmenü geöffnet. (MP370)

Gruß
Harald


----------



## SPSKILLER (12 Februar 2010)

sieht gut aus!!
Aber wo ist das Firmenlogo???? 

Micha


----------



## PN/DP (12 Februar 2010)

SPSKILLER schrieb:


> Aber wo ist das Firmenlogo????


Auf einem anderen Bild (Startbild/Infobild), das ich aber nicht veröffentlichen darf. (der Kunde will das nicht) 

Gruß
Harald


----------



## SPSKILLER (12 Februar 2010)

bei meinen Kunden muss das in jedem Bild sichtbar sein...


----------



## mkd (12 Februar 2010)

PN/DP schrieb:


> Hallo Helmut,
> 
> Übrigens:
> Wer will, kann sich die Schaltflächen-Icons aus meinen Bildern rauskopieren und verwenden.
> ...



Hallo Harald- super Tipps tolle Visu!

Kannst du die Icons auch hier als Einzelbildchen reinstellen?


Danke
Daniel


----------



## MatMer (12 Februar 2010)

SPSKILLER schrieb:


> bei meinen Kunden muss das in jedem Bild sichtbar sein...



wir machen UNSER Logo überall drauf


----------



## PN/DP (21 Februar 2010)

*WinCC flexible Grafikobjekte*



mkd schrieb:


> Kannst du die Icons auch hier als Einzelbildchen reinstellen?


OK, im Anhang findet Ihr einige Schaltflächengrafiken und weiteres aus meiner WCCf-Grafiksammlung
als Einzelbilder (BMP) zum Download. Wer will, kann die Grafiken in seinen Projekten verwenden.
Die meisten Icons stammen aus Windows, IE oder Siemens-Programmen.

Das meiste sind Grafiken für häufig verwendete Schaltflächen. Die Schaltflächen sollten je 4 Pixel 
breiter und höher als die Grafiken sein, damit keine unschönen Skalierungsfehler auftreten.
Die Checkboxen und Radiobuttons sind für "Schalter mit Grafik" 24x24 Pixel.
Es sind auch Register-Reiter (Tabs) in verschiedenen Breiten enthalten. Anwendung siehe Beitrag #2.

[EDIT]
*Hinweis zu den Registerreitern Tab_x_xxx*

Ich benutze "Grafische EA-Felder", Modus: Ausgabe, Grafikliste: 0=Tab_x_xxx / 1=Tab_x_red_xxx,
Variable: eine Variable, die das rot-werden des Registerreiters steuert.
Es kann auch eine "Grafikanzeige" verwendet werden, wenn kein Farbumschlag benötigt wird.

Bei der Gestaltung ist Weiß (R=255 G=255 B=255) als "Transparente Farbe" zu aktivieren, damit die oberen 
Reiter-Ecken und die Fläche des aktiven Registerreiters Tab_1_xxx exakt die Farbe des Bildhintergrundes 
annehmen, bei mir z.B. helles Grau (R=192 G=192 B=192).
[/EDIT]

Gruß
Harald


----------



## eYe (21 Februar 2010)

Und jetzt bitte das gleiche nochmal in englisch 

(Scherz, kann ich natürlich selber bei Bedarf machen)


PS: Deine Visu sieht einfach nur Hammer aus, da schäme ich mich glatt für die Bilder die ich erstelle


----------



## Lipperlandstern (21 Februar 2010)

PN/DP schrieb:


> OK, im Anhang findet Ihr einige Schaltflächengrafiken und weiteres aus meiner WCCf-Grafiksammlung
> als Einzelbilder (BMP) zum Download. Wer will, kann die Grafiken in seinen Projekten verwenden.
> Die meisten Icons stammen aus Windows, IE oder Siemens-Programmen.
> 
> ...


 
Hallo Harald.

Wie kommt den das Nummerngirl bei den Anlagenbedienern an ?  Und ich hab gesehen das du einige Buttons mit Grafik hinterlegt hast. Wie machst Du das den wenn du eine Sprachumschaltung hast ?


----------



## rostiger Nagel (21 Februar 2010)

@Harald,
was mich mal intressieren würde, was machst du mit den Bitmap
vom Nr.-Girl in deiner Oberfläche. Belegst du damit eine Taste um
den Feierabend einzuläuten .

Anhang anzeigen Nummerngirl.bmp


gruß helmut


----------



## PN/DP (21 Februar 2010)

*Nummerngirl*

Sprachumschaltung:
In WinCC flexible kann für jede Projektsprache eine eigene Variante der Grafik angelegt werden
(in der Projekt-Grafiksammlung gibt es dann für jede Projektsprache eine Tabellenspalte).
Für jede Projektsprache müsste dann die Bitmap mit Texten in der jeweiligen Sprache erstellt werden.
Die sprachabhängige Auswahl, welche Grafik angezeigt wird, übernimmt die Runtime.

Oder man lässt die Texte in den Grafiken gleich ganz weg. Die Icons sind eigentlich auch ohne die Texte 
leicht verständlich.

Das *Nummerngirl* hat eine Geschichte:
Bei meinen ersten Projekten mit WCCf habe ich ein Testbild erstellt, um zu sehen, wie klein ich Tasten machen 
kann, die noch mit dem Finger bzw. Handschuh bedienbar sind. Außerdem habe ich den Unterschied der Ereignisse 
"Klicken", "Drücken" und "Loslassen" untersucht.

In dem Testbild sind immer kleinere Tasten angeordnet. Solange eine Taste gedrückt ist, zeigt ein Nummerngirl 
die Nummer der Taste an. Wenn auf der gedrückten Taste wieder losgelassen wird (entspricht "Klicken"), dann 
verschwindet das Nummerngirl wieder. Wenn der Loslasspunkt außerhalb der gedrückten Taste liegt (das ist 
"Nicht-Klicken"), dann bleibt das Nummerngirl stehen.
Bei Drücken der zentralen Taste "9" erscheint nicht das Nummerngirl, sondern die Venus von Sandro Botticelli. 
Wird nun auf die Venus geklickt, dann wird das komplette Gemälde "Die Geburt der Venus" ("Die Schaumgeborene" 
oder "La nascita de Venere") von Sandro Botticelli auf dem Panel angezeigt.
Der Trick dabei ist, die Taste "9" zu drücken, aber nicht zu klicken, damit die Venus stehenbleibt und danach 
geklickt werden kann.

Das hat den Anlagenfahrern so gut gefallen, daß ich das Testbild als Übungsbild im Projekt dringelassen habe. 
Jedesmal wenn ein neuer Anlagenfahrer auf der Anlage eingearbeitet wird gibt es eine große Heimlichtuerei 
"Na, hast Du schon die Venus entdeckt??! ..."
Die Anlage verarbeitet Meeresprodukte, da paßt das Gemälde mit der Venus ganz gut hin. Und das ist kein 
schnödes pin-up-girl sondern Kultur am Arbeitsplatz. :wink:
Zwischen den Produktionsschichten stellen die Anlagenfahrer gern das Panel auf das Gemälde-Bild, um zu sehen,
ob zwischendurch jemand am Touchpanel rumgespielt hat. Das Bild mit dem Gemälde wieder anzuzeigen schaffen 
nur eingeweihte Bediener.
Leider kann in der WCCflex-Runtime die Grafik nicht extern ausgetauscht werden, sonst könnte man auch ein 
"Bild der Woche" einbauen.

Im Anhang Screenshots des Übungsbildes mit dem Nummerngirl im Einsatz (MP277 10").
Die zentrale Taste "9" und die Tasten "10" bis "13" sind 24x24 Pixel klein.
Das Übungsbild eignet sich auch zur schnellen Überprüfung der Touch-Kalibrierung.

Gruß
Harald


----------



## Thomas_v2.1 (10 Juli 2010)

Diesen Link mal zur reinen Information, da in den oben gezeigten Bildern auch einige Icons aus Microsoft-Programmen "verwendet" wurden:

http://www.microsoft.com/germany/unternehmen/informationen/rechtlichehinweise/bilder.mspx#EDAAC


----------



## van (10 August 2010)

Hallo

ich habe mal zwei neue Button erstellt, als Vorlage dienten die Grafiken von Harald.

Die Buttons wurden mit Paint.Net erstellt


----------

