' schrieb:So, jetzt habe ich vermutlich alles nach Anweisung geändert (und verstanden hab ich`s auch ) und es bleibt bei der starken Verlangsamung. Ich glaube ja nicht, dass ein Fehler (im Sinne von "geht nicht") vorliegt. Es ist wohl nur etwas viel Arbeit für das Programm. Einzeln laufen die Programme ja einwandfrei.
Bei dem Temperaturmessgerät handelt es sich um ein "Almemo 8990-6".
Hi.
Ich kann Dich beruhigen: Das Programm / der Rechner wird nicht "zu viel zu tun" haben.
Schau doch mal bitte, was deine CPU auslastung sagt. Wenn du keine Schleifen ohne Verzögerung (also Wait-Funktion) eingebaut hast, dürfte die Auslastung nicht sonderlich groß sein. Vielleicht 20%, je nach Rechner. Aber ich nehme an, dass du das nicht auf nem 486 Dx4-100 laufen lässt.
Du sagtest, dass die Verzögerung ohne die Temp.Erfassung nicht da war.
Was gibst du als Schnittstellenbezeichnung ein?
Ich nutze immnoch die Bezeichnungen ASRLX::INSTR, wobei das X für den jeweiligen Com-Port steht. Also ASRL1::INSTR für COM1.
Und dann benutzt doch einfach mal die "Highlight Execution" Funktion (diese Glühbirne) um bei der Programmausführung beobachten zu können, welche Stelle des Programmcodes gerade ausgeführt wird.
Du sagst, dass alle Unterprogramme für sich funktionieren. Wie lange wird denn dein Temp-Unterprogramm ausgeführt, wenn du es alleine ausführst?
Das dürfte eigentlich keine einzige sekunde dauern.
Wenn es länger ausgeführt wird, dann musst du den Code noch mal nachgucken.
hier:
http://www.ahlborn.com/handbuch/de/hb6.pdf
ist übrigens eine Anleitung über die Serielle Schnittstelle von Ahlborn Instrumenten!!!
Auf Seite 54 gibts folgendes zu lesen:
6.11 Kommunikation mit dem Computer
An jeden Befehl wird ein CR (Carrige Return: ODH), LF (Line Feed: OAH) und am
Ende der Antwort ein ETX (End of Text: ASCII = 03H) angehängt. Bei der programmierten
Eingabe mit einem Rechner muss darauf geachtet werden, dass eine Antwort
auf einen Befehl aus mehreren Zeilen, getrennt durch CR LF, bestehen kann
und ein zweiter Befehl erst ausgegeben werden darf, wenn der erste ganz abgearbeitet
wurde, d.h. das ETX - Zeichen gesendet wurde. Der Zusatzfunktionsbefehl fx ist
ein eigener Befehl, der auch mit ETX abgeschlossen wird.
Du kannst als Term.Chart denmach ein ETX (entspricht dezimal einer 3) eingeben.
Und du solltest an die Befehle, die du sendest, ein CR und ein LF anhängen.
Also über die Stringfunktionen an dein M01p ein ENTER anhängen.
Guck mal. ansonsten: Melden.
Wir werden das bis heute abend schon hinbekommen.
Um 17:00 mach ich allerdings Feierabend ;-)
Nisse