Sonstiges Mit Beckhoff SPS auf S7 - 400 Prozessdaten zugreifen

SPSler0815

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo geehrte Forenmitglieder,

ich möchte mit einer Beckhoff CX2030 Prozessdaten aus einer S7-400 auslesen. Leider habe ich aber kein Zugriff auf die S7-400 und kann keine Änderungen vornehmen.
Gibt es denn irgendwelche Möglichkeiten ohne Eingriff in die S7-400 auf die Adressbereiche durch TwinCAT zuzugreifen?
Danke für Eure Antworten.

Gruß
SPSler0815
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo SPSler0815,

selber gemacht habe ich das noch nicht, aber schon ein bisschen Erfahrung mit TwinCAT und SIMATIC, also hier mal meine Vorschläge. Nachdem du keinen Zugriff auf die S7 hast, bleibt vermutlich nur die Kommunikation über das S7 Protokoll (wie Blockmove vorschlägt) via PUT/GET - Beckhoff scheint dafür eine Kaufoption anzubieten:
https://www.beckhoff.de/default.asp?twincat/twincat_plc_s5s7_communication.htm

PUT/GET funktioniert eigentlich recht gut, weil du damit an alle Daten (Merker, DBs, Eingänge und Ausgänge kommst), aber nicht hochfrequent. Meiner Erfahrung nach musst du mit ca. 50ms pro Abfrage rechnen - wenn dir das reicht, ist das vermutlich die einfachste Lösung.

Falls du Zeit hast und gar kein Geld ausgeben willst, kannst du z.B.
http://snap7.sourceforge.net/ eine Lösung mit PUT/GET programmieren (ist sehr einfach, Aufwand ca. 1 Tag, du kannst es mit C++ oder C# machen) und diese auf der CX2030 installieren (dort läuft ja ein Windows, allerdings vermutlich "Compact/Embedded" - dann geht es nur theoretisch, weil Beckhoff kein Firmware Image liefert, welches du für die Entwicklung mit Visual Studio brauchen würdest - aber frag trotzdem mal an, vielleicht macht Beckhoff bei dir eine Ausnahme; wir haben es mal für die CX9202 (ARM v7 embedded versucht und hatten keinen Erfolg) - falls du die Möglichkeit hast, auf der CX2030 ein Windows 10 IoT zu deployen, dann geht es ganz einfach mit den Visual Studio Tools).

Du kannst also ein Windows Programm für die CX2030 entwicklen, was mit der S7 über die Snap7 Bibliothek spricht und auch die ADS Bibliothek von Beckhoff einbinden, so dass du via TwinCAT sehr einfach an diese Daten kommst: https://infosys.beckhoff.com/index.php?content=../content/1031/tc3_c/81064793405266699.html
(Klingt jetzt kompliziert, ist aber wirklich überschaubar - mit den Programmbeispielen kommst du da sehr weit).


Falls du doch die Möglichkeit bekommst, die S7 zu projektieren, kannst du dort beispielsweise die Beckhoff Profinet Klemme als PN I/O Device projektieren und dir die S7 Daten sogar zyklisch schicken lassen - die Klemme ist sehr günstig und du brauchst für TwinCAT dann keine AddOns mehr kaufen.

Falls eine zusätzliche Klemme nicht in Frage kommt, und du trotzdem die S7 projektieren darfst, kannst du die S7 veranlassen, dir UDP oder TCP Datenpakete schicken lassen (sog. T-Bausteine (TSEND, TUSEND) - ich finde TUSEND (UDP) einfacher, und man kann pro Sendeauftrag zyklisch bis zu 1472 Bytes bekommen) - dafür brauchst du aber bei der Beckhoff/TwinCAT aber das TCP/UDP Addon.

P.S. hast du diese Diskussion
https://www.sps-forum.de/simatic/52486-kommunikation-zwischen-einer-siemens-und-einer-beckhoff-steuerung.html schon gesehen? Dort steht viel Gutes, und am Ende wurde es via UDP gemacht (dafür musst du aber die S7 anfassen und die TUSEND Bausteine konfigurieren).

Also in Summe würde ich sagen, versuche das Beckhoff AddOn für die S7 Kommunikation falls es dir reicht, Daten mit niedriger Frequenz zu bekommen.

Viele Grüße, Jürgen
 
Ich habe vor Jahren mal ein paar Bausteine für den Zweck geschrieben die quasi ein Put/Get auf der Beckhoff-Seite umsetzen.
Basierend auf den Netzwerk-Funktionen aus der Oscat-Bibliothek, sollte das theoretisch sogar unabhängig von der Platform sein, solange die Oscat dafür die Netzwerk-Funktionen mitliefert.
Ich hatte das bei Oscat auch schon mal vorgestellt, es war aber kein Interesse da.

Bausteine und Doku kannst du dir hier herunterladen:
https://sites.google.com/site/thomasv2projekte/files/s7comm-lib
 
Zurück
Oben