Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
17.07.2010, 07:57 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2010 08:06 von Matze.)
Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
Hallo zusammen,
ich beschäftige mich gerade damit, zu untersuchen, wie ich möglichst einfach mit einer S7-300 kommunizieren kann. Es gibt einige Lösungen über MPI oder OPC-Server, die ich nicht verwenden möchte.
Gelegentlich wird im Internet gefragt, wie das direkt per Ethernet funktioniert, ohne OPC. Die Antworten dazu helfen mir nicht weiter. Manche schrieben, dass es geht, doch wie genau, ist nirgendwo zu finden.
Hier im Forum gibt es so viele LabVIEW-Experten und ich hoffe, dass hier jemand sowas schon gemacht hat bzw. erfolgreich einsetzt.
Wie kann ich denn mit cRIO über Ethernet (oder meinetwegen auch Profibus) mit einer S7 kommunizieren? Ethernet wäre uns lieber.
Gibt es irgendwo Beispiele?
Was ich bisher gefunden habe war eine kurze Einführung mit dem Comsoft Profibus-Modul.
Bei den Spezifikationen des PB-Slave-Moduls steht nur etwas von FPGA, doch mir genügt das cRIO als Standalone-System (falls das etwas anderes ist). Auf die Prozessorebene muss ich nicht direkt zugreifen können.
Da die S7 sehr verbreitet ist, hoffe ich auf brauchbare Antworten und im Idealfall auf Beispiele aus der Praxis.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
Ich weiß nicht, ob es für den cRIO die Datasocket-Funktionen gibt, aber ich habe hier mal ein Bsp. hochgeladen, wie ich mit einer SPS per OPC kommuniziere.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
Das hört sich nicht so eindeutig an:
' schrieb:Ethernet wäre uns lieber.
Da könnte man noch ein "aber OPC geht im Notfall auch" dahinter setzen.
Nichtsdestotrotz kann ich Euch in dem Fall dann leider nicht weiterhelfen. Sorry.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
wenn du mit dem cRIO arbeitest musst du auch immer - zumindest ein sehr kleines - FPPGA-VI schreiben, da der cRIO Controller über den FPGA in der Backplane des Chassis auf die einzelnen Module zugreift. Ich hab mir die Beschreibung mal kurz angeschaut und da sollte eigentlich alles drin sein, was du brauchst
das cRIO (Kombination aus RT-Controller und FPGA) kannst du in jedem Fall als Stand-Alone Gerät laufen lassen, stell dir im Zweifel den FPGA einfach als Co-Prozessor vor, auf dem du die Funktionalität der Eingänge / Ausgänge programmierst ...
Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
Hallo,
und kann ich mit der dort integrierten Ethernet-Shcnittstelle irgendwie direkt mit einer S7 kommunizieren? Also Netzwerkkabel einstecken und dann eine verbindung herstellen ohne OPC?
Wenn ja, hat mir hier jemand von euch ein simples Beispiel, wie ich Daten senden und empfangen kann?
Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
' schrieb:Es gibt einige Lösungen über MPI oder OPC-Server, die ich nicht verwenden möchte.
Ich lieber auch nicht. Zum langsamen hin und her Schieben von Bits geht das aber.
Zitat:Gelegentlich wird im Internet gefragt, wie das direkt per Ethernet funktioniert, ohne OPC. Die Antworten dazu helfen mir nicht weiter. Manche schrieben, dass es geht, doch wie genau, ist nirgendwo zu finden.
Zuerst musst du wissen, wer Client und wer Server ist, wie die IP-Adresse und der (Eintritts-)Port ist. Dann werden einfach, natürlich nach CreateRef, Strings hin und her geschickt. Wie du zu dem String kommst bzw. ihn auswerten musst, steht auf einem anderen Blatt.
Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
Hallo,
da ist ja einer, der sich auskennt.
Kurz zum Profibus von Comsoft: Wenn ich das richtig verstanden habe, benötige ich dafür das FPGA-Toolkit. Und das nur, um Profibus einrichten zu können ist suboptimal.
Nun aber zum Ethernet:
Die S7 wird der Server sein, cRIO der Client. Gibt's da irgendwo ein Beispiel-VI, wie das genau funktioniert mit der Kommunikation oder hast du da etwas bei dir herum liegen?
Müssen dann beide Systeme über Ethernet verbunden werden und mehr ist nicht nötig?
Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
' schrieb:Kurz zum Profibus von Comsoft: Wenn ich das richtig verstanden habe, benötige ich dafür das FPGA-Toolkit. Und das nur, um Profibus einrichten zu können ist suboptimal.
Mit cRio etc. kenn ich mich nicht aus. Wir machen alles in PCI.
Bei "Profibus von Comsoft" brauchst du nicht zwangsläufig ein FPGA - sondern die Steckkarte von ComSoft. Allerdings ob es die für CRio gibt bezweifle ich mal. Der obige Link gesagt aber, dass eine Profibuskarte für cRio 1k€ kostet. Somit fällt diese Lösung wohl weg.
Zitat:Die S7 wird der Server sein, cRIO der Client. Gibt's da irgendwo ein Beispiel-VI, wie das genau funktioniert mit der Kommunikation oder hast du da etwas bei dir herum liegen?
Ich hab kein verfügbares Muster. Und ob bei cRio wieder besondere Sachen zu beachten sind, weis ich wieder nicht.
Zitat:Müssen dann beide Systeme über Ethernet verbunden werden und mehr ist nicht nötig?
Es ist fast so einfach (zumindest unter Windows): Kabel stecken - und fertig.
Kuck mal in der Hilfe. Die müsste ausreichend sein. Guckst du auch Bild.
Das Problem ist halt: Wie lange warten, bis sich der Server meldet? Was tun, wenn er sich nicht meldet? Was tun, wenn die Verbindung abreißt? Reicht alleine Ethernet, also TCP/IP, oder bedarf es eines höheren Protokolles (eben wie Profibus, Master-Slave etc), um mit der SPS zu kommunizieren? Wenn die SPS für ihr Ethernet einen Transferpuffer zur Verfügung stellt, sollte das alleine mit TCP/IP gehen. (Dann kann/muss das SPS die für den PC relevanten Daten in diesen Puffer schreiben, der dann vom TCP/IP-Modul in Form eines Streams übertragen wird - und umgekehrt).
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Kommunikation zwischen cRIO und S7 über Profibus/Ethernet
' schrieb:Bei "Profibus von Comsoft" brauchst du nicht zwangsläufig ein FPGA - sondern die Steckkarte von ComSoft. Allerdings ob es die für CRio gibt bezweifle ich mal. Der obige Link gesagt aber, dass eine Profibuskarte für cRio 1k€ kostet. Somit fällt diese Lösung wohl weg.
Das müsste man preislich mal durchrechnen. Allerdings steht dort "Operating System/Target: FPGA" und es werden VIs mitgeliefert, die für das FPGA sind. Das FPGA-Modul für LabVIEW kostet 2600$, wenn ich das richtig sehe. Und das, nur um Profibus verwenden zu können ist heftig.
Wenn ich es richtig verstanden habe, gibt es als Standalone-Geräte neben dem großen PXI/PCI-Gerät das cRIO. Und das cRIO beinhaltet immer das FPGA, nur muss man das nicht immer programmieren, sondern kann das cRIO auch ohne selbst programmiertes FPGA betreiben. Bei der Profibus-Lösung wäre die Programmierung des FPGA jedoch erforderlich.
Ich dachte erst, es gibt das cRIO ohne FPGA und ein separates Gerät mit FPGA, doch dem ist wohl nicht so.
' schrieb:Es ist fast so einfach (zumindest unter Windows): Kabel stecken - und fertig.
Ja, unter Windows. Aber Windows wäre bei einem Standalone-Gerät nicht vorhanden.
' schrieb:Kuck mal in der Hilfe. Die müsste ausreichend sein. Guckst du auch Bild.
Das sieht zunächst relativ simpel aus.
' schrieb:Das Problem ist halt: Wie lange warten, bis sich der Server meldet? Was tun, wenn er sich nicht meldet? Was tun, wenn die Verbindung abreißt? Reicht alleine Ethernet, also TCP/IP, oder bedarf es eines höheren Protokolles (eben wie Profibus, Master-Slave etc), um mit der SPS zu kommunizieren? Wenn die SPS für ihr Ethernet einen Transferpuffer zur Verfügung stellt, sollte das alleine mit TCP/IP gehen. (Dann kann/muss das SPS die für den PC relevanten Daten in diesen Puffer schreiben, der dann vom TCP/IP-Modul in Form eines Streams übertragen wird - und umgekehrt).
Diese Problematik hätte man bei Profibus nicht?
Ich muss mich informieren, ob die SPS einen Puffer hat, aber das wäre eine allg. Ethernet-Thematik, egal, welche Geräte ich verwende. Und dafür muss es eine Lösung geben.