# WinCC - Multimaschinenvisualisierung



## Milli2319 (16 November 2021)

Hallo zusammen,

ich bräuchte da mal eine andere Sichtweise auf eine Problemstellung, und was bietet sich dafür mehr an als das gesammelte Wissen des Forums, nicht nur aus OEM-Sicht sondern auch aus Sicht der Anwender 

Folgende Problemstellung (betrifft rein Visualisierung):
Wir liefern Anlagen für die Stahlindustrie, die typischerweise aus 2 oder mehr exakt gleichen Maschinen bestehen. Diese Maschinen stellen im Prinzip Serienmaschinen dar, die von Projekt zu Projekt minimal angepasst werden (Im Hardwareausbau, in der Funktionsweise etc.) Pro Anlage gibt es nur ein TIA-Projekt. Diese haben folgenden Hardwareaufbau pro Maschine:

1 CPU S7-1513 oder S7-1516
1 Comfortpanel typischerweise 19" - Zur Bedienung vor Ort, projektiert mit WinCC Advanced
1 WinCC-Advanced PC-Runtime 22" - Abgesetzt, entweder im Leitstand oder Elektroraum

Das bedeutet, die Gesamtanlage besteht aus bis zu:

4 CPU's, auf denen exakt die selbe Software läuft
4 19"er Panels, auf denen exakt die selbe Runtime läuft (20-30 Bilder, ca 2500 Powertags)
4 22"er PC-Runtimes, auf denen exakt die selbe Runtime läuft wie auf dem Panel (20-30 Bilder, ca 2500 Powertags)
Wie man am Hardwareaufbau bereits sieht, ist die Visualisierung ein sehr großer Brocken der Automatisierungstechnik. Auf der Visualisierung laufen Rezepte, Störmeldungen als Bitmeldungen, sowie Variablenarchive. Ein paar kleine Scripte, sonst alles sehr simpel aufgebaut. Die Visualisierung dient zwar hauptsächlich zur Anzeige und Eingabe der Aktual- und Steuerparameter, kann aber auch zur Steuerung der Anlage im Handbetrieb und Semiautomatikbetrieb genutzt werden.

Bisher konnte ich das in Bezug auf den Projektierungsaufwand sehr elegant lösen, in dem ich für jedes Bild nur einen Typ erstellt habe, den ich auch in den anderen Panels sowie den PC'Runtimes (Mit automatischer Auflösungsskalierung) verwenden konnte. Dies hat besonders den Vorteil, dass jede Anpassung/Änderung auf einer Maschine nur einmal durchgeführt werden muss, die Änderung wird bei der Freigabe des Typen auf die anderen Maschinen mitgezogen. Die Auflösungsskalierung funktioniert zwar bei weitem nicht perfekt, aber ist unter dem Gesichtspunkt der massiven Arbeitsersparnis hinnehmbar. Bisher war ich damit auch sehr zufrieden, wenn da nicht der Kunde wäre.

Der Kunde wünscht sich nun folgenden Hardwareaufbau: 


4 CPU's, auf denen exakt die selbe Software läuft
4 19"er Panels, auf denen exakt die selbe Runtime läuft (20-30 Bilder, ca 2500 Powertags)
1 22"er PC-Runtime, von der aus der Kunde alle 4 Maschinen bedienen kann. Grund hierfür: Bedienfreundlicher, weniger Platzaufwand für die Bildschirme, weniger Hardware welche rumzicken kann.

Ich hab sowas schon mal gemacht, bei einem Projekt mit WinCC TIA Professional, und bei einem anderen Projekt mit WinCC TIA Advanced. Bei beiden Systemen war ich sehr unzufrieden was den Projektierungsaufwand betrifft. Kann natürlich auch sein, dass meine Herangehensweise völlig falsch ist.

Für mich ergeben sich folgende Probleme:

Da ich nun bei der PC-Runtime alle 4 CPU's in einer Visualisierung anbinde, sind die Tagnamen nun, obwohl in gleichen Datenbausteinen und der selben Struktur, von Maschine zu Maschine unterschiedlich (Präfix muss vergeben werden, da sonst gleicher Tagname im selben Gerät).
Aufgrund von Problem 1 geht mein Typkonzept flöten - da die im Typ hinterlegten Variablen natürlich immer gleich wären, also z.B. mit dem Präfix von Maschine 1.
Aufgrund von Problem 1 und 2 erstelle ich somit nicht eine Visualisierung, sondern de facto 5. Für die Comfortpanels kann ich ja noch die Typen verwenden, auf der PC-Runtime aber nicht mehr - Somit für 4 Anlagen alle Bilder einmal als Typ für die Panels, und viermal separate Bilder für die PC-Visu, da die Variablen überall händisch angeschaltet werden müssen.
Aufgrund von Problem 3 steigt die Fehleranfälligkeit in der Projektierung (Schlampigkeitsfehler, Kopierfehler) massiv an, im Vergleich zum Ursprungskonzept.
Bei Änderungen während der Inbetriebnahme müssen alle Änderungen 5 mal durchgeführt werden (siehe Problem 3), was wiederum zu Problem 4 führt. Änderungen während der Inbetriebnahme kommen aufgrund von Problem 3&4 häufig vor.

Ich hoffe ich konnte die Probleme halbwegs verständlich schildern.
Wie löse ich diese Probleme auf eine sinnvolle Art und Weise, ohne den Arbeitsaufwand ins unermessliche eskalieren zu lassen? Welche Software würde man hierfür sinnvollerweise verwenden, aus dem großen WIN-CC Spektrum? (Advanced, Professional, V7.x, Unified)?
Bitte um eine offene Diskussion, 
Danke und LG


----------



## Matze001 (16 November 2021)

Okay klingt spannend.

(Blöde?) Frage:

Ist der Funktionsumfang vom Panel und der PC-Runtime komplett gleich?
Macht es ggf. Sinn von der PC-Runtime einfach 4 Remote-Verbindungen zu den Panels aufzubauen (Damit hätte man auch gleich Bedienhoheit Lokal/Fern gelöst). Dann hast Du in der PC-Runtime ggf. nur eine Seite auf der die Auswahl der Verbindung passiert, und das wars.

Grüße

Marcel


----------



## Milli2319 (16 November 2021)

Guter Ansatz, ich hab leider etwas essentielles vergessen:

Der Funktionsumfang ist grundsätzlich völlig gleich, ja.
Manchmal (je nach Kundenwunsch und Vertriebslaune), gibt es aber keine Comfortpanels vor Ort, sondern nur Bedientaster für die lokale Bedienung, und nur den einen PC.

Damit fällt der Ansatz leider flach.


----------



## Matze001 (16 November 2021)

Schade. Die Idee war so gut. 

Wechsel doch zu Unify (*duckundweg*)

Grüße

Marcel


----------



## Matze001 (16 November 2021)

Neuer Gedanke. Alles einmal am IPC programmieren und die Verbindung den Steuerungen umschalten?
Dann hast Du es ja auch einfach.

Grüße

Marcel


----------



## poitouesel (16 November 2021)

Hallo

mit den UDT's und Bildbausteinen/Faceplates gibt es in WinCC Advanced ein Konzept zum gruppenweisen Zuweisen/Ersetzen von Variablenbezügen. Was üblicherweise z.B. für eine Pumpe/Stellantrieb gemacht wird, könnte so auch in größerem Maßstab funktionieren: Du packst mehr oder weniger den ganzen Inhalt (je) eines Deiner Bilder in einen Bildbaustein und machst dann nur noch für jede Maschine Instanzen, die mit den entsprechenden Strukturvariablen (UDT) verknüpft werden (so weit ich weiss funktioniert das in neueren Versionen von WinCC Advanced und Professional).
Auf dem PC gäbe es für jede der gleichen Maschinen Instanzen, auf dem Panel nur Instanzen für die zugehörige Maschine (oder alle, aber es lassen sich nur die "richtigen" Bilder aktivieren)

Voraussetzung sind eben geeignete Strukturen (UDT) in den Steuerungen.

("fundamental theorem of software engineering: add a level of indirection")

Gruss
pe


----------



## Milli2319 (17 November 2021)

poitouesel schrieb:


> Hallo
> 
> mit den UDT's und Bildbausteinen/Faceplates gibt es in WinCC Advanced ein Konzept zum gruppenweisen Zuweisen/Ersetzen von Variablenbezügen. Was üblicherweise z.B. für eine Pumpe/Stellantrieb gemacht wird, könnte so auch in größerem Maßstab funktionieren: Du packst mehr oder weniger den ganzen Inhalt (je) eines Deiner Bilder in einen Bildbaustein und machst dann nur noch für jede Maschine Instanzen, die mit den entsprechenden Strukturvariablen (UDT) verknüpft werden (so weit ich weiss funktioniert das in neueren Versionen von WinCC Advanced und Professional).
> Auf dem PC gäbe es für jede der gleichen Maschinen Instanzen, auf dem Panel nur Instanzen für die zugehörige Maschine (oder alle, aber es lassen sich nur die "richtigen" Bilder aktivieren)
> ...


Daran hab ich auch schon gedacht. Alles in UDT's zu packen würde ich zwar ungern machen (Dadurch entsteht eine höhere Verschachtelungstiefe als jetzt) aber damit könnte ich noch leben. Ich arbeite seit V14 nicht mehr mit Bildbausteinen, da ich damals gewisse Dinge nicht auf die Bausteinschnittstelle ziehen konnte (Bedienberechtigungen), und damit der Sinn von Bildbausteinen für mich nicht mehr gegeben war. Weiß jemand ob das mittlerweile (V17) geht?

LG


----------



## Milli2319 (18 November 2021)

Matze001 schrieb:


> Neuer Gedanke. Alles einmal am IPC programmieren und die Verbindung den Steuerungen umschalten?
> Dann hast Du es ja auch einfach.
> 
> Grüße
> ...


Ich muss zu meiner Schande gestehen, dass ich noch nie Verbindungen umgeschaltet habe, aber die Idee klingt prima. Die Frage aller Fragen: Wie macht man das?

Nach etwas Recherche hab ich das hier gefunden, scheint aber nicht so toll zu klappen?
https://www.sps-forum.de/threads/verbindungen-umschalten-zwischen-mehreren-cpus.101439/
https://support.industry.siemens.co...zwischen-panel-1500-und-mehren-s7-1500/188172

In welchem der zahlreichen Simatic-Handbücher würde ich hierzu was finden denkst du? 
Danke und LG


----------

