Hallo, ich habe ein Gerät mit einer Überlesesoftware. Es werden Spektren mit Kanälen und Werten übergelesen. Wenn in einem Kanal der Wert 0 ist, macht das die Überlesesoftware auch richtig und da ist HEX 00. Jeder Kanal ist ein 4-Byte Wert. Leider ist die Überlesesoftware nur 16Bit. Also will ich das selber mit einem Terminalprogramm (RS232) überlesen und aufzeichnen. Das klappt auch, aber in Kanälen in denen nicht seien sollte, steht jetzt eine HEX 30 drinnen. Und es sind jetzt nur 3 Bytes je Kanal. Da ich diese Spektren mit einem weiteren Programm lesen will, möchte ich jetzt die 3-Byte Datei mit den HEX 30 in leeren Kanälen in eine 4-Byte Datei mit HEX 00 in leeren kanälen umwandeln in C. Aber ich habe leider keine Idee wie ich das interpretieren muss. Zu den Daten: RS232 7 Daten, 2 Stopp, Parität gerade. Angehängt ist das richtige Original und zwei weitere Versionen von denen ich eine in die originale umwandeln möchte. Die beiden weiteren Versionen sind einmal mit 7e2 also wie vorgegeben übergelesen und einmal mit 8n1. Warum habe ich 8n1 gemacht? Weil ich mit dem Terminalprogramm Realterm dauernd Fehler bei der Paritätsprüfung bekommen habe. Aber eigentlich würde das 7n2 auch besser passen. Ich müsste nur das zusätzliche Byte einfügen, nur wo?! Vielen Dank!
:
Bearbeitet durch User
Ok mehr Information: Das soll ein Spektrum sein mit je 4 Bytes je Kanal. Und bei dem Original passt das auch, die ersten ca. 50 Kanäle sind leer und danach kommen Zahlenwerte. Ich hänge mal eine Textdatei mit den Dezimalwerten an.
Habe es gelöst. Das original sind immer 4 Bytes Hex je Kanalwert. Im 8N1 sind es immer 3 Bytes aber in HEX in ASCII geschrieben, also 6 Bytes je Kanal. Das 7E2 habe ich nicht weiter angeguckt. Interessant ist aber wie es dazu kommt: Ich schicke diesem Gerät über RS232 einen Befehl und erhalte das Spektrum als Antwort. Wenn ich im Terminalprogramm 7E2 einstelle und auch mit diesen Einstellungen den Befehl schicke erhalte ich das 7E2 Spektrum als Antwort (HEX), wenn ich aber 8n1 einstelle und damit den Befehl sende, erhalte ich das 8N1 Spektrum als Antwort (ASCII). Das Gerät erkennt also mit welchen Einstellungen ich den Befehl geschickt habe und antwortet dann "passend". Wobei das 8N1 nicht dokumentiert ist in dem Handbuch das ich hier habe, da steht nur das 7E2 drinnen. Jetzt lese ich also ASCII und schreibe die Zahlen als dezimal in eine Textdatei. C Code ist im Anhang. Gustl
Gustl Buheitel schrieb: > Hallo, ich habe ein Gerät mit einer Überlesesoftware. Was ist Überlesen? Und was macht eine Überlesesoftware?
Ich gehe mal davon aus, dass die "Überlesesoftware" ein Programm ist, mit dem man die Daten des Gerätes (Was für eins) mittels der RS232 Schnittstelle empfangen und auswerten kann. Für Dich stellt sich also die Frage in welchem Format bzw Protokoll die Daten vom Gerät an einen PC geliefert werden. Richtig? Da wäre es schon hilfreicher wenn wir mehr informationen bekommen. Z.B. Die Marke und der Typ des "Gerätes". usw.
Wie ich schon geschrieben habe ist es bereits gelöst. Das Gerät ist ein alter (>20 Jahre) Vielkanaler MCA 3/1 8k. Eine schlecht dokumentierte Sonderanfertigung. Das Überleseprogramm schickt einen Befehl und bekommt als Antwort das Spektrum. Und das mache ich jetzt selber mit einem Terminalprogramm. Funktioniert jetzt auch super.
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.