www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik µC über Ethernet mit SPS koppeln


Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

ich habe eine kleine S7-SPS vor mir liegen. Nun habe ich mir überlegt, 
ob es nicht möglich wäre, über ethernet einen µC anzuschließen, um von 
der SPS weit entfernte Steuersignale einzulesen und auszugeben. Ein LAN 
dafür wäre schon vorhanden.

Ich habe schon verschiedene Projekte mit einer Profibus-Anbindung 
gesehen, aber dafür müsste ich ja erst Leitungen ziehen. Und zudem kommt 
in der Industrie ja auch immer mehr Ethernet.

Der Controller sollte dann so ca. 8 Eingänge lesen und ca. 8 Ausgänge 
schalten können. Zudem noch 2 AD-Werte (8 oder 10 bit) einlesen können.

Kennt jemand dazu schon ein Projekt?

Danke
Matze

Autor: oldmax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Bei Pollin wird eine Platine angeboten, die über Ethernet angesprochen 
werden kann. Die Bestell-Nr. ist  810 073 und das Ding ist bezeichnet 
mit AVR-Net-IO. Vielleicht wär das was für dich. Es sind auch des 
öfteren Beiträge dazu hier eingestellt.
Gruß oldmax

Autor: Jens Martin (jens-martin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matze schrieb:
> ich habe eine kleine S7-SPS vor mir liegen. Nun habe ich mir überlegt,
> ob es nicht möglich wäre, über ethernet einen µC anzuschließen, um von
> der SPS weit entfernte Steuersignale einzulesen und auszugeben. Ein LAN
> dafür wäre schon vorhanden.

Der Standard hierfür nennt sich OPC-Server (Open Plc Communication). 
Wenn es für deine S7 einen gibt dann kannst du µC und SPS über diesen 
verheiraten. Es gibt auch eine Reihe von Free OPC Servern.

Autor: Thosch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achtung da werden einige begriffe vermischt: Ethernet ist der 
physikalische Layer und TCP/IP bzw Profinet ist das Protokoll!

Das Problem bei einer Siemens S7 und Ethernet ist doch wie auf das 
Abbild der Ein- Ausgänge vom Zyklusprogramm aus darauf zugegriffen 
werden kann.
Siemens verwendet dafür das Protokoll Profinet und nicht TCP/IP. 
Profinet läuft auch über Ethernet hat jedoch eine eigene 
Ethernetframekennung.
Wir haben gerade eine erfolgreiche Profinetankopplung mit Hilscher NETX 
von einem Mikrokontroller aus realisiert.

Das bei Pollin angebotene E-A Board läuft mit TCP/IP. Von einem PC aus 
ist das dann sehr einfach anzusteuern. Aber von einer S7 kann ich dafür 
m.W. keinen Treiber laden oder kennt da einer einen Weg?

OPC Server gibt es m.W. nur auf Windows und ev. Linux Betriebssystemen. 
Gibt es einen OPC Server den ich auf einem Mikrocontroller bzw C Source 
laufen lassen kann?

Autor: Jens Martin (jens-martin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thosch schrieb:
> Achtung da werden einige begriffe vermischt: Ethernet ist der
> physikalische Layer und TCP/IP bzw Profinet ist das Protokoll!
> Das Problem bei einer Siemens S7 und Ethernet ist doch wie auf das
> Abbild der Ein- Ausgänge vom Zyklusprogramm aus darauf zugegriffen
> werden kann.
> Siemens verwendet dafür das Protokoll Profinet und nicht TCP/IP.
> Profinet läuft auch über Ethernet hat jedoch eine eigene
> Ethernetframekennung.

Ehrlich gesagt hab ich keine Ahnung welches Protokoll Siemens da 
verwendet.
Es funktioniert aber über OPC wenn in der Siemens Kiste eine Ethernet 
Card steckt (was ja vermutlich beim TE der Fall ist)


> Wir haben gerade eine erfolgreiche Profinetankopplung mit Hilscher NETX
> von einem Mikrokontroller aus realisiert.

Das ist vermutlich Bridging (zumin. im OSI Layer) kein Gateway wie OPC 
(das dann in der Regel Bridge heißt weil es ein Gateway ist aber geiler 
klingt ;-).

>
> Das bei Pollin angebotene E-A Board läuft mit TCP/IP. Von einem PC aus
> ist das dann sehr einfach anzusteuern. Aber von einer S7 kann ich dafür
> m.W. keinen Treiber laden oder kennt da einer einen Weg?

Ein OPC Server ist ein Server im Netz. Der hat mit den beiden Geräten 
erstmal nichts zu tun. Auf welcher Maschine der läuft ist konzeptionell 
egal und von den vorhandenen Produkten abhängig.


>
> OPC Server gibt es m.W. nur auf Windows und ev. Linux Betriebssystemen.
> Gibt es einen OPC Server den ich auf einem Mikrocontroller bzw C Source
> laufen lassen kann?

vermutlich ja, ist aber egal ... s.o.

OPC Server haben wir schon selber geschrieben (i.d.R. wenn der 
Programmierer mit dem kommerziellen Kram die Nerven verloren hat ;-). 
Ging recht flott, sollte als kein Problem sein.

Autor: oldmax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Ich weiß, das es Kopplungen über Ethernet von S7 zu S7 gibt und ich 
meine, nicht OPC. Aber dazu müßte ich's mir in der Firma noch mal 
anschauen. Macht man ja nicht alle Tage.... Möglicherweise ist ein 
Controller dafür auch empfänglich.
Gruß oldmax

Autor: Oliver O. (axon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, ja, der Fred ist schon etwas älter ... aber ich bin gerade drüber 
gestolpert und möchte auch etwas dazu beitragen.

Also für die Kopplung SPS <-> MC via LAN finde ich die erste Antwort von 
oldmax als Lösung sehr gut. Ich selbst habe vor einigen Monaten eine 
S7-1212C via TCP mit einem AVR gekoppelt. Allerdings habe ich das Board 
von Ulrich Radig und als Firmware das Projekt Ethersex verwendet. Aber 
das Board von Pollin geht sicherlich auch (es gibt hier ja sogar diverse 
Anleitungen).

Zu OPC kann ich nur sagen, schlechte Idee. Außer du möchtest einen 
Rechner nebenbei laufen lassen und etwas programmieren, was .... nunja, 
muss einfach nicht sein. Es gibt zwar diverse Lösungen und auch DLLs, 
die man sich ergooglen kann, aber das ist unnötig.

Zu den unterstützten Protokollen kann ich nur sagen, schau in das 
Datenblatt der SPS. Auch eine S7 kann mehr als Profinet ... das 
Stichwort hier ist "open communication". Auch eine S7-SPS ist in der 
Lage einen Bytestream via TCP zu senden und zu empfangen. Wenn du eine 
S7 mit PN-Schnittstelle hast ist das schon mal eine gute Ausgangsbasis. 
Diese können in der Regel sogar TCP-Nachrichten unbekannter Länge 
empfangen. (Geht z.B. nicht mit jedem S7-CP)

Ich hatte das mit der S7-1212C damals wie folgt realisiert:
Board von Ulrich Radig -> ETH_M32_EX
Darauf habe ich dann eine selbst zusammengestellte Firmware mit Hilfe 
des Projektes Ethersex erstellt. Dabei habe ich die Option ECMD 
verwendet. Du hast dann eine Art Telnetserver auf dem AVR laufen. An 
diesem kannst du ganz einfach ASCII via TCP senden und auch wieder von 
diesem empfangen. Fertig ist die Kommunikation. Ok, ich habe etwas 
länger gebraucht ....

Autor: Joachim R. (bastelbaer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, schau dir mal die LIBNODAVE an. Ist eine Biliothek um mit Linux auf 
S7 zuzugreifen. Ich habs schon mit S7 und mit einer S5 95U zum Laufen 
gebracht. Verhält sich wie ein PG und man kann z.B. auf DBs in der SPS 
zugreifen. Bei der Lib ist der Quellcode dabei. Ober der sich auf einen 
AVR portieren lässt ware zu prüfen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.