Hallo Leute, Habe Probleme mit einer Kleinsteuerung, von der ich die Register auslesen will. Habe das Programm mal angehangen, an dem die aktuellen Werte angezeigt werden. Laut Beschreibung (Siehe Anhang. Upgraded ELC-18 Series) müsste folgende Register ausgelsen werden: AF1 müsste Register 3072 sein. Sollte 694 zurückliefern. -> Liefert gar nix zurück. B001 müsste Register 1536 sein. Sollte 694 zurückliefern. -> Liefert gar nix zurück. AI1 (Register 1024) und AQ1(Register 1280) liefern die richtigen Werte zurück. Kann mir da jemand auf die Sprünge helfen?
Das ding sieht irgendwie verdächtig aus wie eine Logo-Kopie...
Andreas Lang schrieb: > Das ding sieht irgendwie verdächtig aus wie eine Logo-Kopie... Na, dann ist das Problem ja gelöst.
Und, hast du eine Lösung gefunden? Stehe vor dem selben Problem :-(
Moin, da gab es bei Modbus doch mal diesen "historischen" Fehler, dass man von der Registeradresse 1 abziehen musste. Diesen Text habe ich in der Anleitung unserer Stromzähler gefunden: > For historical reasons, the starting address of > the register starts at 1, but the start address > in Modbus starts with 0. > This means that in the telegram as a starting > Modbus register address is the address minus 1. > Example: > Momentary system time (4200) will be send as > Modbus start address 4199. Vielleicht liegt es ja daran? Ist aber nur ein Schuß ins Blaue. Gruß, Sascha
Fast seit 8 Monate probier ich jetzt für 1 Stunde pro Tag herum. Ohne Erfolg :-( Softwarefehler sin dausgeschlossen, weil ich 3 verschiedene Tools verwende. Ausserdem kann ich die analogen Register ja auslesen.
Die verweisen leider immer auf die Anleitung, die ich oben angehangen habe. So nach dem Motto: Friss oder stirb
Ich weis. Aber es sind jetzt schon so viele Geräte im Einsatz, das ich das auch nicht ändern möchte. Daher meine (anscheinend vergebliche) Mühe :-(
Modl schrieb: > Softwarefehler sin dausgeschlossen, weil ich 3 verschiedene Tools > verwende. Was denn für Tools? > Ausserdem kann ich die analogen Register ja auslesen. Aha. Und wie? Hast Du mal mit einem Oszilloskop geschaut, wie es auf der Leitung aussieht und ob es zum Protokoll passt? https://de.wikipedia.org/wiki/Modbus#RTU-Modus Dirk
Ich kenne mich mit Bussen zwar nicht sonderlich gut aus, aber ich würde mal einen Logic Analyzer mit entsprechendem Dekoder dranhängen und mal beobachten, was da so gesendet wird. Scheinbar ist das Problem sehr tiefsitzend. Da führt wohl kein Weg daran vorbei, auch in den tiefen Schichten zu suchen.
:
Bearbeitet durch User
Hardwaretechnisches Problem ist auszuschliessen, weil die originale Herstellersoftware darauf zugreifen kann. Ich kann eben nicht alle Register auslesen (Siehe erster Forumseintrag).
Die Herstellersoftware kommuniziert doch wahrscheinlich über eine serielle Schnittstelle mit der Steuerung, oder? Warum nicht anstelle der Steuerung einen weiteren PC mit serieller Schnittstelle und einem darauf lauschenden Terminalprogram anhängen und anschließend mit der Herstellersoftware das besagte Problemregister versuchen auszulesen. Dann solltest du doch sehen welcher Funktionscode und welche Registeradresse genutzt wird.
Hallo, eventuell findest da Infos und weitere Hilfe. www.modbus.org Gruß Ronny
MH schrieb: > Warum nicht anstelle der Steuerung einen weiteren PC mit serieller > Schnittstelle und einem darauf lauschenden Terminalprogram anhängen und > anschließend mit der Herstellersoftware das besagte Problemregister > versuchen auszulesen. Da muß nicht unbedingt ein weiterer PC her. Das geht auch mit diversen Tools, die den COM-Port 'teilen' lassen, wie hier beschrieben: http://en.wikipedia.org/wiki/COM_port_redirector Hier ist z.B. der "com0com Null-modem emulator" bzw. "hub4com" für Windows verfügbar: http://sourceforge.net/projects/com0com/ Dann kann man mit weiteren Werkzeugen wie z.B. Wireshark zu Werke gehen und nachsehen, ob die Nachricht auch richtig gesendet wird. Mehr Werkzeuge sind auch hier aufgeführt: http://phreaklets.blogspot.de/2013/06/free-open-source-modbus-tools.html @Modl: Auf jeden Fall solltest du dir mal die Nachricht(en) in beiden Richtungen (Anfrage und Antwort) von Hand aufschreiben bzw. ausrechnen incl. CRC, Adressbits usw. damit du das im Protokoll nachprüfen kannst. Zur Übung auch mal ein paar Anfragen, die von deinen Geräten positiv beantwortet werden. Vielleicht gibt es dann doch einen Fehler in der Firmware deiner Geräte. Hast du auch mal versucht die Register der alten ELC-18 ohne "upgraded" auszulesen?
Habe leider keine "normale" zur Hand. Nur die Upgraded Version. Habe schon ein paar verschiedene Firmwares vom Hersteller probiert. Leider ohne Erfolg. Habe schon mit diversen Tools von Modbus.org herumgespielt. Es liegt sicher an einem Denkfehler meinerseits, wie die Register zu addressieren sind.
Nochmal die Frage: Wenn du doch eine Software hast, welche die besagten Register auslesen kann, warum monitorst du nicht einfach mit welchen Funktionscode und welche Registeradresse diese an die Steuerung schickt?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.