WinCC Faceplatetyp für Motor erstellen

soundmachine123

Level-1
Beiträge
102
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forengemeinde,

bin nue hie erim Forum und muss sagen "Respekt", habe hier schon einige sehr interessante Einträge gefunden.
Nur leider nicht einen der mich bei meinem aktuellen Problem weiterbringt.
Hoffe Ihr könnt mir helfen.

Arbeite mit WinCC V7 SP3 und möchte folgendes realisieren, eigentlich ganz banale Geschichte.

Es werden 15 Motoren Visuell dargestellt. (1= rot, 2 = blau, 3 = grün)
Je nach Betriebszustand sende ich also pro Motor eine Variable (INT) an WinCC und kann somit über den Dynamik Dialog des Hintergrundes die Frab der Motoren umändern.
Dies möchte ich jetzt aber als Bildbaustein aufbauen, denn wenn jemandem mal einfällt, dass die 3 jetzt rosa sein soll sitze ich da und ändere 10 Elemente.
Aus WinCC flexible kenn eich es so, dass an einen Bildbaustein eine Schnittstellenvariable gehängt wird, im Bildbaustein selbst kann ich dann die einzelnen Farben der Schnittstellenvariablen zuordnen und kann jedewr Instanz dieses Bildbausteins einfach eine andere Variable zuweisen. Will ich jetzt 3 = rosa setzen muss ich nur einen Aufruf des Bildbausteins durchführen und dort die Änderung einmalig durchführen.
So will ich es auch in WinCC realisieren. Wenn ich dort aber einen Faceplate Typ erstelle und den Faceplate typ konfiguriere kann ich nur die "Eigenschaft - Hintergrundfarbe" nach außen legen.
Außen muss ich dann aber sowohl die Variable als auch die Zuordnung (1 = rot...) durchführen --> Ich bin genau so weit wie am Anfang, wenn jemand die Zuordnung ändern will.

Wie kann ich das realisieren?


Für eure Bemühungen bedanke ich mich im Vorraus
 
Es gibt wie immer mehrere Lösungen:

1. Scripte im Facplatetyp drinnen
2. Zustandsanzeige für das Motorsymbol
3. mehrere Motorsymbole mit der jeweiligen Farbe, welche sichtbar/unsichtbar geschaltet werden
4. Du sendest von der SPS nicht nen INT sonder DINT mit dem direkten Wert der Farbe also nicht 1,2,3 sondern 255, 65280, 16777215
5. Du legst die 3 Farben als interne Variablen in WinCC ab, dann brauchst aber auch nen Script zum Umschalten
...

Schau Dir mal das Demoprojekt an, wie Siemens das dort gemacht hat. (Variante 2)

Siemens Industry Online Support - Automation Service, Automation Support, Simatic Service, Simatic Support, Technical Support, Technical Consulting

Gruß.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
hi, danke, das Beispiel werde ich mir mal anschauen.

Die Sichtbar/Unsichtbar geschaltet sache bringt mich auch nicht wirklich weiter, hier habe ich genau das gleiche Problem. Die Angabe bei welchen Zahlen Sichtbar/Unsichtbar geschaltet werden soll kann ich nur "außen" definieren.
 
hi, danke, das Beispiel werde ich mir mal anschauen.

Die Sichtbar/Unsichtbar geschaltet sache bringt mich auch nicht wirklich weiter, hier habe ich genau das gleiche Problem. Die Angabe bei welchen Zahlen Sichtbar/Unsichtbar geschaltet werden soll kann ich nur "außen" definieren.

Jain, Du kannst aber die Farbe im Faceplatetyp drinnen ändern, also nur einmal, an der äusseren Verschaltung musst Du nix ändern.
 
der vierte punkt gefällt mir eigentlich am besten. Könntest du mir das eitrwas genauer erklären. Wie bekomme ich die "Faceplate-interen" variable so außen angebunden dass ich damit die Fraben umändern kann?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hmm.
"Jain, Du kannst aber die Farbe im Faceplatetyp drinnen ändern, also nur einmal, an der äusseren Verschaltung musst Du nix ändern."

Genau das weiß ich nicht wies gehen soll, denn der dynamik Duialog für die Füllfarbe geht "innen" nicht auf, außen nur nach Anbindung der Eigenschaft
 
der vierte punkt gefällt mir eigentlich am besten. Könntest du mir das eitrwas genauer erklären. Wie bekomme ich die "Faceplate-interen" variable so außen angebunden dass ich damit die Fraben umändern kann?

Nachdem Du die Hintergrundfarbe nach aussen gezogen hast, verbindest Du die ganz normal mit deiner DINT-SPS-Variablen, ohne Dynamic-Dialog. In der SPS musst Du jetzt aber nicht 1,2,3 schicken sondern direkt die Zahl für die gewünschte Farbe, also rot=255, weiss=16777215, grün=65280


Hmm.
"Jain, Du kannst aber die Farbe im Faceplatetyp drinnen ändern, also nur einmal, an der äusseren Verschaltung musst Du nix ändern."

Genau das weiß ich nicht wies gehen soll, denn der dynamik Duialog für die Füllfarbe geht "innen" nicht auf, außen nur nach Anbindung der Eigenschaft

innen legst Du 3 Motoren an, jeweils weiss, grün bzw. rot ohne Dynamic-Dialog, einfach fest. nach draussen ziehst Du die Eigenschaft "Anzeige" von allen drei. Aussen schaltest Du jetzt Deine INT mit dem Dynamic Dialog an die 3 Eigenschaften...

bisschen Kreativität brauchst Du schon bei WinCC...
 
Ich habe mal eine Kurzanleitung für das Anlegen eines einfachen Faceplates in WinCC geschrieben.

Die kompletten Siemens-Beispielprojekte sind zwar auch gut, aber ich habe eine Weile gebraucht bis ich da durchgestiegen bin. Vor allem wozu das EA-Feld da ist wollte mir anfangs nicht einleuchten.
 

Anhänge

  • WinCC-Faceplates-Kurzanleitung.pdf
    198,3 KB · Aufrufe: 245
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe mal eine Kurzanleitung für das Anlegen eines einfachen Faceplates in WinCC geschrieben.

Die kompletten Siemens-Beispielprojekte sind zwar auch gut, aber ich habe eine Weile gebraucht bis ich da durchgestiegen bin. Vor allem wozu das EA-Feld da ist wollte mir anfangs nicht einleuchten.

sieht sehr gut aus, so einfach Schritt für Schritt gibt's das bei Siemens nicht :) Das entspricht in etwa meiner Variante 1. Brauchst halt Scripte...

Mit den EA-Feldern bringe ich sozusagen Variablen von innen nach aussen, bzw. realisiere sowas wie lokale Variablen im Faceplatetype...

muss man erstmal drauf kommen :) Aber bei Anwenderobjekten war's ja auch ähnlich.
 
Das EA-Feld dient mehr oder weniger als Ablageplatz für die VBS-Aktion.
Man kann natürlich auch direkt die Eigenschaft der Hintergrundfarbe nach außen legen, aber dann muss die externe Variable direkt den Farbwert haben.
 
Das EA-Feld dient mehr oder weniger als Ablageplatz für die VBS-Aktion..
Jo, und um den Status von draussen nach drinnen zu bringen...

Man kann natürlich auch direkt die Eigenschaft der Hintergrundfarbe nach außen legen, aber dann muss die externe Variable direkt den Farbwert haben.
meine Variante 4 :) Hat den Charm der unübertroffenen Einfachheit, und ich muss Änderungen nur im SPS Baustein machen, nur SPS-Änderungsladen, kein WinCC-Serverladen etc.

PS: Wenn Du die Farbwerte in der SPS in nem DB ablegst und nicht als Konstante "hardcodierst", kannst Du die Farbe sogar online umschalten, ohne irgendwas zu laden...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank Thomas!!!!!!!!!!!!!!!!

genau sowas habe ich gesucht.

Hätte man eigentlich drauf kommen können.

Ich komem aus der WinCC flexible Ecke und konnte mir einfahc nicht vorstellen, dass es keine "einfachere" Möglichkeit gibt Variablen nach draußen zu bringen bzw. die Farben intern zu definieren und nur den Zahlenwert extern anzupassen.

Habs ausprobiert und es funktioniert wunderbar so wie du es erklärt hast.

Vielleicht sollte in dein Skript noch eingebracht werden, dass am Kreis die globalen Farbschemas deaktiviert werden müssen.

Hat mich kurz stutzig gemacht als es nicht gefunzt hat.

Also nochmal vierlen lieben Dank
 
Zurück
Oben