Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: Ethernet-Kommunikation mit 1 PC und 2 Steuerungen

  1. #1
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe eine Frage:
    Unsere Steuerungen (CPU 314C-2 DP) sind gelegentlich mit Ethernet Schnittstelle (CP343-1 LEAN) ausgestattet und werden dann vor Ort an einen Rechner des Kunden angeschlossen um von der jeweiligen Lagerverwaltungssoftware des Kunden gesteuert zu werden. Auf dem Kundenrechner ist keine Software von uns. Die Kommunikation läuft über AG_SEND / AG_RECV. Dabei ist der kundenseitige Rechner als TCP-Server konfiguriert und die SPS als TCP-Client.
    Jetzt haben wir zum ersten Mal den Fall, dass zwei unserer Steuerungen an den selben Rechner müssen.

    Meine Frage:
    Wie lässt sich der Datenaustausch am einfachsten so steuern, dass jede Steuerung gezielt die Daten bekommt, die für sie gedacht sind?
    Kann ich das einfach über verschiedene Ports (z.B. CPU1 über Port 2000, CPU2 über Port 2001) bewerkstelligen oder muss ich tatsächlich eine Kennung für jede Steuerung mitsenden und in der Steuerung auswerten lassen, ob das Paket für sie ist?

    Am Prinzip der Verbindung würde ich nur sehr ungerne etwas ändern (never change a running system), und leider kann ich die Kommunikation mit zwei CPUs auch nicht testen, da mir nur eine CP zum Testen zur Verfügung steht.
    Gruß
    Michael
    Zitieren Zitieren Ethernet-Kommunikation mit 1 PC und 2 Steuerungen  

  2. #2
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard

    Hallo,

    sollte eigentlich so sein:

    jede CPU hat eine einge IP Adresse, Port-Nummer kann bei beiden CPUs gleich sein.

    Der TCP-Master öffnet eine TCP Verbindung zur CPU.1/Portnummer und kommuniziert die Daten welche für die CPU.1 bestimmt sind. Das selbe macht der TCP-Master (also der PC) für die 2-te CPU und für noch mehr wenns sein muss.

    Auf der CPU kann - bis auf die IP Adresse - identische Software verwendet werden.

    bg
    bb

  3. #3
    Registriert seit
    19.06.2003
    Ort
    Im Staub ...
    Beiträge
    337
    Danke
    115
    Erhielt 26 Danke für 23 Beiträge

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    Hallo,

    ich habe eine Frage:
    Unsere Steuerungen (CPU 314C-2 DP) sind gelegentlich mit Ethernet Schnittstelle (CP343-1 LEAN) ausgestattet und werden dann vor Ort an einen Rechner des Kunden angeschlossen um von der jeweiligen Lagerverwaltungssoftware des Kunden gesteuert zu werden. Auf dem Kundenrechner ist keine Software von uns. Die Kommunikation läuft über AG_SEND / AG_RECV. Dabei ist der kundenseitige Rechner als TCP-Server konfiguriert und die SPS als TCP-Client.
    Jetzt haben wir zum ersten Mal den Fall, dass zwei unserer Steuerungen an den selben Rechner müssen.

    Meine Frage:
    Wie lässt sich der Datenaustausch am einfachsten so steuern, dass jede Steuerung gezielt die Daten bekommt, die für sie gedacht sind?
    Kann ich das einfach über verschiedene Ports (z.B. CPU1 über Port 2000, CPU2 über Port 2001) bewerkstelligen oder muss ich tatsächlich eine Kennung für jede Steuerung mitsenden und in der Steuerung auswerten lassen, ob das Paket für sie ist?

    Am Prinzip der Verbindung würde ich nur sehr ungerne etwas ändern (never change a running system), und leider kann ich die Kommunikation mit zwei CPUs auch nicht testen, da mir nur eine CP zum Testen zur Verfügung steht.
    Habe das Problem selbst noch nicht gehabt, stehe aber demnächst davor, da wir mehrere PtP Verbindungen (von verschiedenen CPU's) zu einem Leitrechner auf TCP umrüsten (SPS- und Rechner-Software von mir). Von daher hab ich mich zumindest schon mal gedanklich damit auseinander gesetzt.

    In erster Linie müsste da an der Lagerverwaltungssoftware (also auf Rechnerseite) was gemacht werden.

    Die Software muss ja entscheiden, an welche CPU (IP-Adresse) die Daten gesendet werden (wird ja sicher kein Broadcast rumgesendet). Ich würde das auf der Rechnerseite evtl. über mehrere Socketverbindungen zur jeweiligen IP und mit verschiedenen Ports lösen.

    Ist aber nur so ne Idee.

    Mal ne Gegenfrage ...
    Wie konfigurierst du den LEAN (muss ich wie gesagt demnächst selbst machen)?

  4. #4
    M-Ott ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    @bits'bytes
    Funktioniert das auch dann, wenn die CPUs als Clients fungieren?
    Dann habe ich ja den Verbindungsaufbau von den CPUs.
    Sendet der übergeordnete Rechner (der ja dann als Server fungiert) dann nicht undefiniert (also an keine bestimmte IP-Adresse)?
    Es bekäme doch dann jeder Teilnehmer, der am gleichen Port an diesem Server hängt, die gleichen Daten, oder irre ich mich?
    Geändert von M-Ott (25.10.2010 um 10:19 Uhr) Grund: Unklarheiten beseitigen
    Gruß
    Michael

  5. #5
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    Funktioniert das auch dann, wenn die CPUs als Clients fungieren?
    Dann habe ich ja den Verbindungsaufbau von den CPUs.
    Sendet der übergeordnete Rechner (der ja dann als Server fungiert) dann nicht undefiniert (also an keine bestimmte IP-Adresse)?
    Es bekäme doch dann jeder Teilnehmer, der am gleichen Port an diesem Server hängt, die gleichen Daten, oder irre ich mich?
    Der Verbindungsaufbau erfolgt normalerweise so dass ein Client auf eine bestimmte Portnummer am Server ein Verbindungsrequest einstellt. Aktzeptiert der Server die Verbindung wechselt er intern die Port-Nummer. Die "Anfrage" Portnummer ist somit wieder frei für weitere Anfragen.

    D.h. jede aktzeptierte Verbindung hat serverseitig ihre eigene Portnummer, welche aber vom Server zugewiesen wird und nicht von der CPU bestimmt wird.


    Wie das ganze mit AG..... aussieht kann ich leider nicht sagen, dass ist ganz allgemeine Info.

    bg
    bb

  6. Folgender Benutzer sagt Danke zu bits'bytes für den nützlichen Beitrag:

    M-Ott (25.10.2010)

  7. #6
    Registriert seit
    19.06.2003
    Ort
    Im Staub ...
    Beiträge
    337
    Danke
    115
    Erhielt 26 Danke für 23 Beiträge

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    @bits'bytes
    Funktioniert das auch dann, wenn die CPUs als Clients fungieren?
    Dann habe ich ja den Verbindungsaufbau von den CPUs.
    Sendet der übergeordnete Rechner (der ja dann als Server fungiert) dann nicht undefiniert (also an keine bestimmte IP-Adresse)?
    Es bekäme doch dann jeder Teilnehmer, der am gleichen Port an diesem Server hängt, die gleichen Daten, oder irre ich mich?
    Nö - das geht immer über die IP/Port. Nur ein Broadcast (Rundruf) geht an alle IP's im Netzwerk.

    An sich kann jeder an jeden senden. Du könntest bei deinem Aufbau auch von CPU1 an CPU2 senden und umgekehrt.

    EDIT:
    Das schöne an TCP ist ja, dass im Grunde alle gleichberechtigt sind. Jeder kann sozusagen (aus Sicht der Software) senden wann er will. TCP regelt auf unterster Ebene den Datenaustausch.
    Geändert von ssound1de (25.10.2010 um 10:25 Uhr)

  8. Folgender Benutzer sagt Danke zu ssound1de für den nützlichen Beitrag:

    M-Ott (25.10.2010)

  9. #7
    M-Ott ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    Ok. Ich bin nicht so tief in der Netzwerktechnik drin.
    Ich war schon damit zufrieden, dass ich die Schnittstelle testen konnte.

    Es ist also kein Problem für den Server, gezielt Daten via TCP an eine IP-Adresse zu senden, auch wenn mehrere Teilnehmer am gleichen Port Verbunden sind. Das heißt also, beide CPUs können am gleichen Port hängen (natürlich mit unterschiedlichen IP-Adressen).
    Gruß
    Michael

  10. #8
    M-Ott ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    @ssound
    Ich habe den CP in der HW-Konfig vernetzt, IP und Subnetzmaske eingegeben und die Adresse eingegeben (benötigst Du nachher wieder für den AG_SEND / AG_RECV). Bei IP-Konfiguration habe ich die die Auswahl auf "IP-Adresse im Dialog..." gelassen.
    Im NetPro habe ich einen "PG/PC" eingefügt, dann bei dem PC unter "Eigenschaften - Schnittstelle" mit "Neu - Industrial Ethernet" die Ethernet-Schnittstelle eingegeben (mit IP-Adresse) und anschließend vernetzt.
    Den Haken bei "MAC-Adresse..." habe ich weggenommen.
    Mit Klick auf die CPU die Verbindungstabelle öffnen. Mit Doppelklick auf eine leere Zeile der Verbindungstabelle kannst Du eine neue Verbindung einrichten. PC auswählen, TCP auswählen. Haken bei "Aktiver Verbindungsaufbau" stehen lassen, unter "Adressen" den Port einstellen und "OK".
    "Speichern und übersetzen" und "Übertragen".
    Fertig!
    Gruß
    Michael

  11. Folgender Benutzer sagt Danke zu M-Ott für den nützlichen Beitrag:

    ssound1de (25.10.2010)

  12. #9
    Registriert seit
    19.06.2003
    Ort
    Im Staub ...
    Beiträge
    337
    Danke
    115
    Erhielt 26 Danke für 23 Beiträge

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    Es ist also kein Problem für den Server, gezielt Daten via TCP an eine IP-Adresse zu senden, auch wenn mehrere Teilnehmer am gleichen Port Verbunden sind. Das heißt also, beide CPUs können am gleichen Port hängen (natürlich mit unterschiedlichen IP-Adressen).
    Ja.

    Ist das Netzwerk über Hub's verschaltet, bekommen zwar alle Teilnehmer die Daten, aber nur der mit der richtigen IP fühlt sich angesprochen. Alle anderen ignorieren/verwerfen die Daten.

    Ist das Netzwerk über Switches verschaltet, bekommt nur der Zielteilnehmer die Daten. Der Switch routet an den richtigen Teilnehmer.

  13. #10
    M-Ott ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @all
    Danke für die Hilfe!
    Gruß
    Michael

Ähnliche Themen

  1. Ethernet Kommunikation mit PC
    Von SIX im Forum Feldbusse
    Antworten: 3
    Letzter Beitrag: 21.07.2011, 19:03
  2. Ethernet kommunikation
    Von trappe2222 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.12.2010, 14:01
  3. ADS Kommunikation zwischen Beckhoff Steuerungen
    Von peraho im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 09.09.2009, 08:00
  4. Kommunikation via Ethernet auf MP
    Von Bioman im Forum Feldbusse
    Antworten: 3
    Letzter Beitrag: 11.08.2008, 10:03
  5. JetWeb-Steuerungen: Neben JetSync und Modbus-TCP jetzt auch mit EtherNet/IP
    Von whatisnesps im Forum Werbung und Produktneuheiten
    Antworten: 4
    Letzter Beitrag: 25.08.2006, 10:24

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •