Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

UDP-Verbindung mit gleichen Steuerungen von einer Zentrale

UweWinkler
2005-04-08
2006-10-30
  • UweWinkler - 2005-04-08

    Guten Tag zusammen,

    ich betreibe unter CodeSys-RTE ein zentrale SPS , die mit bis zu 4 gleichen untergeordneten Steuerungen unter CoDeSys kommunizieren soll.

    Die Kommunikation wird über UDP gemacht. Beim Betrieb mit einer untergeordneten Steuerung gibt es keine Probleme, die Kommunikation funktioniert in beiden Richtungen.

    Auf der zentralen SPS habe ich die Kommunikationsvariablen in zwei separaten Globalen Variablenlisten ( Sende und Empfangsvariablen) angelegt und parametriert.

    Um weitere untergeordnete SPSen anzusprechen, habe ich weitere globale Variablenlisten der gleichen Struktur angelegt und mit verschiedenen Netzwerkadressen versehen.

    Nun sollten meiner Ansicht nach die Daten in den verschiedenen Variablenlisten landen, was aber leider nicht funktioniert, die Daten landen wenn überhaupt immer nur in der ersten Liste.

    Wie kann ich eine solche Kommunikation sinnvoll aufbauen bzw. steuern.

    Die Verwendung von unterschiedlichen Ports verweigert CoDeSys, die Netzwerknamen haben anscheindend keinen Einfluss bzw. es ist immer nur ein Name zulässig.

    Ich bin für jeden Hinweis dankbar.

    mfG

    Uwe Winkler

     
  • Anonymous - 2005-05-03

    Originally created by: Michael K.

    Hi Uwe,

    ich arbeite mit Beckhoff. Das ist eine SPS, die auf Codesys aufbaut und mehr oder weniger wie Codesys ist.

    Ich sollte auch eine UDP Verbindung aufbauen.

    Es gibt aber kein Treiber für UDP/IP sondern nur einen (kostenplichtigen) für TCP/IP.

    Wie geht das mit Codesys?

     
  • Wolfgang Doll - 2005-05-04

    Einführung

    Netzwerkvariablen werden in Netzwerken aus CoDeSys progammierbaren

    Steuerungen zum Austausch von Informationen verwendet. Dieses Feature ist ein

    Zertifizierungskriterium für die CoDeSys Automation Alliance.

    Nach der Parametrierung wird die Kommunikation zwischen den Steuerungen völlig transparent von vorgefertigten Bibliotheken

    bewerkstelligt, so das sich der Programmierer nicht mehr darum

    kümmern muss.

    Wir gehen im Folgenden von fünf Steuerungen aus, die über Ethernet und das UDP Protokoll verbunden werden sollen. Es gibt eine Zentralsteuerung (Server) und vier unterlagerte Steuerunen (Clients).

    Dazu werden für jede Steuerung jeweils ein CoDeSys Projekt angelegt.

    Der Einstieg

    Über Zielsystemeinstellungen im Reiter "Allgemein" sind die Netzwerkvariablen für das Protokoll "UDP" zu aktivieren.

    Im Bibliotheksverwalter müssen folgende
    Bibliotheken eingetragen sein:

    Jede Nachricht, die von einer Steuerung empfangen oder gesendet
    werden soll muss in Form einer Globalen Variablen Liste aufgebaut
    werden.

    Diese Listen werden am Besten zuerst in Server.pro aufgebaut und wie folgt parametriert:

    Die Client Listen

    Jede Liste bekommt einen eindeutigen Namen und eine eindeutige ID

    Der Server empfängt die Client Listen. Deshalb ist diese auch entsprechend einzustellen. Die gelben Felder ändern sich von Client zu Client. Die blauen Felder sollten für alle Teilnehmer im Netz gleich sein. Es ist zu erkennen das es eine Fülle von anderen Möglichkeiten für die Einstellungen gibt. Für den praktischen Einsatz haben sich die hier gezeigten Einstellungen aber bewährt.

    In Server.pro sollten alle Listen vor dem kompilieren exportiert werden

    Die Server Liste

    Das Gegenstück zu den Client Listen stellt die Liste dar, die der Server an die unterlagerten Steuerungen schicken soll; die Server Liste.

    Wichtig ist, das wir auch hier auf die Eindeutigkeit der Namen und ID's achten

    Einstellungen in ClientX.pro

    In den Projekten für die unterlagerten Steuerungen ist jeweils eine Liste für den Client und den Server auf die gleiche Weise anzulegen wie im Projekt für die Hauptsteuerung. Es gibt aber nun wichtige Änderungen in der Handhabung.

    Die Kommunikation

    Alle Teilnehmer im Netzwerk sollten nun über sogenannte Broadcast-Nachrichten miteinander Informationen austauschen.

    Die Parameter für diese Kommunikation finden sich in einem Dialog,

    der nach dem Drücken des Buttons "Einstellungen..." angeboten wird.

    Aus Effizienzgründen kann es nun sinnvoll sein, die Broadcast-Adresse anzpassen.

    Wenn es nicht notwendig ist das die Clients die Daten untereinander

    austauschen müssen, so sollte für jede Liste, die das

    "Schreiben" Häcken aktiviert hat folgende

    Änderung durchgeführt werden.

    Statt der Broadcast-Adresse wird die IP-Adresse des Empfängers eingetragen

    Die Broadcast-Adresse von Empfangslisten soll den Standardwerten entsprechen

    Die Port Nummer soll nicht verändert werden

    IMG: Bild

    IMG: Bild

    IMG: Bild

    IMG: Bild

    IMG: Bild

    IMG: Bild

    NetVarTest.zip [421.32 KiB]

     
  • sps-ike - 2006-10-30

    Hallo,

    (Anfängerfrage!)

    funktioniert diese Lösung auch mit einer Wago 750-841 als Kopfstation(Server)

    Gruss

    R.

     

Log in to post a comment.