OPC Kommunikation SPS<->PC

Anonymous
2007-10-11
2007-10-17
  • Anonymous - 2007-10-11

    Originally created by: S-12

    Hallo,

    ich habe die Suchfunktion schon ausgiebig genutzt, aber noch keine wirklich Hilfe gefunden.

    Es geht um das Thema OPC Server/Client für die Anzeige von Daten aus einer SPS auf einem PC.

    Je mehr ich mich mit dem Thema befasse, desto mehr Verständisprobleme scheinen sich aufzubauen.

    1. Wer ist Server und wer ist client?

    2. Wie muss die SPS aufgesetzt werden (genutzt wird die CoDeSys Entwicklungsumgebung)? Ich lese des öfteren das Wort Symboltabelle, welche die Variablen der SPS enthält. Wie jedoch werden die enthaltenene Informationen dem PC mitgeteilt?

    3. Wie erhalte ich die Daten auf dem PC (Programm welches auf der SPS liest oder Daten erhält und weitergeben kann an eine weitere Applikation)?

    Gruß

     
  • Rolf-Geisler - 2007-10-11

    Hallo,

    ich versuche es ganz kurz.

    Bei der OPC-Kommunikation ist der "Server" das Stück Software, welches die Verbindung zwischen dem PC und der SPS aufbaut und hält. Er läuft auf dem PC, wird vom Steuerungshersteller geliefert, manchmal sogar kostenfrei. Er braucht die sogenannte Symboltabelle, die CoDeSys (oder seine Verwandten wie TwinCAT, XSoft, IndraLogic ...) beim Download eines Projektes auf die SPS anlegen.

    Die Symboltabelle wird erzeugt, indem sie in den Projektoptionen über die Symbolkonfiguration eingeschaltet wird. Vorsicht: in der Grundeinstellung werden alle Variablen aller Bausteine in die Symboltabelle eingetragen, die kann dann sehr groß werden. Also erst mal alles ausschalten (die oberste Tickbox zuletzt), dann die Projektbereiche, deren Variablen der PC sehen soll, markieren, und danach die Tickboxen wieder setzen.

    Der Server muß wissen, wie er an die SPS herankommt. Am besten die Kommunikationsparameter des SPS-Entwicklungssystems verwenden, sollte klappen (mit Ausnahme IndraLogic, da läuft es etwas anders).

    Der Server tauscht die in der Symboltabelle stehenden Variablen zyklisch aus, er gleicht also seinen internen Speicher ständig mit der SPS ab.

    Wenn also die Symboltabelle sehr groß ist, hat er mächtig zu tun und das System wird ziemlich träge.

    Der Client ist das Stückchen Software, welches Daten vom Server abholt, z.B. eine Visualisierung. Kann auch etwas anderes sein, z.B. MS Excel. Der Client muß sich halt nur am Server anmelden und die Variablen, die er lesen bzw. schreiben will, dort anmelden. Danach ist zyklisches Lesen/Schreiben möglich.

    Soviel erst mal zum Einstieg. Hoffe, die Grundzusammenhänge werden klarer ...

    Viel Erfolg mit OPC. Ist echt eine feine Sache, weil die Schnittstelle zum Server völlig unabhängig ist von der angekoppelten Steuerung.

    Rolf

     
  • Anonymous - 2007-10-17

    Originally created by: S-12

    Hallo Rolf,

    danke für den kurzen Abriss. In der Zwischenzeit habe ich mir auch schon einiges zum Thema aneignen können. OPC ist wirklich eine feine Sache, zumal man Server meist kostenfrei bekommt.

    Problem sind wohl nur die Clients. Zwar gibt es viel zum Beobachten und auch Ändern der Variableninhalte, jedoch wird es schwer, wenn es um das übergeben der Daten zu bestehenden Applikationen (Visu) geht - bspw. Variablen zyklisch in Datei schreiben. Hier wird die Luft für kostenfreie Sachen sehr dünn..

    Aber Quellcodebeispiele für Clients gibt es ja auch.

    Gruß

     
  • Rolf-Geisler - 2007-10-17

    Ja ja, die Clients ...

    Muß man sich wahrscheinlich passend zur Visualisierung bauen. Ob es Freeware-Clients als DLL oder ActiveX-Elemente gibt, weiss ich nicht.

    http://www.opcconnect.com/delphi.php#client

    Sicher findest Du auf dem Internet die nötigen Basics für eine Eigenentwicklung.

    Was Visualisierungspakete wie Zenon u.ä. angeht, so kommunizieren diese meines Wissens ebenfalls über OPC. Sie bringen halt ihren Client gleich mit.

    Gruß Rolf

     

Log in to post a comment.