S7 Ethernet und TCP/IP-Kommunikation, Protokolldefinitionen, OP-Codes

flotti

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
ich suche eine Möglichkeit via Ethernet und TCP/IP Datenbausteine auf einer S7 (möglichst alle Derivate) zu lesen und zu schreiben.
Ich bin relativ neu in diesem Gebiet (Student...).
Bisher habe ich mit verschieden Lösungen experimentiert, dazu gehören Hardwareseitig: CP-Module von Siemens, NetLink-Adapter von Deltalogic.
Softwareseitig:
Libnodave, AG-Link, und S7Connector (Rothenbacher-GmbH).
Das ganze verlief bisher ganz zufriedenstellend aber ich habe das Gefühl die ganze Sache nicht richtig zu durchblicken bzw. einiges durcheinander zu bringen.

Meine Fragen? läuft die Kommunikation intern über ISO1006? Hat das war mit Send/Receive zu tun? Sind die Protokolle bzw. die OP-Codes offen gelegt, d.h kann man die irgendwo einsehen? Wenn die Protokolle nicht offengelegt sind, woher hat dann Firma Rothenbacher die Definitionen, insbesondere für den NetLink ?
 
Hi,
ich suche eine Möglichkeit via Ethernet und TCP/IP Datenbausteine auf einer S7 (möglichst alle Derivate) zu lesen und zu schreiben.
Ich bin relativ neu in diesem Gebiet (Student...).
Bisher habe ich mit verschieden Lösungen experimentiert, dazu gehören Hardwareseitig: CP-Module von Siemens, NetLink-Adapter von Deltalogic.
Softwareseitig:
Libnodave, AG-Link, und S7Connector (Rothenbacher-GmbH).
Das ganze verlief bisher ganz zufriedenstellend aber ich habe das Gefühl die ganze Sache nicht richtig zu durchblicken bzw. einiges durcheinander zu bringen.

Meine Fragen? läuft die Kommunikation intern über ISO1006? Hat das war mit Send/Receive zu tun? Sind die Protokolle bzw. die OP-Codes offen gelegt, d.h kann man die irgendwo einsehen? Wenn die Protokolle nicht offengelegt sind, woher hat dann Firma Rothenbacher die Definitionen, insbesondere für den NetLink ?

Hallo flotti,

hier sind Infos:

Welche Eigenschaften haben die Kommunikationsdienste bzw. Protokolle, die im Industrial Ethernet Netzwerk genutzt werden können?
 
S7-LAN ist komaptibel zum S7-TCP/IP-Protkoll.
Somit kann z.B. WinCC, OPC, unser IP-S7-LINK oder auch unser OPC-Manager oder ähnliches sofort auf eine S7, die kein TCP/IP hat zugreifen.
Parallel zur VISU kann natürlich auch programmiert werden (STEP 7 oder auch TIA-Portal).
Beim S7-LAN ist unser OPC-Server mit 100 Varaiablen frei dabei!

Zum S7-Protokoll:
Das Protokoll ist nicht offengelegt. Ich habe das selbst entschlüsselt. Schon zu einer Zeit, wo nur MPI oder ProfiBus möglich war.

Gruß A.Traeger
 
vielen dank für die info :)
ich hab aber noch mehr Fragen:
NetLink und CP-Module sprechen offensichtlich das selbe Protokoll, warum?
Der Generelle Aufbau ist: Ethernet => TCP/IP => ISOonTCP (RFC 1006) => S7-Protokoll, warum das ISO Protokoll?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich versuch's mal einfach zu erklären.
Das Ganze kommt von der Kommunikation auf reiner Ethernetbasis. Die Norm dazu ist eigentlich die ISO 8073.
Diese Norm regelt den Datenverkehr zwischen zwei Teilnehmern in einem Verbindungsorientiertem Protokoll (SSAP / DSAP, diverese Handshakes).
Das ISO 8073 wurde mit der RFC1006 ins TCP/IP eingebettet. Hier ein Link zur RFC1006-Norm.
Wenn dich das näher interessiert, kannst du auf meiner Seite mal die RFC1006-Lib laden. Da ist ein Demoprogramm dabei,
das kann man als Server oder Client betreiben. Damit lassen sich RFC1006-Verbindungen simulieren bzw. testen.
Die Simatic S7 verwendet eben dieses Protokoll.

Gruß A. Traeger
www.traeger.de
 
Was ist mit der libnodave http://libnodave.sourceforge.net/

Das Gesamte Thema ist recht komplex, weil Ethernet ist erst sehr spät in die Siemens Welt eingetreten.
:sad:
Bei weiten nicht alle Hardware Steuerungen haben/hatten Ethernet on board. Leider haben die Siemenser da erst sehr spät was mit gemacht.
Gruß
Euer Schatten
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Jochen
danke, das hat mir sehr weitergeholfen :cool:

mit der libnodave habe ich mich schon ausführlich beschäftigt, ich suche aber keine konkrete Implementierung, sondern Informationen für meine Hausarbeit ;)
 
Zuletzt bearbeitet:
hi, ich hätte da noch eine letzte Frage:
was haben die genannten Bibliotheken mit den Protokollen SEND/RECEIVE und PUT/GET zu tun ?
verwende sie eins dieser Protokolle oder nutzen sie ein völlig anderes?
 
hi, ich hätte da noch eine letzte Frage:
was haben die genannten Bibliotheken mit den Protokollen SEND/RECEIVE und PUT/GET zu tun ?
verwende sie eins dieser Protokolle oder nutzen sie ein völlig anderes?

PUT/GET sind Funktionsbausteine die man in der S7-SPS aufrufen kann. Diese verwenden auf OSI-Anwendungsebene (5-7) das Protokoll der S7-Kommunikation. Die darunterliegende Ebene wird durch die Verbindungsparametrierung in Netpro festgelegt (MPI, Profibus, Ethernet).
Weitere SPS-Bausteine die ebenfalls S7-Kommunikation verwendet sind BSEND/BRVC und USEND/URCV.

SEND/RECEIVE gibt es als Bausteine oder Protokoll direkt erstmal gar nicht. Es gibt beispielsweise AG_SEND/AG_RECV als SPS Funktionen, aber bei diesen wird das Protokoll über die Verbindungsparametrierung in Netpro festgelegt.

Weil es so viele Verbindungsmöglichkeiten gibt, hat Siemens ein paar Dokumente die sich nur damit befassen. Als Übersicht z.B. dieses hier:
http://support.automation.siemens.com/WW/view/de/20982954
 
Also verwenden AG-LINK libnodave und co. die PUT/GET Bausteine?
Sie nutzen das gleiche Protokoll (S7-Kommunikation), nicht die gleichen Bausteine. PUT/GET Bausteine gibt es nur in einer Siemens S7 SPS.

Bei der S7-Kommunikation gibt es Server und Client. Der Client stellt Anfragen an den Server, z.B. "Gib mir den Inhalt von MW100" oder "Schreibe 123 in MW200", der Server beantwortet die Anfrage (schickt Daten zurück) oder schreibt den angegebenen Wert in seinen Speicherbereich.

Eine S7 ist für S7-Kommunikation immer Server (ist quasi im Betriebssystem der SPS enthalten). Ein Client kann entweder eine weitere S7-SPS sein in der dann PUT (Daten in andere SPS schreiben) oder GET (Daten aus anderer SPS holen) aufgerufen werden müssen, oder eben eine PC-Anwendung die das Protokoll ebenfalls beherrscht, wie z.B. AG-Link oder libnodave.
 
Zurück
Oben