Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kommunikation mit SPS / Daten schreiben wie WinCC (https://www.delphipraxis.net/103067-kommunikation-mit-sps-daten-schreiben-wie-wincc.html)

Phoenix 9. Nov 2007 13:22


Kommunikation mit SPS / Daten schreiben wie WinCC
 
Ich 'abe ein größeres Problem:

Es gibt ganz offenbar eine Schnittelle, die u.A. auch die Siemens-Software WinCC nutzt, um mit den Siemens-SPS'en zu kommunizieren.

Konkret geht es darum, bestimmte Daten zu lesen und zu manipulieren.
Der Ablauf der Kommunikation gestaltet sich in etwa so:

Man schreibt in einen bestimmten DB an bestimmte Speicherstellen bestimmte Daten.
Man schreibt, ob man lesen, Daten schreiben, oder Löschen will. Man gibt an, welche Speicherstelle in welchem DB dies betrifft. Die SPS reagiert dann darauf. Wenn man z.B. Daten lesen will, kopiert die SPS die Daten von der angegebenen Speicherstelle in einen definierten Bereich in eben diesem bestimmten DB. Von dort kann man sie dann lesen. Will man Daten schreiben schreibt man diese eben auch in diesen Bereich und die SPS kopiert die Daten von dort an die gewünscht Stelle.

Es gibt ganz sicher (ich habs schonmal gesehen) ein Dokument von Siemens, die diese Kommunikation beschreibt. Ich finde es jedoch nicht mehr. Mein Chef hat mir das zwar mal gezeigt, aber er selber hat es auch nicht mehr. Und die Siemens-Homepage ist eine absolute Katastrophe. Nix indiziert - man findet da überhaupt nichts :-(

Blöderweise soll ich diese Schnittstelle jetzt ansprechen - nur ohne einen Plan wie die aussieht gestaltet sich das etwas.. sagen wir mal schwierig.

Hat mir da jemand eine Idee? Perfekt wäre ein Link auf die entsprechende Doku...
Eine Delphi-Komponente darfs aber auch sein ;-)

wolfgang_SV 9. Nov 2007 17:03

Re: Kommunikation mit SPS / Daten schreiben wie WinCC
 
Ich hab sowas mal mit einem S7Data Control ActiveX-Steuerelement programmiert.
Die erforderliche OCX-Datei wurde von Siemens geliefert.

Warp 9. Nov 2007 18:48

Re: Kommunikation mit SPS / Daten schreiben wie WinCC
 
Wenn ich mich richtig erinnere gab es eine LIBNODAVE Bibliothek (Komponenten) für Delphi, die die Hauptarbeit mit den Protokollen übernimmt. Google mal danach.

Generell kann man mit folgenden Techniken an eine S5 oder S7 kommen:
  • Passender OPC-Server (z.b. WWW.INAT.DE), kostet im Allgemeinen auch Geld)
  • Oder die Siemens PRODAVE Tools (Kostet ...)

Siemens hat eine ganze Menge von Protokollen und Schnittstellen in den SPSn. Zuletzt bei S7 die MPI-Schnittstelle als Direktankopplung an eine S7 CPU.

Vielleicht auch mal bei diesem Forum nachschauen http://www.sps-forum.de oder auf http://www.Process-Informatik.de. Die bieten Software (Treiber/LIBs) für die Kommunikation zu S5 und S7, z.b. PC-MPI-S7-LINK Kommunikationssoftware PC<=>SIMATIC S7 300/400.

[EDIT]
Habe den Link zu LIBNODAVE gefunden: http://libnodave.sourceforge.net/index.php und noch einen evt. interessanten Beitrag im SPS-Forum http://www.sps-forum.de/archive/index.php/t-7676.html

Und noch was zu der Physik. Willst Du an die MPI-Schnittstelle einer S7-CPU benötigst Du noch eine spezielles Konverterkabel um an die serielle Schnittstelle des PCs zu verbinden oder eine MPI-Karte im PC. Auch das findest Du bei Process-Informatik. Ethernet geht natürlich auch - entsprechender Kommunikationsprozessor im S7-300/400 Rack vorausgesetzt.

Gruss

H. Hoffmann

Phoenix 9. Nov 2007 19:16

Re: Kommunikation mit SPS / Daten schreiben wie WinCC
 
Die Kommunikation selber wird mit den LUCA-Komponenten von Langner realisiert.
Mir geht es um Informationen zu dem DB, über den die Kommunikation läuft.

In welchem DB / in welche Speicherstellen spielt sich die Kommunikation von WinCC mit der SPS ab? Wo muss ich was hinschreiben? Wo kann ich die Antworten dann wieder auslesen?

Warp 9. Nov 2007 19:33

Re: Kommunikation mit SPS / Daten schreiben wie WinCC
 
Das ist natürlich eine andere Sache.

Wie die DBs belegt sind ist Sache des SPS-Programms (oder besser desjenigen, der die SPS-Software geschrieben hat). Im Normalfall wird bei WinCC ein vorgeschalteter OPC-Server genutzt, der die von WinCC benötigten Variablen an der SPS anmeldet und das Lesen/Schreiben regelt. WinCC kommuniziert dann mit dem OPC-Server. Dafür hat WinCC dann einen Variablenhaushalt wo definiert wird wie die Variable bspw. in WinCC heissen soll und wie sie auf dem OPC-Server heisst.
Normal werden die benötigten SPS-Variablen im Konfigurationstool des OPC-Server angelegt bzw. können dann per "Browse for Variables" aus der SPS geholt werden (wenn die Verbindung physikalisch konfiguriert ist und steht).

Aber nochmal zurück zu Kernproblem. Entweder Du holst Dir die realen SPS-Adressen (DB-Adressen) aus dem OPC-Server und/oder dem Variablenhaushalt von WinCC (wenn Du denn drankommst). Noch besser wäre es wenn Dir der Auftraggeber für den Du das machen sollst einen Ausdruck der DBs mit Referenzliste geben würde. Irgendwie musst Du ja eine Zuordnung bekommen was die Daten im DB bedeuten (DB10.DW120 = Vorlauftemperatur z.B.)sonst hast Du eigentlich schon ein Problem.

Gruss,

H. Hoffmann

Phoenix 9. Nov 2007 19:43

Re: Kommunikation mit SPS / Daten schreiben wie WinCC
 
Die Liste haben wir, die brauche ich ja auch zur Visualisierung. Problematisch ist nur das Schreiben - weil ich ja nicht einfach mal so irgendwelche Daten da reinbrezeln kann. Zumindest haben mir das die SPS-Programmierer gesagt. Ist aber egal - das darf ich eh nicht machen. Auftrag ist die WinCC-Schnittstelle zu implementieren.

In dem Dokument, was ich damals gelesen habe (und jetzt suche, weil es irgendwie verschollen ist) stand definitiv drin, dass es einen bestimmten fixen DB gibt, der eben diese Schnittstellen-Funktionalität bietet, und zwar an _Einheitlichen_ DB / Byte / Bit's.

So eine Liste wie Du gesagt hast ist Projektspezifisch - und das hiesse, dass ich jedesmal in der Anwendung wieder den Aufwand hätte, die Schnittstelle auf den gerade bei diesem Kunden verwendeten Stand anzupassen. Das kommt nicht in Frage.

Bei der Schnittstelle die in diesem Dokument beschrieben war ist das anders: Die Speicherstellen sind einheitlich. Ich brauche dann also nur noch sowieso für die Visu konfigurierten Daten zum entsprechenden Gerät und die jeweilige Funkton in die Schnittstelle reinschmeissen und gut ist.

Mir geht es nicht um Alternativen: Ich weiss, dass diese Schnittstelle existiert und habe den Auftrag, genau diese Schnittstelle zu implementieren. Ich hab nur keine Ahnung wie ich an die Schnittstellenspezifikation kommen soll da diese verschollen ist.

Warp 9. Nov 2007 19:59

Re: Kommunikation mit SPS / Daten schreiben wie WinCC
 
O.K. - Was ich Dir noch bieten kann sind die Kommunikationshandbücher (gibts fast für jede Siemens CPU; das zur 316er findest bspw. hier: http://support.automation.siemens.co...ew/de/25074289).

Wenn es sich nicht um solche Infos handelt hab ich keine Ahnung was Du noch meinst. Dann kann ich nur noch zu einer Supportanfrage an Siemens raten. Findest bspw. hier: https://support.automation.siemens.com/ (Support Request starten) oder im Siemens Forum posten: http://www.automation.siemens.com/WW...x?&Language=de

[Edit]
So eine Liste wie Du gesagt hast ist Projektspezifisch - und das hiesse, dass ich jedesmal in der Anwendung wieder den Aufwand hätte, die Schnittstelle auf den gerade bei diesem Kunden verwendeten Stand anzupassen. Das kommt nicht in Frage.

...das ist das was fast alle machen müssen wenn Sie mit einer Siemens SPS und einer VISU zu tun haben. Ändert sich unten was müssen Sie's auch oben ändern...wenn Du es anders schaffst - super!
[/Edit]

Gruss,

H. Hoffmann

wolfgang_SV 10. Nov 2007 11:38

Re: Kommunikation mit SPS / Daten schreiben wie WinCC
 
Auf dieser Seite wird das S7Data-ActiveX -Element
in seinen Funktionen beschrieben.

http://support.automation.siemens.co...9805&x=22&y=13

Dieses Element kann man in ein delphi-programm implementieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz