Guten Morgen, gibt es eine Möglichkeit, Steuerbefehle für serielle Geräte selbst herauszufinden, wenn man keine Angaben vom Hersteller hat? Ich stand schon oft vor Geräten mit seriellen Schnittstellen, zu denen der Hersteller sich aber eher ruhig verhielt, was der Informationsaustausch betraf. Vielleicht kann man die Befehle auch durchprobieren!? Danke matthias
Es gibt keine "Befehle" auf der RS232 nur bytes. Du kannst aber natürlich den Kommunikations mitschneiden und versuchen dir daraus den für das Gerät verwendeten Befehlssatz/Protokoll zu "erschnüffeln".
matthias schrieb: > Vielleicht kann man die Befehle auch durchprobieren!? Selbst wenn die Übertragung z.B. nur 8 Bytes lang ist, bräuchtest du dafür mehr Zeit als das Universum alt ist. Man kann nur mithören und nachdenken - es kann trivial sein, oder auch nicht, z.B. muss der Befehl "Lesen" keineswegs ein R oder L enthalten. Üblich sind auch Protokolle mit einem binären Befehlsbyte oder Word, wo etwa die Zahl 0..22 22 verschiedene Befehle an die Steuerung definiert - kommt eben ganz drauf an, was sich der Hersteller ausgedacht hat. Und damit es nicht ganz so einfach wird, weisst du ohne Unterlagen nicht, welches überhaupt das Befehlsbyte ist. Besonders raffiniert ist auch die Verwendung einzelner Bits in der Bytefolge zum Ein-Ausschalten bestimmter Funktionen. Gruss Reinhard
matthias schrieb: > gibt es eine Möglichkeit, Steuerbefehle für serielle Geräte selbst > herauszufinden, wenn man keine Angaben vom Hersteller hat? Das ist ungefähr so schwierig, wie wenn du ein Telefongespräch 2-er Japaner mithörst und nur durch zuhören Japanisch lernen willst. Wenn ichs recht bedenke, ist das sogar noch einfach dagegen. Da sind ja 2 Japaner, die plaudern. Du aber willst Japanisch lernen, indem du in Tokio anrufst und dich mit einem Dortigen auf gut Glück in 'Japanisch' (oder das was du dafür hältst) unterhältst.
Hallo, vielen Dank für eure Ideen. Mitlerweile bin ich soweit, dass ich eine Software vom Hersteller habe. Diese schickt bestimmte Bytes raus. Leider weiss ich aber nicht, was für eine Baudrate, wieviel Start- und Stopbits oder was für eine Parität verwendet wird. Wie kann ich das von dem Programm ausgesendete Signal am besten denn nach den genannten Parametern analysieren? Danke matthias
Überwache mal den Port, wenn das Programm diesen öffnet. Dann erhälst du diese Informationen. Wenn das Programm wirklich nur einfache Befehle sendet und keine Rollenden codes hat, oder dynamische Folgen (Checksumme, Datumsanhang) Um was für Gerät geht es denn, vielleicht hat sich schon jemand den aufwand angetan!
Es gibt ein Buch, aber schon älter, das da heißt "V24-RS232 Kommunikation" da steht die Vorgehensweise beschrieben.
Hallo Christian, bei dem Geräte handelt es sich um einen Wechselrichter einer PV-Anlage. Der Wechselrichter ist von Siemens. Er besitzt eine RS485 Schnittstelle. Ich habe einen RS232-RS485 Adapter, mit dem ich den Wechselrichter mit der seriellen Schnittstelle ansprechen kann. Vielleicht hat ja jemand schon informationen dazu.
matthias schrieb: > Hallo, > vielen Dank für eure Ideen. Mitlerweile bin ich soweit, dass ich eine > Software vom Hersteller habe. Diese schickt bestimmte Bytes raus. Leider > weiss ich aber nicht, was für eine Baudrate, wieviel Start- und Stopbits > oder was für eine Parität verwendet wird. > > Wie kann ich das von dem Programm ausgesendete Signal am besten denn > nach den genannten Parametern analysieren? > > Danke > matthias Hallo Matthias, einfach Brute Force: Baudrate, Zeichenlänge, Parity solange variieren, bis die Bytefolge sinnvoll ist. Ich nehme dafür einen Protokoll-Analysator, der kriegt manches selber raus, kostet aber auch soviel wie ein neues Auto. Notfalls geht es auch mit Hyperterminal. Es hilft sehr, wenn man einen Plan hat: erst mal Baudrate, dann Zeichenlänge solange ändern (und zwar systematisch!) bis etwa soviele Zeichen angezeigt werden wie gesendet wurden. Dann weitermachen bis keine Fehler (Parity, Overrun) mehr angezeigt werden. Mit etwas Glück sieht man dann, was gesendet wurde, ob man es versteht, ist dann eine neue Baustelle. Der grosse Vorteil bei meinem Analysator ist u.a., dass man nicht neu senden muss - der merkt sich alle Flanken und kann diese Aufzeichnung mit verschiedenen Baudraten usw. analysieren. Gruss Reinhard
Der Inverter spricht möglicherweise USS. Protokoll-Speck (ziemlich einfach aufgebaut) gibts da [1] ab Seite 49. Einfach mal ablauschen und auf Plausibilität prüfen. HTH und HF [1] http://www.legacypower.net/Documents/ACDriveInformationPDF/SiemensACDriveEngineeringData.pdf
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.