WinCC Faceplate Variable

Medium

Level-1
Beiträge
66
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Alloah,

ich versuche weiterhin mich mit WinCC (7.2) anzufreunden und dessen Möglichkeiten auszuschöpfen. Durch einen Tipp von hier habe ich mich nochmals an das Thema Faceplates im Eigenbau getraut. Ein Problem habe ich damit aber noch:
Ich brauche in meinem FP ein Script, dass auf eine Variable (Anbindung zur SPS) zugreift. Die Variable brauche ich variabel - also pro FP-Instanz möchte ich eine andere Variable eintragen für mein Script. Dafür habe ich mir eine Faceplate Variable erstellt (Bearbeiten->Faceplate-Variablen bearbeiten). Der Datentyp ist "Textvariable", kein Startwert, keine Unter- und Obergrenze.
Die Variable habe ich dann als Property eingerichtet (Bearbeiten->Faceplate-Typ konfigurieren), um sie in den Instanzen nachher ausfüllen zu können. So weit ich das der Doku zu dem Thema entnehmen konnte, müsste das eigentlich das korrekte Vorgehen für Instanz-Variablen sein (ggü. Typ-Variablen, die sich alle FPs des Typs teilen).

Wenn ich nun in einem Bild eine Instanz mit meinem FP erstelle, habe ich die Property auch zur Verfügung. Komischerweise steht aber von Anfang an eine 0 als Wert darin, obwohl kein Startwert vorgegeben ist. Wenn ich dann einen Text für die Property eingebe, bleibt dieser nur so lange bestehen, bis ich das Bild speichere und schließe. Zur Runtime und auch wenn ich es wieder im Designer öffne ist der Wert weg. (Wenn ich den Wert zur Runtime mal testweise in ein Textfeld schreibe, steht dort interessanterweise nicht 0 wie im Designer, sondern ein Leerstring.)

Warum geht mir hier meine gemachte und gespeicherte Eingabe verloren? Vielen Dank für eure Hilfe schon mal!
 
Ich habe das Problem jetzt recht dreckig umschifft, indem ich Textfelder ausserhalb des sichtbaren Bereichs des Faceplates nehme. Die nach außen geführten Properties von denen bleiben erhalten. Aber besonders glücklich bin ich damit nicht gerade. Ich hoffe einfach mal, dass sich noch jemand mit etwas Erfahrung diesbzgl. meiner erbarmt, ansonsten muss das so zum Kunden. Die Zeit rennt mir weg für solche Spielchen :?

PS: Ich habe auch mal Variablen anderen Typs ausprobiert, u.a. einfache Integer und auch mal mit und ohne Startwerte und Grenzen. Bei keiner einzigen blieben die eingegebenen Werte nach speichern und wieder öffnen des Bildes mit den Instanzen erhalten, auch in der Runtime waren die Werte einfach weg.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist eine durchaus gängige Variante, und das macht Siemens bei PCS7 auch so.
D.h. im Faceplate ein EA-Feld anlegen, dieses unsichtbar schalten, und die OutputValue Eigenschaft am Faceplate nach außen führen. Dann kann man beispielsweise beim Änderungsereignis von OutputValue Skripte anhängen, um Bits aus Words auszumaskieren oder ähnliches.

Ich hatte hier mal in einem Thread eine kleine Anleitung für ein einfaches Faceplate (Motorsymbol) als pdf erstellt. Ich finde den Thread aber gerade nicht wieder.
 
Wow. In der "normalen" IT-Welt ist so etwas mächtig verpönt, eines der größten No-Gos. Vor allem weil - dem Anschein nach - ja ein "sauberer" Mechanismus für diesen Zweck vorgesehen scheint. Gut, aber dann weiß ich, dass ich mich dafür nicht ganz so gewaltig schämen muss wie angenommen. Dankeschön! (Das PDF werde ich mir gleich vor die Brust nehmen, klasse!)

Edit: Jetzt habe ich aus Versehen deinen Beitrag gemeldet marlob. Nach einem Mal Danke sagen, werden die Danke-Felder ausgeblendet und das Meldesymbol rückt an dieselbe Stelle. Nicht mit gerechnet. Nach Neuladen der Seite ging es dann aber :) (Warum blendet das Forum die nach Nutzung überhaupt alle aus? Unfug.)
 
Zuletzt bearbeitet:
Zurück
Oben