Modbus TCP mit der MODBUSETHERNET_04.lib

Flo1987
2011-10-11
2011-10-12
  • Flo1987 - 2011-10-11

    Hallo zusammen,
    ich bin dabei eine Modbus TCP Verbindung zwischen einem UMG604 (programmierbares Messgerät) der Firma Janitza und einer WAGO SPS 750-841 aufzubauen aber habe noch so meine Probleme damit und vielleicht könnt ihr mir ja helfen.

    Ich benutze CoDeSys Version 2.3.

    Zuerst habe ich es mit "ETHERNET_TERMINAL_MODBUSSLAVE" Funktionsblock der "MODBUSETHERNET_04.lib" versucht.
    Allerdings habe ich ein Problem mit der Übertragung der Daten welche laut Dokumentation dem übergebene Array(256 Bytes) entsprechen sollten.
    Laut error von beiden Geräten ist eine funktionierende Verbindung vorhanden und ich erhalte auch Daten die allerdings nicht dem eigentlichen Array entsprechen.
    In den ersten beiden Wörtern steht 4099, im dritten 1 und danach nur noch nullen unabhängig vom Inhalt des Eingabearrays, welches ich eigentlich mit jeder Menge Werten gefüllt habe.
    Diese Werte erhalte ich sowohl auf der UMG604 als auch auf dem PC.

    Desweiteren habe ich es auch mit dem "ETHERNET_MODBUSMASTER_TCP" Funktionsblock probiert und hier erhalte ich einen Fehler der nicht dokumentiert ist.(32791)

    Die Konfiguration der Funktionsblöcke habe ich als Bilder angehängt.

    Mfg Flo

    IMG: Modbusslave.JPG

    IMG: Modbusmaster.JPG

     
  • WAGO - 2011-10-12

    Hallo Flo,

    die richtige Möglichkeit hängt in erster Linie davon ab, wie Du das UMG604 parametriert hast.

    1.) Ist es als Modbus/TCP-Master eingestellt, musst/kannst Du den ETHERNET_TERMINAL_MODBUSSLAVE-Baustein verwenden.
    2.) Ist das Gerät als Slave parametriert, muss die Steuerung als Master arbeiten; dann ist der Baustein ETHERNET_MODBUSMASTER_TCP zu verwenden.

    zu 1.): Der Baustein ist optional. Du kannst stattdessen auch in den Merkerbereich der Steuerung Deine Werte abholen, da diese bereits als Modbus-Slave auf Port 502 arbeitet. Willst Du dennoch den Baustein nutzen, musst Du einen anderen Port wählen oder den bereits geschalteten Port 502 über das Web Based Management der Steuerung abschalten.

    zu 2.): Wenn das UMG604 als Slave parametriert ist, müsste der Baustein so funktionieren.

    Ein Blick in unseren Anwendungshinweis zur Modbus-Kommunikation kann hier eventuell weiterhelfen: http://www.wago.com/wagoweb/documentation/app_note/a3000/a300003d.pdf

    Bei weiteren Fragen kannst Du uns auch gerne unter den unten genannten Adressdaten direkt kontaktieren.

     

Log in to post a comment.