Hmm, das Ganze ist in der Regel komplizierter, als man meinen möchte.
Bei Siemens gibt es 2 Arten von Client-Server-Systemen: Clients mit eigenem Projekt und Clients ohne eigenem Projekt. Leider ist es aber so, dass in den Siemens Dokus nicht durchgängig diese 2 Begrifflichkeiten verwendet werden, sondern je nach Arte und Alter der Doku Begriffe wie: Multiclient, Uniclient, Mehrplatzsysteme, Verteilte Systeme, "Clients mit Sicht auf einen Server" usw.
Du verwendest PCS7 und somit wie auch im Post 1 geschrieben, 2 Clients mit einem eigenen Projekt. Die 15 weiteren referenzierten Clients benutzen die Projekte der 2 Clients und werden mit einem davon geladen, sind also in dem Sinne auch Clients "mit eigenem Projekt". Sie benutzen also ein Clientprojekt und nicht das Serverprojekt!
So, jetzt folgt, was ich mir bisher zusammengereimt habe:
- Scripte, welche in Bildern liegen, werden aufgerufen, wenn der Server oder Client das Bild anzeigt, sind also im Bild gespeichert.
- globale Aktionen im Serverprojekt werden natürlich auf dem Server und dem redundaten Server ausgeführt, weiterhin auf Clients ohne eigenem Projekt.
- (lokale) Aktionen im Serverprojekt werden nur auf dem Server ausgeführt, (evtl. auch auf dem redundanten Server?) aber nicht auf den Clients
- globale Aktionen und (lokale) Aktionen auf dem Client-Projekt werden nur auf dem Client ausgeführt bzw. natürlich auf den referenzierten Clients wenn sie geladen wurden.
Wichtig ist natürlich aufzupassen, was das Script auf dem jeweiligen Rechner macht/machen soll.
So, jetzt zu den Funktionen: in der Doku zum Scripting ist ja gut beschrieben, wo die gespeichert werden, Standardfunktionen werden im WinCC-Installationsordner gespeichert und bei Neuinstallation überschrieben. Projektfunktionen werden im Projekt gespeichert und können somit durch Kopieren des Projektes auch wo anders hin übertragen/gesichert werden. Aus diesem Grunde würde ich Dir schon empfehlen, Projektfunktionen zu nutzen.
So, zu der Frage, ob die Projektfunktionen jetzt auch auf den 2 Clients liegen müssen: Wenn Du die Funktionen durch Aktionen am Client oder durch Bilder, welche nur auf dem Client liegen, ausführen willst, müssen die Projektfunktionen m.M. nach auch auf den 2 Clientprojekten liegen.
Wenn die Funktionen in Bildern des Serverprojektes verwendet werden bin ich mir nicht sicher, denke aber, das beim Übersetzen der Scripte, die Befehle aus den Funktionen mit in das Bild eingebaut werden. Und somit nicht im Clientprojekt liegen müssen. Aber das solltest Du bei Bedarf testen.
Ich hoffe, damit ist jetzt manches etwas klarer geworden.
Am Ende noch der Hinweis zu den Dingen mit einem @ oder @@ am Anfang. Damit wird die Standardvorgehen von WinCC ausgehebelt. Also z.B. müssen Bilder (und auch die Scripte in den Bildern) mit einem @ am Anfang nicht nur auf dem Server sondern auch auf dem Client liegen. Aber wenn Du damit zu tun hast, dann schreib ich dazu nochmal was.
Gruß.