# Beckhoff <==> S7



## mkersch (13 März 2017)

Hallo Forenmitglieder,
ich möchte mit einer Beckhoffsteuerung Daten von einer S7 lesen.
Die beiden Steuerungen sind mittels Ethernet
verbunden.

Welche Möglichkeiten habe ich ?

MFG
Mkersch


----------



## Guga (13 März 2017)

Na viele.

a) Modbus TCP. 
b) Falls du OPC-UA auf der Siemens nutzt könntest du Beckhoff-Seitig in der PLC einen OPC-UA Client nutzen der dir in den Siemens-Server schreibt. 
c) Nicht wirklich über Ethernet, aber doch häufig genutzt sind Profibus oder ProfiNet Slave-Klemmen (EL6631-0010 oder EL6731-0010) auf der Beckhoff-Seite die man über einen Master von der Siemens aus anspricht. Macht aber nur Sinn wenn du auf der Beckhoff-Seite schon EtherCAT nutzt bzw. entsprechend Profibus/ProfiNet auf Siemens-Seite.


Guga


----------



## PN/DP (13 März 2017)

Muß die Beckhoff das Daten-lesen ohne große Mithilfe der S7 können oder darf auch in der S7 programmiert werden?
Kann die Beckhoff ganz normale Standard-TCP-Verbindungen? Die aktuellen S7 können das.

Wegen Programmbeispielen: Welche Beckhoff- und welche S7-Steuerung willst Du verbinden?

Harald


----------



## Guga (13 März 2017)

@ *PN/DP: *TCP/IP können die Beckhoff-Kisten (auf Basis von TF6310...). 
Solange es sich um Daten und nicht um Streams (also quasi beliebige Zeichen) handelt bin ich persönlich jedoch ein Fan von "Feldbussen" da der Programmier-overhead kleiner ist.


----------



## mkersch (14 März 2017)

Danke für Eure Beiträge

Wir verwenden bereits viele Jahre Beckhoff Steuerungen. 

Jetzt müssen wir von Beckhoff aus auf eine Siemens S7 Anlage lesend zugreifen.

In der Siemens Anlage sind zwei S7 Steuerungen verbaut. Mit einen Classic OPC-DA auf einer HMI werden mittels  Ethernet, Daten von diesen beiden
S7 gelesen und geschrieben.

Ich gehe davon aus, dass dies mittels RFC1006 Protokoll passiert.

Bei Beckhoff gibt es ein Suplement  TF6610 welches dieses Protokoll unterstützt. In der Beschreibung steht, dass hier noch ein Adapter von IBH verwendet
werden muss, welcher anscheinend das  RFC1006 / auf die MPI Schnittstelle bringt. Leider haben meine Steuerungen keine MPI.

Gibt es ein Supplement mit dem ich direkt auf die Ethernet Schnittstelle der S7 zugreifen kann ?

Evtl könnte ich auch über die Profinet Schnittstelle kommunizieren, bei mir ist ein Profinet-RT Slave integriert. Leider weiß ich nicht wie groß hier die max. Datenblöck sein können. Außerdem kommuniziert Siemens zu vielen E/A Blöcken über PN. Meine zusätzlichen Daten könnten die E/A Kommunikation verlangsamen.

Wenn die beiden S7 Modbus implementiert hätten, wäre evtl. Modus noch eine Option.


Mfg.

mkersch


----------



## -ASDF- (16 März 2017)

mkersch schrieb:


> Gibt es ein Supplement mit dem ich direkt auf die Ethernet Schnittstelle der S7 zugreifen kann ?



TF6310.
Mit diesem Supplement realisiere ich immer den Datenaustausch zwischen Beckhoff und Siemens. Man braucht keine zusätzliche Hardware etc..


----------



## mkersch (16 März 2017)

Vielen Dank für die Info

Du verwendet das TF6310 Supplement.
Was ich gelesen habe kann dieses Supplement eine TCP/IP Server/Client
Verbindung aufbauen.
Ich möchte aber direkt auf S7 Datenbausteine bzw. Variablen von Beckhoff aus zugreifen.

Wie verwendet Du dieses Supplement ?

MFG

Mkersch


----------



## Thomas_v2.1 (16 März 2017)

Was sagst du denn zu meiner Antwort aus deinem anderen Thread? Oder sprichst du nicht mit jedem?


----------



## mkersch (16 März 2017)

Hallo Thomas_V2.1

Sorry, im Moment bin ich noch am sortieren.
Ich habe mir die OSCAT Lib angeschaut und es hört sich auch gut an.
Vielen Dank für Deine Hilfe und Unterstützung.

Grundsätzlich möchte ich ein Standard Supplement von Beckhoff einsetzen.
Gewährleistung usw.

Ich habe da an das Supplement TF6610 gedacht. Was ich gelesen habe kann ich hier nur mittels MPI / Profibus Schnittstelle kommunizieren. D.h. es muss hier noch ein Konverter von Ibh eingesetzen (Ethrnet zu MPI).
Da meine S7 keine MPI hat, möchte ich direkt die Ethernet Programmierschnittstelle der S7 verwenden.
Ich habe noch eine Anfrage bei Beckhoff am laufen um hier eine definitive Aussage geht / geht nicht zu bekommen.

MFG
Mkersch


----------



## -ASDF- (20 März 2017)

mkersch schrieb:


> Ich möchte aber direkt auf S7 Datenbausteine bzw. Variablen von Beckhoff aus zugreifen.
> 
> Wie verwendet Du dieses Supplement ?


Mit diesem Supplement kannst du direkt in Datenbausteine schreiben. 
Ich projektiere in der S7-CPU eine UDP-Verbindung und verwende die standard SEND/RECV Bausteine von SIEMENs.
Das Restliche wird in der Beckhoff projektiert (Netzwerksockel, Verbindungsaufbau etc..).

Oder hast du keinen Zugriff auf die S7 (Also darfst/kannst dort nichts an der Software ändern)?


----------



## Denyo (10 April 2017)

Hallo,

ich stehe vor der selben Problematik. Möchte von TwinCAT 3 aus auf eine S7-1200 zugreifen in der ein Baustein für die S7-Kommunikation (TS6610, korrekt?) für uns vorbereitet wurde.
Ich habe keinen Zugriff auf die Steuerung/Projektierung. Habe extra eine Lizenz für dieses Supplement gekauft.
Leider schlugen bisher alle Lese/- und Schreibversuche fehl. Ich kann zwar Verbinden, aber sobald ich versuche Daten auszulesen kommt der Fehlercode 16x00008004 (TCPADSERROR_NOTCONNECTED).
Der Beschreibung nach benötigt man die oben beschriebenen Adapter der Firma IBH. Die sehen aber so aus als wären die nur zum wandeln von Ethernet auf Profibus. Sind die zwingend erforderlich, auch wenn die Siemens SPS eine Profinet/Ethernet Schnittstelle hat?
Der Beckhoff Support ist leider die ganze Zeit besetzt. Hat jemand dieses Supplement schon einmal zum laufen gebracht? Ist der Threadstarter mit dem Problem weitergekommen?
Vielen Dank schon mal.

Gruß
Deniz


----------



## Thomas_v2.1 (10 April 2017)

Ich habe das selber noch nicht benutzt, aber wenn ich das richtig lese dann nutzt TS6610 die Send/Receive Schnittstelle bzw. Fetch/Write. In 300/400er oder auch in S5-Steuerungen ließ sich so eine Verbindung in NetPro parametrieren, d.h. da hat das Betriebssystem das unterstützt. Der Aufbau stammt aber noch aus S5-Zeiten.

Bei der S7-1200 gibt es das meines Wissens nach nicht mehr, wenn dann muss das Protokoll jemand in Software nachgestellt haben. Oder bei diesem Supplement werden Bausteine mitgeliefert. Da müsstest du uns ein paar Details aus dem Handbuch verraten, was da steht welche Einstellungen auf der S7-Seite vorzunehmen sind.


----------



## Denyo (10 April 2017)

Vielen Dank für die schnelle Antwort.<br>Die Schnittstelle der "fremden" S7-1200 wird auf die GET/PUT Bausteine von Siemens konfiguriert sein. Siemens nennt das wohl "S7 Kommunikation".<br>Aufgrund der Ähnlichkeit des Namens bin ich davon ausgegangen, dass das TS6610 genau das tut. War wohl ein Trugschluss.<br>Ich habe es jetzt mit einer anderen S7-1200 und dem GET Baustein probiert und es funktioniert problemlos. Schade, ich würde wirklich gerne mal wieder Beckhoff TwinCAT einsetzen.<br>Naja trotzdem Danke.<br><br>Viele Grüße<br>Deniz


----------



## Klussmann07 (21 Februar 2020)

Moin, 
wie würde eine Realisierung mit der Klemme EL 6731 funktionieren?

Ich hab die GSD Datei in meine Hardware integriert. 

Wenn ich über Step 7 - Zielsytem - Profibus - Profibus Teilnehmer diagnostizieren mir alle Teilnehmer im Bus anzeigen lasse. Taucht die Klemme EL 6731 auf. Mit Profibus-Adresse.
Aber gekoppelt an ein anderes Master System als meine anderen Teilnehmer von meinem projektierten S7 Netz.

Ich bekomme sie einfach nicht in meine Hardware Konfig mit eingebunden. Er findet sie einfach nicht. Aber sie ist ja da.... 

Vllt hat jemand ja eine Idee...


----------



## MasterOhh (21 Februar 2020)

Willst du eine Master-Master Kommunikation aufbauen? Auf der Siemens-Seite brauchst du dafür ein Kommunikationsmodul, mir war so, dass die Onboard PB Module auf den Siemens CPUs keine Master-Master Verbindungen können. Bei Beckhoff bin ich mir gar nicht so sicher ob das überhaupt geht.

Am besten du verwendest auf einer Seite einen Slave oder verwendest einen DP/DP Koppler der beide Profibusnetze miteinander verbindet ....


----------



## Klussmann07 (21 Februar 2020)

Also ja, es sind zwei verschiedene Bus-Systeme. Ich hatte den Zulieferer der Anlage gefragt ob es nötig wäre einen DP DP Koppler zu verwenden um eine Schnittstelle aufzubauen. 
Der meinte nönö, dafür ist die Beckhoff Klemme. 
Da ich nicht so Beckhoff bewandert bin hatte ích es so hingenommen. 

Danke für die Antwort


----------



## Guga (21 Februar 2020)

Bei Beckhoff gibt es zwei Varianten der Klemme
-  EL6731-0000:   Master Klemme
-  EL6731-0010:   Slave Klemme

Wenn bei der Bestellung der Zusatz nicht mit angegeben wird (also -0000 oder -0010) erhälst du automatisch die -0000er Version.
Bevor du also einen DP-DP-Koppler einsetzt schau was wirtschaftlicher ist.

Guga


----------



## Klussmann07 (25 Februar 2020)

finde den Fehler... Ich bin für alle Lösungen offen


----------



## JoopB (25 Februar 2020)

Sie habe der Slave Falsch Parametriert.  Ausgange Bei Beckhof sind Eingange Bei Siemens und Eingange Bei Beckhof sind Ausgange bei Siemens (Die In und Output musste in beide Steuerungen gespiegelt sind.


----------



## Tigerente1974 (25 Februar 2020)

Hallo.
Edit: Ich sehe gerade es handelt sich um einen Koppler. Beitrag gelöscht


----------



## JesperMP (25 Februar 2020)

Ich kenne den EL6731 nicht.
Werden die Busparameter auf den EL6731 konfiguriert, oder übernimmt es diese von den DP Master ?
Sind die Busparameter eventuell unterschiedlich ?


----------



## JesperMP (25 Februar 2020)

JoopB schrieb:


> Sie habe der Slave Falsch Parametriert.  Ausgange Bei Beckhof sind Eingange Bei Siemens und Eingange Bei Beckhof sind Ausgange bei Siemens (Die In und Output musste in beide Steuerungen gespiegelt sind.


Wie siehst du dass von die Bilder ?

@Klussmann07, kannst du den Konfiguration auf beide Seiten zeigen ? Busparameter und E/A.


----------



## MasterOhh (25 Februar 2020)

Ist die EL6731 nun ein Master oder ein Slave?
Wenn die EL6731 ein Master ist, dann wird die Kommunikation nicht funktionieren. Du brauchst dann entweder einen DP/DP Koppler oder du holst dir die Slave-Variante der EL6731 (-0010) und hängst diese an das Netzwerk der Siemens (Import der GSD-Datei). Dann kannst du auf beiden Seiten die Module konfigurieren für den Datenaustausch. Die Konfiguration muss auf beiden Seiten identisch sein.


----------



## JesperMP (25 Februar 2020)

MasterOhh schrieb:


> Nochmal, wenn die EL6731 ein Master ist, dann wird die Kommunikation nicht funktionieren.


in Bild 1 ist es ihm gelungen den EL6731 als Slave einzubinden.


----------



## Klussmann07 (25 Februar 2020)

Ja es ist die 0010 Karte. 
Leider kann ich die Parameter auf der Beckhoff Seite nicht ändern. 

Ich hab nur eine Excel Liste mit den EA Adressen und der Baudrate. Das passt alles soweit. 
Das Problem ist nun, dass ich nicht weiß wie rum ich die Ein - und Ausgänge spiegeln soll. Ich hab schon beide Varianten ausprobiert. Leider ohne Erfolg...


----------



## JesperMP (25 Februar 2020)

Kannst du uns bitte die Daten zeigen. 
E/A Konfiguration auf beide Seiten. 
Busparameter auf beide Seiten. Busparameter ist nicht nur Baudrate. Am wichtigsten ist TTR. Sind die Busparameter fest auf der EL6731 Seite, oder werden sie von DP Master übernommen ?
Es konnte sein, den TTR ist viel zu niedrig auf den EL6731. Dann funktioniert es wenn es den einzigste Slave am Bus ist, aber nicht wenn es andere Slaves gibt.


----------



## PN/DP (25 Februar 2020)

Die Profibus-Kommunikation mit der EL an sich funktioniert schon, der Slave wird vom Master erkannt. Der Master nimmt ihn nur nicht in den zyklischen Datenaustausch weil die vom Slave gemeldete E/A-Konfiguration nicht mit der im Master projektierten Konfig übereinstimmt.
Zeige uns Deine E/A-Konfiguration und die Konfig der Gegenseite bzw. laut deiner Liste.

Harald


----------



## Klussmann07 (25 Februar 2020)

Der Kopf der Excel-Liste



Das Ende der Liste. Hätte nicht alles reinbekommen. 

Theoretisch müsste ich 21 Byte für Ein und Ausgänge anlegen oder nicht? 
oder nur 64 BIT ?


----------



## Klussmann07 (25 Februar 2020)

Muss ich da etwas beachten ?


----------



## JesperMP (25 Februar 2020)

Die Excel listen sind nicht interessant.
Wie sieht es aus in den Beckhoff Konfiguration ?
Wie sieht es aus in den Siemens Konfiguration ?


----------



## JoopB (25 Februar 2020)

Ich habe die GSD runtergeladen und in Step7 installiert. Mit diese GSD kann man keine Bool Variable deklarieren. Ich wies nicht wie viel Byte oder Word Sie ubertragen muste, aber für die S7 siete ist das einfachste um einblock mit eventuel was Reserve für die INPUT zu deklarieren und ein block für die OUTPUT und diese mit SFC14 und  SFC15 Lesen und Schreiben . und die Read und Write daten in 2 Struct in eine DB zu Schreiben und Zu lesen (Wie Ihre Excel Liste in Die DB zu deklarieren) .
Wenn in S7 das Module angeschlossen und konfigurierend ist musste Sie in Twincat Bei Prozess Data Die Konfiguration laden. Ich habe mit Twincat nicht die kennis wie Sie Aus die große Blocken von I/O eine Bit abfragen musste. Man musste wahrscheinlich ein GVL anmachen


----------



## MasterOhh (25 Februar 2020)

Hier ist ein Beispiel, wie das bei uns aussieht mit den Modulen zum Datenaustausch.






Die Konfig für die Daten muss auf der Siemens Seite Identisch mit der Beckhoff Seite sein. Bei den anderen PB Einstellungen muss die Baudrate passen und die PB-Adresse. Ansonsten ändern wir eigentlich nichts.
Damit die Kommunikation klappt, muss die Beckhoff entweder im Free-Run sein (Config modus) oder die Ein- und Ausgänge müssen mit Variablen aus einem Task verknüpft sein, der im Run ist.


----------



## JoopB (25 Februar 2020)

@ Jesper,
Bei die Beckhof kan mann Nichts einstellen, Nur Bei die Reiter Process Data sind 2 Knöpfen mit "Load PDo info from device"und "Syn Unit Assignment"

Bei Siemen Kan man 244 Steckplatze  und die module list kan man modules ausWahlen van 1 bis 16 Byte Slave IN - Master OUT oder 1 bis 64 Word Slave IN Master OUT, und ach 1 bis 16 Byte  , 1 bis 64 Word Slave OUT - Master IN.
Bool sind nicht in die liste.


----------



## JesperMP (25 Februar 2020)

JoopB schrieb:


> Bei die Beckhof kan mann Nichts einstellen, Nur Bei die Reiter Process Data sind 2 Knöpfen mit "Load PDo info from device"und "Syn Unit Assignment"


Das erste Bild von MasterOhh sieht für mich aus als ob man den Anzahl E/A einstellen kann. Oder man wählt von einen Liste von vordefinierte Anzahl E/A.


----------



## MasterOhh (25 Februar 2020)

Rechtsklick auf die Box (bei mir Box1 (EL6731-0010) --> Neues Element hinzufügen --> Dieser Dialog erscheint :


Entsprechende Modul auswählen.

Es können beliebig viele Module eingefügt werden (bis max 240 Byte ?!?)

Gleiches auf der Siemens Steuerung machen.
Slave-Out Module bei Beckhoff müssen auf der S7 als Eingangsmodule eingefügt werden und (Andersherum analog)

Man kann in TwinCAT den Slave fertig Konfigurieren und diesen dann als GSD Datei exportieren. Die kann man dann fix und fertig in die S7 einlesen. Sind aber Extraschritte, die man nicht braucht, außer man will dir Konfig an andere weitergeben (mehrere Programmierer arbeiten an der Anlage  etc.)


----------



## Jono (19 August 2020)

Hi zusammen!
Ich schließe mich mal hier an, da ich vor einer ähnlichen Aufgabe stehe und überhaupt keine Ahnung von Beckhoff habe...
Ich bin noch in der Planungsphase einer Anlage die später mit der  kundenseitigen Beckhoff-Steuerung Daten austauschen muss und versuche  rauszufinden auf was ich achten muss. 
Wir nutzen eine 1510SP und Profinet für die Kommunikation. Unser Kunde  besorgt seinerseits eine EL6632 für die Kommunikation zu uns da er bislang noch keine Profinetverbindung hat.

Ein wichtiger Punkt ist noch, dass ich meine IP-Adressen nicht ändern kann.Daher hätte ich erstmal Grundsatzfragen zum Aufbau.
Ich habe in einem Tutorial gesehen, dass die Verbindung am einfachsten über I-Device realisert werden kann. Allerdings hat es sich dabei nicht um die EL6632 gehandelt. Funktioniert das mit der EL6632 auch? Dann müssten wir lediglich GSDML-Dateien austauschen und fertig oder?

Könnt ihr ein bisschen Licht ins Dunkel bringen? Bin für jede Hilfe Dankbar!


----------



## Guga (19 August 2020)

Ich kenne jetzt die Siemens-Welt nicht. Ein I-Device kann Master oder Slave sein.
Insofern sollte genau definiert sein ob die Beckhoff-Seite Master oder Slave sein wird (und entsprechend auch die Siemens Seite).
Die EL6632 ist ein IRT-Master. Da kann ich dir nur raten: Lass die Finger weg, die Konfiguration von IRT ist deutlich komplizierter als nur RT. Ob das Siemens I-Device auch als IRT-Slave arbeitet bezweifle ich ohne Vorwissen auch einfach mal.

Von der Beckhoff-seite wäre die korrekte HW (RT)
EL6631-0000  : ProfiNet Master
EL6631-0010  : ProfiNet Slave.

Zur IP-Adresse: Die Beckhoff-Geräte haben auf Ihrer HW einen eigenen Stack und die Adressen sind somit recht beliebig zu setzen bzw. werden gesetzt. Und die HW redet nur ProfiNet soweit ich mich erinnere. Das heisst also kein Routing von allgemeinen TCP/IP-Telegrammen auf den Beckhoff-IPC/Steuerung.

Guga


----------



## Jono (19 August 2020)

Ah ok. Das klingt ja schonmal gut. 
Danke für deine Antwort! Das hilft mir ein ganzes Stück weiter.

Korrigiert mich wenn ich falsch liege, aber as Vorgehen wäre dann folgendes:
Definieren welche Steuerung der Master/IO-Controller ist und dementsprechend die EL6631-010 oder EL6631-000 einsetzen.
Dann lege ich meine Datenbereiche an, exportiere die GSDML-Datei die er bei sich einliest, schickt mir wiederum seine Export-Datei und somit dürfte die Konfiguration schon stehen.

Das klingt schon fast zu einfach


----------



## ms_gp (19 August 2020)

Wenn dein Beckhoff PC eine freien ethernetport hat, dann kannst du den als Profinet device nutzen. Dann sparst zu dir die EL6631-0010.

PS: Wichtig beim taufen der beckhoff Profinet Devices über simatic Manager : keine Großbuchstaben im Namen verwenden.


----------

