2 Raspi mit Ethernet (vorzugsweise Profinet) miteinander verbinden

2017-04-04
2017-04-10
  • ColonelWastl - 2017-04-04

    Servus zusammen,

    ich habe mir bereits die Möglichkeit der ModBus Verbindung angeschaut. Nur leider ist mir das viel zu umständlich im ersten sinne.

    Mein Aufbau:
    2x Raspberry Pi mit Codesys Runtime

    Bei Siemens gibt es ja die Möglichkeit das sich ein iDevice erstelle. Dadurch wird dann ein "Gerät" mit I/O's erstellt welche ich in jede andere Siemens Steuerung einbinden kann.
    Gibt es sowas auch für Codesys V3?

    Wenn ja wäre meine Idee:

    Slave Gerät: E/A Bereich welcher hin und her geschubst werden soll festlegen
    Master Gerät: Diesen E/A Bereich einbinden und dann lesen bzw. beschalten.

    Meine Frage ist daher ob es so etwas ähnliches für Codesys gibt, oder ob eine Verbindung von 2 Geräten (es geht nur um wenige Bit's die ich hin und her senden will) vielleich noch einfacher realisiert werden kann.

    Danke

     
  • Anonymous - 2017-04-04

    Originally created by: PI-Beginner

    Hallo,
    andere Möglichkeit wäre über die "Netzwerkvariablen" die Daten auszutauschen.
    Das ist ganz gut in der Hilfe beschrieben.

    Gruß

    Jan

     
  • ColonelWastl - 2017-04-04

    Hallo Edwin,

    unter dem Link finde ich leider nichts. Was genau meinst du dort?
    Edit:
    Habe es gefunden. Ich war nicht eingeloggt.

    Alles klar. habe das Tutorial mal angeschaut und bei mir auch so aufgebaut.
    ps: Ich habe ein Raspi 1 und ein Raspi 3 welche ich miteinander verbinden will! (über die niedrigste Version der Geräte funktioniert das auch).
    Nur leider bekomme ich keinen Datenaustausch zusammen. Ich stelle mir das im Prinzip so vor dass ich einen Ausgang XY auf dem Slave schalte, und mir dieser als Pondon am Master angezeigt wird. Und umgekehrt. Nur leider hakt es hier irgendwo.

    Bzwl. der Netzwerkvariablen find ich nicht schlecht.
    Welche Hilfe genau meinst du?

    Gruß
    Sebastian

     
  • Anonymous - 2017-04-04

    Originally created by: PI-Beginner

    Hallo Sebastian,

    ich meinte die Online-Hilfe in Codesys

    Das ganze Funktioniert recht einfach und sehr zuverlässig.

    IMG: Netzwerkvariablen.GIF

     
  • ColonelWastl - 2017-04-04

    Hallo Jan,

    das mit den Netzwerkvariablen funktioniert super.
    Einfach pro Gerät eine Sende- und Empfangsliste anlegen (Vorzugsweise einfach ein array [0..15] of word, dann hat man auch reserve und schickt diese 32 Bytes dann einfach immer hin und her.

    Vielen DANK. Jetzt klappe das Garagentor öffnen auch übers Handy.

    ps: das Raspi über WLAN für Codesys einbinden usw. funktioniert tadellos. Habe das hier jetzt mal versucht. Super Sache.

    Gruß
    Sebastian

     
  • ColonelWastl - 2017-04-05

    Jetzt habe ich leider doch noch ein Problem.

    Die Daten von meinem Raspi 1 (altes Raspi) an mein Raspi 3 zu senden funktioniert tadelos.
    Wenn ich jetzt jedoch ein Netzwerkvariablenliste auf meinem Raspi 3 anlege, und diese an mein Raspi 1 schicken dann funkioniert das leider nicht.
    Die Bits kommen in diesem Fall leider nicht an.

    Noch zum Hintergrund:

    Version Raspi 1: 3.5.10.20
    Version Raspi 3: 3.5.10.20

    Kann es evtl. sein dass das an den Verisonen der Raspberrys liegt? Ich habe der Netzwerkliste auch eine neue Index ID gegeben. Ebenso hat die Liste vom Rapsi 3 einen anderen Port erhalten (1210). Leider alles ohne Erfolg.
    Die Daten vom "alten" aufs "neue" zu senden funktioniert einwandfrei über die Netzwerkvariablen. Nur leider funktioniert der umgekehrte Weg nicht.
    Hat hier jmd eine Idee? Kann es sein dass das Raspi1 irgendwie eine Firewall installiert hat? (nicht von mir).

    Gruß
    Sebastian

     
  • NetFritz - 2017-04-05

    Hallo
    Ich hatte ein ähnliches Problem mit Netzwerkvariablen.
    Bekam von Script die Fehlermeldung: "address already in use"
    http://forum-de.codesys.com/viewtopic.php?f=18&t=4787
    Gruß NetFritz

     
  • ColonelWastl - 2017-04-06

    Hallo NetFritz,

    ich werde mir das mit dem SharedMemory mal anschauen. Das Paket ist ja zum Glück kostenlos.
    Nur ärgerlich ist es trotzdem. Weil was bringen dann diese Netzwerkvariablen wenn sie nicht "bidirektional" genutzt werden können.

    Ein einfacher Handshake zwischen 2 Geräten ist über diese Technik also nicht möglich.
    Ich habe auch wie du schon versucht die Ports zu ändern usw. Aber leider ohne jeden Erfolg. Das eine Gerät kann senden, das 2te jedoch nicht mehr.

    Sollte jmd noch eine Idee haben bzgl. der Netzwerkvariablen dann bitte hier notieren. Weil die Verwendung an sich ist ja kinderleicht.

    Gruß
    Sebastian

     
  • ColonelWastl - 2017-04-06

    Hallo Edwin,

    ich habe mal diesen Link probiert: http://forum.codesys.com/viewtopic.php? ... 450#p17703

    Nur leider kann ich beim 2ten Device keine Input/Output Module hinzufügen. Diese werden bei mir überhaupt nicht angeboten. Brauche ich hierzu noch ein Paket?
    Oder woran kann das jetzt wieder liegen?

    Gruß
    Sebastian

     
  • eschwellinger

    eschwellinger - 2017-04-07

    Hi,
    welchen Bus verwendest du nun Profinet?
    Der Link passt nicht genau.. so wie es aussieht.
    Grüße
    Edwin

     
  • ColonelWastl - 2017-04-10

    Hallo Edwin,

    ich verwende nun Ethernet/IP. Hier funktioniert das alles auch bidirektional.
    Habe nun die Input/Outputs aus dem Beispielprojekt rüberkopiert. Das funktioniert auch.

    Nur kann ich so keine hinzufügen bei mir. Habe die neueste Codesys Version installiert.

    Gruß
    Sebastian

     

Log in to post a comment.