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

Ergebnis 1 bis 7 von 7

Thema: Wago 750-841 Modbus TCP Master vs. HELIOS KWL

  1. #1
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich bin gerade dabei eine Wago 750-841 mit einer Helios KWL (KWL EC 300W R IGE4) via Modbus TCP zu verheiraten.
    Mit einem Testtool am PC habe ich die Modbuskommunikation am Laufen, und ich kann entsprechend der Anleitung von
    Helios (hier zu finden: https://www.heliosselect.de/cms/fron...17&artnr=04232 ) Daten austauschen.
    Abgesehen davon, dass ich das Prinzip etwas... nervig finde... funktioniert das.

    Wenn ich nun mit der Wago dran gehe, bekomme ich mit dem Bauteil MODBUS_ETHERNETMASTER_TCP die Fehlernummer 3 - Laut Doku 0x0003 – Illegal data value. Okay... now what? Damit kann ich leider wenig anfangen.

    Anbei Bilder von meinem Programmtest. Vielleicht hat jemand spontan eine Idee:

    Infos:

    IP der Helios KWL : 192.168.51.40
    Port: 502
    Slave ID 180
    Register 1 fortfolgend

    Sendedaten müssen etwa so aussehen:

    string: v00004null

    byte hex: 76 30 30 30 30 34 00
    byte dez: 118 48 48 48 48 52
    registers: 7630 3030 3034 0000


    Sowohl nur schreiben oder nur lesen habe ich probiert ... immer brav mit Fehler.
    Was ich leider nicht genau nachvollziehen kann, ist wo der Fehler her kommt und ob die Register auch wirklich so
    "zusammengesetzt" werden wie ich mir das vorstelle, oder ob ich da einen Denkfehler habe.

    Es wäre super wenn jemand eine Idee für mich hätte

    Grüße

    Marcel
    Angehängte Grafiken Angehängte Grafiken
    Stell Dir vor es geht, und keiner kriegts hin!
    Zitieren Zitieren Gelöst: Wago 750-841 Modbus TCP Master vs. HELIOS KWL  

  2. "@PN/DP
    Hab ich dann auch noch gesehen, nur ich wäre mir jetzt trotzt halbwegs passabler Kenntnis von Wago,
    nicht sicher ob vom Speicheralignment her bei einem Array of Byte, 2 Byte 1 Wort oder 2 Worte belegen.

    Imho geht das bei Codesys sogar soweit, das dass letzten Endes vom Prozessor im Zielsystem abhängt."


  3. #2
    Registriert seit
    03.01.2013
    Beiträge
    96
    Danke
    4
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hi!
    Modbus ist eigentlich ganz einfach. Modbus kennt eigentlich nur 2 Datentypen. Das ist ein Register (16 Bit) und Bool (1 Bit). Ob gelesen oder geschrieben wird bestimmt der s.g. Funktions-Code (z. Bsp 0x03 für ein Register lesen, 0x04 für ein Register lesesn/schreiben usw.). Vorsicht! Beim Funktions-Code muss man immer darauf achten, ob man in der Protokoll-Schicht arbeitet oder in der Applikations-Schicht. Bei den WAGO-Bausteinen arbeitet man meiner Meinung nach in der Applikationsschicht.

    Bei Deinem Bild fällt mir folgendes auf: Die Unit-ID 180 ist ungewöhnlich. Eigentlich ist der Slave mit der IP-Adresse schon eindeutig adressiert. Wenn trotzdem eine Unit-ID mitgeschickt wird (ist noch ein überbleibsel von Modbus RTU) ist das in der Regel die Unit-ID 1. Nur wenige Modbus TCP-Geräte werten wirklich die Unit-ID aus.
    Funktions-Code 0x17. Das ist ein s.g. Multiple Funktion. Du liest oder schreibst mehrere Register am Stück. Funktioniert das mit Deiner PC-Software? Welche Funktions-Codes verwendest Du dort? Wenn der Datenblock nicht konsistent ist (nicht alle Adressen vorhanden) den Du lesen/schreiben möchtest, geht der Multiple-Befehl schief!
    Ich würde zunächst mal probieren nur ein Register zu lesen/schreiben. Wenn das funktioniert, dann weiter heran tasten.
    Bohr mal das Timeout auf! 500 ms sind knapp. Ruhig 3 s eintragen.

    Gruß
    HMIman

  4. #3
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Naja, also was auf jeden Fall auffällt, im Word 0 der Sendedaten hast du "118" stehen, was aber auf gar keinen Fall nicht 16#7630 entspricht.

    Als FC wird im Handbuch FC3 sowie FC16 verwendet.
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  5. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.173
    Danke
    922
    Erhielt 3.288 Danke für 2.657 Beiträge

    Standard

    Sendedaten ist ein Byte-Array
    Dezimal: 118 48 48 48 ... = B#16#76 30 30 30 ... = W#16#7630 3030 ...

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #5
    Matze001 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Danke für die schnellen Antworten!

    Unit-ID 180 ist pflicht, mit ID 1 geht es mit der PC-Software auch nicht. Dazu steht etwas im Kapitel 1.3 der Doku (Angehängt).
    Bei der PC Software schreibe ich erst (16#10) und lese dann holding Register. Das Foto ist bei einem Test entstanden, das ganze habe ich bereits ausprobiert.

    Der Doku ist auch zu entnehmen, dass man in den Register 1 eine Anforderung schreibt, und dann die Register liest, und dort die Antwort eingefügt wird.

    Grüße

    Marcel
    Angehängte Dateien Angehängte Dateien
    Stell Dir vor es geht, und keiner kriegts hin!

  7. #6
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    @PN/DP
    Hab ich dann auch noch gesehen, nur ich wäre mir jetzt trotzt halbwegs passabler Kenntnis von Wago,
    nicht sicher ob vom Speicheralignment her bei einem Array of Byte, 2 Byte 1 Wort oder 2 Worte belegen.

    Imho geht das bei Codesys sogar soweit, das dass letzten Endes vom Prozessor im Zielsystem abhängt.
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  8. #7
    Matze001 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    11.12.2009
    Beiträge
    2.113
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bingo! Mit nem Array of Word und den passenden Werten tut es.

    Danke! Manchmal fehlt einem der letzte kleine Tick ...

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 01.09.2015, 22:36
  2. Antworten: 16
    Letzter Beitrag: 08.03.2014, 20:42
  3. pvbrowser Modbus Wago 750-841
    Von Langer89 im Forum HMI
    Antworten: 0
    Letzter Beitrag: 29.10.2013, 08:49
  4. Wago 750-841 und Modbus???
    Von McNugget im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 07.10.2009, 22:04
  5. Antworten: 2
    Letzter Beitrag: 21.07.2006, 07:10

Lesezeichen

Berechtigungen

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