Steuerbefehle für serielle Schnittstelle von Geräten herausfinden

Gast #1731270
Lesenswert?

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
Gast #1731744
Lesenswert?

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
#1731769
Lesenswert?

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.
Gast #1733504
Lesenswert?

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
#1733519
Lesenswert?

Ü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!
Gast #1733525
Lesenswert?

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.
Gast #1733529
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren