Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 9 von 9

Thema: WinCC (PCS7): C-Skript in Server-Client-Umgebung

  1. #1
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich muss in einem Multiprojekt, bestehend aus
    - 1 redundantes OS-Server-Paar
    - 2 OS-Clients
    - ca. 15 referenzierte Clients

    eine C-Funktion erstellen.

    Wo lege ich diese an?
    Im Serverprojekt oder in den beiden Clientprojekten oder bei allen Clients?
    Als Projektfunktion oder als Standardfunktion?
    Welche Aktionen sind nötig, damit das Skript an jedem Client funktioniert?

    hub.
    Zitieren Zitieren WinCC (PCS7): C-Skript in Server-Client-Umgebung  

  2. #2
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    was soll das Script denn machen? davon haengt ab, wo es ueberall laufen muss.

  3. #3
    hub ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard

    Es soll SFC-Informationen an einem Anwenderobjekt anzeigen.
    - aktuelle Kette
    - aktueller Schritt
    - inkl. Farbumschlag in Abhängigkeit vom SFC-Status
    - ...

  4. #4
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    naja auf jeden Fall im serverprojekt. bei den referenzierten Clients legst Du nix an, geht ja auch garnicht, sie werden ja mit dem referenzclientprojekt geladen. ob das Script auch auf den zwei referenzclients liegen muss, haengt jetzt davon ab, wie Du das ganze im Details umsetzt, ich denke aber es sollte nicht noetig sein.
    Gruss.

  5. Folgender Benutzer sagt Danke zu ducati für den nützlichen Beitrag:

    hub (30.01.2014)

  6. #5
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    ps, manchmal ist es evtl. auch komfortabler, die Scripte ins AnwenderObjekt zu legen und fertig. dann steckt alles an einer Stelle und man muss sich nicht noch um irgendwelche Scripte die sonstwo liegen kuemmern. aber sicherlich ansichtssache...

  7. #6
    hub ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard

    Das Script wird öfters im Projekt benötigt und ist nicht gerade klein.
    Deswegen will ich auf jeden Fall eine Funktion erstellen.

    Wenn ich die Funktion im Serverprojekt erstelle, wird sie wahrscheinlich auch nur auf die Server übertragen.
    Finden die Clients dann auch die Funktion?

    Bei Variablen kann ich ja mit einem Serverpräfix arbeiten.
    Gibt es sowas auch bei Funktionen?

  8. #7
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    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ß.

  9. Folgender Benutzer sagt Danke zu ducati für den nützlichen Beitrag:

    hub (30.01.2014)

  10. #8
    hub ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard

    Hallo,

    danke für die ausführlichen Erklärungen.

    Als Projektfunktion ablegen: ist jetzt klar

    Die Client-Projekte haben keine eigenen Anlagenbilder (nur Systembilder von PCS7).
    Die Anlagenbilder liegen alle im Serverprojekt.
    Das heißt, auch die Funktion wird von einem Bild gestartet, das auf dem Server liegt.
    Ob es jetzt genügt, nur die Server zu laden, werd ich wohl austesten müssen.

    Das Ergebnis werde ich dann noch posten.
    Nächste oder übernachste Woche.

    hub.

  11. #9
    hub ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.01.2009
    Beiträge
    190
    Danke
    32
    Erhielt 15 Danke für 14 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    nach ein paar Versuchen bin ich auf folgendem Stand:

    OS-Server:
    Da am Server keine Bilder angezeigt werden, benötigt der Server das Skript eigentlich nicht.

    OS-Clients:
    Die beiden Clients zeigen zwar die Bilder, die auf dem Server liegen an,
    aber das Skript wird anscheinend direkt beim Client gesucht.

    Projektierung mit ES:
    Da die Bilder im Serverprojekt liegen kann das Skript nur aufgerufen werden, wenn es im Serverprojekt vorhanden ist (Projektfunktion) oder wenn es auf der ES als Standardfunktion vorhanden ist.
    Standardfunktionen werden aber beim Laden nicht übertragen.
    Damit beim Laden das Skript auf die Clients übertragen wird, muss es auch in den beiden Clientprojekten vorhanden sein.

    Somit muss ich das Skript in der Projektierung aktuell an 3 Stellen anlegen.
    Demnächst an 4 Stellen, weil ein weiteres Clientprojekt dazukommt.

    Erscheint mir doch recht aufwendig und umständlich.
    Gibt es da keine einfachere Möglichkeit?

    Ich stelle mir da eine Lösung wie bei den Bildern vor.
    Alle Bilder liegen nur auf dem Server. Trotzdem können alle Clients die Bilder anzeigen.
    Wenn die Clients ein Skript vom Server verwenden könnten, müsste das Skript auch nur am Server vorhanden sein.

Ähnliche Themen

  1. WinCC Client auf PCS7 Projekt
    Von Farinin im Forum HMI
    Antworten: 4
    Letzter Beitrag: 24.10.2013, 08:43
  2. Antworten: 3
    Letzter Beitrag: 14.11.2012, 12:26
  3. PCS7 6.0 Client findet Server nicht
    Von vladi im Forum HMI
    Antworten: 3
    Letzter Beitrag: 01.09.2010, 07:58
  4. WinCC 6.2 Server/Client Bedienung nur Client
    Von Jens Qualmann im Forum HMI
    Antworten: 2
    Letzter Beitrag: 22.08.2008, 19:06
  5. WinCC V6 Client server
    Von ottopaul im Forum HMI
    Antworten: 1
    Letzter Beitrag: 10.04.2007, 14:13

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •