Ankündigung

Einklappen
Keine Ankündigung bisher.

MDT Modbus RTU485 Gateway - Grundverständnis

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    MDT Modbus RTU485 Gateway - Grundverständnis

    Alle bisherigen Versuche mit der Steuerung (siehe Anhang) zu kommunizieren schlagen fehl und das ganze Prinzip an sich mit den Registern, Prokoll-Adressen, BIT-Integer-Vergleicher usw. ist mir ein Rätsel, dazu die zigtausend Parametern vom Gateway. Diverse Recherche von Modbus-Grundlagen boten bisher keine Offenbarung.

    Das Diagnoseobjekt vom Gateway meldet auf den Bus E9 NO_ANS c1 also schonmal keine Antwort vom Slave.

    Die Basis-Bedingungen sind meines Erachtens gegeben. Master-Slave, Adresse, Datenrate usw., Verdrahtung

    Auf Seite 2, 1. Hinweis soll man alle 4 Sekunden diesen "Überwachungszähler" (Seite 35, ID 31) senden damit überhaupt Kommunikation möglich ist? Soll das etwas jetzt für immer alle 4 Sekunden als Bus-Telegramm raus? Dann kann ich ja die Bus-Aufzeichnung zu Diagnose-Zwecken in Zukunft aufgeben wenn die zu 95% nur noch mit diesem Telegramm gefüllt sein wird.

    Und wie soll ich das Gateway parametrieren? Fängt schon direkt bei den Modbus-Geräten an mit Register-Adresse und Byte-Reihenfolge. Woher soll man das alles wissen? Das einzige was ich weiß ist, dass z.B. "Holding Register" in der PDF, als Beispiel 40032, beim MDT Gateway Modbus-Registeradresse 4x0032 ist. Und was ist mit der Protokoll-Adresse? Und wieso Datentyp INT16? Auch beim allerersten Objekt in der PDF, ID 0.0, eine binäre Statusmeldung BOOL zwingt mich das Gateway als Modbus-Datentyp min. einen 1 Byte-Datentyp auszuwählen!?
    Angehängte Dateien

    #2
    Hallo,

    Manche Hersteller verwenden die Notation als "Protokoll Adresse" oder manchmal auch "Registernummer".

    Bei dieser Notation bedeutet eine 3 vor der eigentlichen Modbus Adresse z.b. dass es sich um Input Register handelt (Funktionscode 0x04) oder eine 4 für ein Holding Register. Bei der Schreibweise erfolgt die Adressierung dann mit der Basisadresse 1, dafür muss bei unserem Gateway dann "erste Adresse 1" ausgewählt werden
    Beispiel für die "Protokol Adresse" 40032 : Modbus Registeradresse 32 (Parameter "erste Adresse 1"), oder 31 (Parameter "erste Adresse 0")

    Die Fehlermeldung sieht erstmal nach falschen Schnittstellenparametern aus (keine Antwort vom Modbus Client), vielleicht checkst Du diese nochmal.

    Das Manual des SAM4.0 ist in dem Punkt mit dem Überwachungszähler nicht ganz eindeutig, vielleicht fragst Du dort im Support einmal nach und lässt Dir die Doku mal genau erklären


    Du könntest aber mal folgendes ausprobieren, es liest sich, als ob Du den Zähler auslesen musst und ihn prompt wieder zurück schicken (mindest-Zykluszeit ???).

    Das könntest Du mit 2 Kanälen lösen, einer liest (0x03 ) und senden zyklisch auf ein KNX Objekt. Ich würde es mal mit 10sec zyklisch senden probieren, evtl. ändert sich der Coutner ja auch in kurzen Abständen, dann könntest Du den Kanal bei Änderung senden lassen.

    Der andere Kanal sendet (0x06) und ist mit dem KNX Objekt vom anderen Kanal verknüpft. Sobald der andere Kanal das Objekt sendet, wird auch ein holding register write Kommando ausgelöst.

    Bitte dabei die Priorität hoch einstellen.

    Statusmeldung (allererstes Objekt im PDF) : Die Meldung steckt im 16 Modbus Holdingregister im Bit 0.
    Wenn Du in unserem Gateway den 1 Bit KNX Datenpunkttyp auswählst, kann Du Die Bitposition im Register auswählen - so hast Du die den Schaltstatus direkt auf dem KNX Bus.


    Beste Grüße aus Engelskirchen, Jörg




    Kommentar

    Lädt...
    X