Hallo Leute,
Ich weiß leider nicht, ob es hier grad viel mit Programmierung zu tun
hat, aber ich habe da ein größeres Problem auf meiner Arbeit und hoffe
Ihr könnt mir vielleicht helfen. Wir haben an einer Tablettenpresse ein
Regelgerät welches u.a. die Stückzahlen und Presskräfte überwacht und
jede einzelne Pressstation über einen Dehnmesstreifen grafisch im
Balkendiagramm auf einem 12" Monitor darstellt. Dieser Monitor BJ 1980
hat nun leider den Geist aufgegeben, was auch immer defekt ist. Auf
jeden fall kommt kein Bild mehr. Die Schnittstelle am Monitor ist eine
DP25 wo direkt dahinter eine MAX 232 Platine angelötet ist. So aus der
Doku konnte ich noch entnehmen, dass es wohl ein TTY Interface ist. Das
Regelgerät funktioniert noch komplett ohne CPU sonder nur über IC's o.ä.
Ok soviel dazu. Denn das Problem ist, dass dieser Monitor nicht mehr
repariert werden kann und ich dachte mir ich hänge jetzt einfach an die
DP25 Schnittstelle einen PC und lese die Daten über ein Terminal
Programm aus. Das ist anscheinend leichter gesagt als getan das Programm
ZOC konnte mir auf jeden fall schon mal ein Bild liefern (emulator TVI).
Nur leider sind alles was normalerweise grafische Blaken wären
eigenartige Symbole und das kann leider nicht so bleiben. Ich habe
leider jetzt kein Bild davon, kann es aber noch nachreichen.
Jetzt bin leider mit meinen latein am Ende und hab keine Ahnung ob ich
überhaupt auf dem richtigen Weg bin. ZOC kann auch TTY Signale anzeigen,
aber bei mir ist da leider nur ein Schwarzer Bildschirm.
Mit linux kenn ich mich leider nicht so aus, da es in vielen Foren um
dieses Thema oft um Linux geht helfen sie mir leider nicht weiter.
Also wie gesagt ich muss nur Daten empfangen und nicht senden.
Was Du suchst, nennt sich Terminalprogramm. Das Gerät, was Du da
ersetzen möchtest, ist ein Terminal, kein Monitor.
Jetzt musst Du noch herausfinden, was das für ein Terminal war, damit Du
die korrekte Terminalemulation bei Deinem Terminalprogramm einstellen
kannst bzw. überhaupt ein geeignetes Terminalprogramm suchen kannst.
Es gab unterschiedliche Terminals unterschiedlicher Hersteller, die
völlig inkompatible Ansteuerungen hatten. Sehr verbreitet war das DEC
VT100 oder VT52, es gab aber auch TeleVideo 950 (was Du bei Deinem
Programm eingestellt hast) und ganz viele andere, mit jeweils eigenen
Steuersequenzen.
Analysieren kannst Du das, was Dein Gerät an das Terminal sendet z.B.
mit dem sogenannten "Terminalprogramm" hTerm
(www.der-hammer.info/terminal), das aber genau ist kein
Terminalprogramm (weil es kein Terminal emulieren kann), dafür kann es
die empfangenen Daten u.a. als Hexdump darstellen.
Wenn im Hexdump häufiger die Zeichenfolge ESC [ (0x1B 0x5B) auftaucht,
könnte es DEC VT100 o.ä. sein.
Wenn Du am alten Terminal irgendwelche Herstellerbezeichnungen oder
Beschriftungen finden kannst, dann poste die hier, vielleich lässt sich
der Typ dann schon bestimmen, ansonsten müsstest Du einen Mitschnitt der
an das Terminal gesandten Daten posten.
Danke für die schnellen Antworten. Ich habe jetzt mal ein Bild
angehangen, wo man hoffentlich erkennen kann, wo mein Problem liegt. Das
sieht ja soweit nicht schlecht aus, aber leider kann man auf dem Bild
nicht erkennen, dass da normalerweise ein Balken zu jedem Stempel im
Diagramm zwischen MIN und SW sein müsste, da die Maschine nicht in
Produktion war. Da sind dann nur C's und a's zu sehen, ähnl. direkt
unter dem Diagramm.
Das ist eine Frage des Zeichensatzes. Terminals entstammen der Ursuppe
der Computertechnik und haben deswegen sehr eigene Vorstellungen davon,
wie sie die darzustellenden Zeichen codieren und welche sie überhaupt
darstellen können. Der kleinste gemeinsame Nenner ist meistens der
7-Bit-ASCII-Zeichensatz, alles, was darüber hinausgeht ist aber
implementierungsabhängig.
Und auch deswegen habe ich Dir gestern schon die Frage gestellt,
was genau für ein Terminal Du da ersetzen willst.
ich vermute du must an deinem Programm eine bestimmte
'terminal emulation' einstellen wie z.B. VT52 oder VT100 oder,
oder, oder.... es gab damals jedemenge 'Standards' und zu allem
uebel auch noch die 'Eigenbroedler' die noch was dazustrickten
damit du ja nicht ein fremdes Terminal anschliessen kannst das
billiger ist.
Du musst, wie Rufus auch sagt, den Terminal Typ herrausfinden
und hoffen das nix exotisches mit eingebaut wurde und dann
kannste das mit einer Soft auf dem PC emulieren.
Vor vielen Jahren hab ich f. einen Kunden ein aehnliches
Problem geloest indem ich ihm dann ein Programm f. die Termianl
emulation geschrieben hatte.
Schau mal im Netz nach dem Programm Procomm, ist sehr alt konnte
aber eine menge Terminal emulationen
viel erfolg & vlG
Charly
Könnte man auch z.B. in C# nachprogrammieren.
Bibliotheken für RS232 stehen bereit und sind wirklich sehr einfach zu
verwenden.
Dann muss man sich eben anschauen was gesendet wird und das dann in ein
C# Programm umsetzen.
Ist sicher mit Aufwand verbunden, aber sicher kein Ding der
unmöglichkeit. Und ich nehme mal an, dass die Maschine so schnell nicht
ausgemustert wird und sich der Aufwand lohnen sollte.
Eure Unterstützung haut mich ja vom Hocker. Echt ein tolles Forum.
Danke. Also ich probiere mal morgen noch mal die Eistellungen von Lars
aus und mache mal für rufus einen Test und Fotos von allen im ZOC
verfügbaren Terminal emulationen, aber soviel sei gesagt mit TVI950 sah
es meiner Meinung nach am Besten aus. Ich denke das Beste ist, ihr macht
euch mal Morgen selbst ein Bild davon, sobald ich die Fotos hochgeladen
habe. Ich habe auch noch mal das Typenschild kontrolliert und danach bei
der Herstellerfirma SAE Elektronik in Köln angerufen. Das Ergebnis war
leider ernüchternd, da mir der ältere Herr am Telefon sagte, dass es für
die Herstellerfirma der Pressen eine Einzelanfertigung war und er konnte
mir auch leider nicht sagen mit welcher emulation das Terminal arbeitet.
Aber er wusste noch von anderen Pharmafirmen, dass die dieses Problem,
welches mich ja auch betrifft, durch einen PC mit Terminalfunktion
gelöst haben. Ich versuche morgen mal noch mehr rauszufinden.
Gruss yves
Wenn das Bild, das der Screenshot zeigt, statisch steht und die
eingeblendeten Werte aktualisiert werden, dann funktioniert schon mal
die Cursorpositionierung. Womit die Terminalemulation an sich schon
getroffen sein dürfte, das verbleibende Problem ist "nur" noch das der
Zeichendarstellung, was im Terminalprogramm konfiguiert werden können
sollte, z.B. durch Auswahl eines anderen Zeichensatzes.
ZOC bietet anscheinend auch eine Funktion, mit der eine individuelle
Anpassung vorgenommen werden kann, sieh mal ins ZOC-Handbuch, Abschnitt
1.7.2.3 ("Translation of inbound/outbound characters").
Gut ich hatte die letzten Tage leider gut zu tun und konnte nicht an dem
Projekt weiter arbeiten. Ich bleibe aber am Ball und gehe erstmal euren
Tips nach.
Gruss yves