Hallo,
ich habe einen alten Linienschreiber/Datenrekorder von LINSEIS Typ
L2200.
Hier gibt es einen kurzen Überblick zum Gerät:
http://www.iis.com.tw/web_case/08/Temp/Linseis/program.htm
Ich habe leider keinerlei Unterlagen dazu und auf eine Anfrage bei der
Firma LINSEIS wurde mir geantwortet, dass die Schreiberproduktion schon
lange eingestellt wurde und keine Unterlagen mehr vorhanden wären.
Die Stifte oder der Druckkopf sind natürlich auch nicht mehr verfügbar.
Allerdings hat das Gerät ein Diskettenlaufwerk zur Aufzeichnung,
scheinbar der einzige Weg, das Gerät noch zu nutzen. Die Bedienung ist
dank des Displays auch weitgehend selbsterklärend und so ist es mir
gelungen Daten auf Diskette aufzuzeichnen. Allerdings erfolgt die
Aufzeichung in einem mir unbekannten Binärformat. Laut der obigen
Beschreibung gab es damals eine Software zum konvertieren in Excel und
Lotus, die ich aber nicht habe.
Falls jemand die Software hat, würde es mich sehr freuen, wenn er sie
mir zur Verfügung stellen könnte.
Ich habe nun versucht, die Datenstruktur zu analysieren. Zunächst kommen
eine paar Textzeilen mit Kommentaren, die man am Gerät eingeben kann,
dann die Kanalauswahl und Kanalkonfiguration in Klartext. Dann folgt ein
Block mit binären Daten. Ich vermute das sind ebenfalls
Konfigurationsparameter. Und schließlich folgen am Ende die Datenblöcke
mit den Messwerten, wobei pro Kanal immer ein eigener Block mit einer
Länge von 2048 byte generiert wird. Jeder Datenpunkt scheint 4 byte
groß. Bei mehr Daten kommt ein weiterer 2048 byte Block pro Kanal hinzu.
Allerdings kann ich die Daten noch immer nicht entschlüsseln. Dazu habe
ich bekannte Datenpunkte generiert, jeweils nur 1 Kanal im Messbereich
von 0-20V ohne Nachkommastellen. Dabei ist folgendes herausgekommen
(jeweils Hexadezimal):
5V, ein Datenpunkt: C1D8
8V, ein Datenpunkt: 33F0
5V, zwei Datenpunkte: C3D8 C1D8
5V, dreizig Datenpunkte: BED8 C1D8 C1D8 BED8 C1D8 BED8 C1D8 C1D8 C1D8
BED8 BED8 BED8 C1D8 BED8 C1D8 BED8 C1D8 C1D8 C1D8 BED8 C1D8 C1D8 BCD8
C1D8 BED8 BED8 BED8 C1D8 BED8 BED8
Wahrscheinlich sind die ersten zwei Bytes die niedrigeren(LSB) da sie
etwas zappeln. Bei 8V ergäbe sich dann auch ein höherer Wert als bei 5V.
Aber wie kann ich die Datenpunkt nun genau in einen Messwert umrechnen?
Falls das irgendwie hilft, die CPU ist ein Z80-Prozessor. Grundsätzlich
kann das Gerät bei Gleichspannung von -20V bis +20V messen mit maximal 3
Nachkommastellen.
Ich habe die letzte Datei mit den dreizig Datenpunkten angehängt.
Die Uhr geht vor. Die Datei fängt mit Ascii-Text an und da steht
1.Aug.2022
Datenaufzeichnung mit LINSEIS Digitalschreiber L2240 V3.H 19.11.01
L2200.006 Mon Aug 01 13:00:54 2022 LabMaster
Wir haben in der Firma noch so einen Pizzaofen von Linseis, ich weiß
aber nicht mehr die Bezeichnung, und bin seit 2 Monaten in Rente. Ich
weiß nicht mehr, ob wir dazu noch ein Handbuch oder Software hatten. Ich
könnte die Kollegen fragen.
Die Taiwanesische Seite gibt es auch in Deutsch
http://www.iis.com.tw/web_case/08/Temp/Linseis/program-1.htm
Software für den Datenexport
Messdaten, die auf der eingebauten Floppy Disk gespeichert wurden,
können zu EXEL, LOTUS, oder zum LINSEIS Auswertungspacket WIN/AW oder
U30/AW exportiert werden.
Software für die On-Line Datenübertragung
Die Software zur on-line Datenübertragung über die RS232-Schnittstelle
ist Uni/Erf und Win/Erf. Diese Software zeigt eine Echtzeitanzeige und
speichert alle Daten auf der Festplatte zur späteren Auswertung.
Im Webarchiv kommt man auch nicht weit
https://web.archive.org/web/20220000000000*/http://www.linseis.net/
Walter Tarpan schrieb:> Dann probier doch einfach stumpf die Hypothese "little endian" und> linearer Rohwert y=m*x+n und probier, ob noch andere Werte passen.
Ich habe jetzt einfach alle Werte von 0V bis 20V aufgezeichnet und die
Bytes gleich getauscht, sodass Excel einfach in Dezimal umrechen kann.
HEX Dezimal Spannung
B1AC 45484 0V
B97C 47484 1V
C14C 49484 2V
C91C 51484 3V
D0F1 53489 4V
D8BC 55484 5V
E08E 57486 6V
E861 59489 7V
F031 61489 8V
F801 63489 9V
FFCC 65484 10V
0799 1945 11V
0F66 3942 12V
1739 5945 13V
1F0B 7947 14V
26D9 9945 15V
2EA9 11945 16V
3679 13945 17V
3E49 15945 18V
46A0 18080 19V
4DE6 19942 20V
Es sind also immer 2000 Einheiten je 1V, aber der Nullpunkt liegt bei
etwa 10V, also in der Mitte des Messbereiches. Damit habe ich mal einen
Anfang und muss nun schauen, wie es sich in den anderen Messbereichen
verhält.
Christoph db1uq K. schrieb:> Die Uhr geht vor. Die Datei fängt mit Ascii-Text an und da steht> 1.Aug.2022>> Datenaufzeichnung mit LINSEIS Digitalschreiber L2240 V3.H 19.11.01> L2200.006 Mon Aug 01 13:00:54 2022 LabMaster
Die Pufferbatterie habe ich schon gewechselt und dann lag ich wohl einen
Tag daneben.
> Wir haben in der Firma noch so einen Pizzaofen von Linseis, ich weiß> aber nicht mehr die Bezeichnung, und bin seit 2 Monaten in Rente. Ich> weiß nicht mehr, ob wir dazu noch ein Handbuch oder Software hatten. Ich> könnte die Kollegen fragen.
Das wäre sehr nett. Es gibt auf dem Board auch noch drei
Präzisionstrimmer pro Kanal mit denen man die wahrscheinlich kalibrieren
kann.
Den Schreiber werde ich nicht wieder in Betrieb nehmen. Für meinen
Hobbybedarf lohnen sich die Stifte sicher nicht. Wenn ich die
Druckeinheit ausbaue, passt das ganze auch in ein etwas kompakteres
Gehäuse. Bedienpanel, Netzteil, Analogteil und Rechner funktionieren
bisher tadellos.
Ich habe jetzt mal den Messbereich -20V bis +20V eingestellt und wieder
liegt der Nullpunkt in der Mitte des Messbereiches, also diesmal bei 0V.
Ich habe jetzt 1000 Einheiten pro 1V. Der Wertebereich liegt scheinbar
immer zwischen -20000 und +20000 um den Nullpunkt.
Gibt es eigentlich Tools mit denen ich die Datenblöcke aus den
Binärdateien in einem Rutsch in eine andere Datei mit Dezimalwerten
konvertieren kann? Meine Softwarekenntnisse sind eher bescheiden, bastle
fast ausschließlich mit Analogelektronik oder digitalen Logikchips.
Matthias schrieb:> Gibt es eigentlich Tools mit denen ich die Datenblöcke aus den> Binärdateien in einem Rutsch in eine andere Datei mit Dezimalwerten> konvertieren kann?
Dann wäre jetzt wohl genau der richtige Zeitpunkt, mit Deiner ersten
Skriptsprache anzufangen. Ich selbst würde für für den Zweck Matlab
nehmen, aber Python ist wohl sinnvoller.
"Automate the Boring Stuff with Python" ist wahrscheinlich das perfekte
Anfänger-Buch, zumal es auch sehr direkt auf genau solche
Alltagsprobleme zielt. Eine sehr umfangreiche Leseprobe der ersten
Auflage als PDF findet sich im Netz.
Walter T. schrieb:> "Automate the Boring Stuff with Python" ist wahrscheinlich das perfekte> Anfänger-Buch, zumal es auch sehr direkt auf genau solche> Alltagsprobleme zielt. Eine sehr umfangreiche Leseprobe der ersten> Auflage als PDF findet sich im Netz.
Danke für den Tip. Inzwischen ist sogar die 2. Ausgabe komplett online
verfügbar.
https://automatetheboringstuff.com/
Ich bin mit Python etwas vorangekommen und konnte die ersten Messwerte
auslesen und in eine Textdatei wieder ausgeben.
Jetzt versuche ich aus den Kopfzeilen den Messbereich zu ermitteln. Die
entsprechenden Bytes habe ich identifiziert, aber die Kodierung der
Zahlen erschließt sich mir nicht.
Folgende Werte habe ich ausprobiert und diese Bytes dabei erhalten:
Messbereich Hex Dezimal
0 00 00 00 0
3 00 08 40 8
-3 00 08 C0 -8
6 00 18 40 24
-6 00 18 C0 -24
10 00 24 40 36
-10 00 24 C0 -36
18 00 32 40 50
-18 00 32 C0 -50
20 00 34 40 52
-20 00 34 C0 -52
100 00 59 40 89
500 40 7F 40 16511
1000 40 8F 40 16527
Das letzte Byte ist offensichtlich für das Vorzeichen verantwortlich,
wobei die Null eine Sonderrolle einnimmt. Die zwei Bytes davor steigen
zwar mit den eingestellten Messwerten an, aber ein linearer Zusammenhang
ist es nicht.
Kann sich daraus jemand einen Reim machen?
Ich habe einfach mit weiteren Zahlen probiert und das machte immer
weniger Sinn. Schließlich brachten aber eine paar Messbereiche mit
Kommazahlen die Erkenntnis. Die Messbereichsgrenzen sind als 64bit
Gleichkommazahlen kodiert.