Temperaturdaten über COM1: einlesen...
Verfasst: 29.07.2008 07:54
Hallo Leute...
Wir haben uns für die Temperaturüberwachung ein Thermometer zugelegt, welches auch über eine serielle Schnittstelle verfügt.
Nun habe ich versucht in PB4.2 mit Hilfe der MVCOM Lib dieses Thermometer auszulesen. Ich komme da aber bei besten Willen nicht weiter.
Der Hersteller hat nur eine kurze Beschreibung der Schnittstelle beigelegt und ein Beispiel in TurboPascal.
Könnte mir jemand helfen, einen funktionierenden PBCode zu erstellen?
Hier mal der Auszug des Herstellers:
______________________________________________________________________________________________
Wir haben uns für die Temperaturüberwachung ein Thermometer zugelegt, welches auch über eine serielle Schnittstelle verfügt.
Nun habe ich versucht in PB4.2 mit Hilfe der MVCOM Lib dieses Thermometer auszulesen. Ich komme da aber bei besten Willen nicht weiter.
Der Hersteller hat nur eine kurze Beschreibung der Schnittstelle beigelegt und ein Beispiel in TurboPascal.
Könnte mir jemand helfen, einen funktionierenden PBCode zu erstellen?
Hier mal der Auszug des Herstellers:
______________________________________________________________________________________________
Schnittstellenprotokoll
Bei der Datenübertragung muss sichergestellt sein, daß die Spannungspegel für die Signale RTS=+12V und DTR=-12V vom PC
zur Verfügung gestellt werden. Dies muß über die Schnittstelleninitialisierung der Software realisiert werden.
Parameter: Baudrate=2400, Datenbits=8, Stopbits=2: Parität=None
Zur Übertragung der Meßwerte müssen nachfolgende Anforderungen an das Meßgerät gesendet werden. Nachfolgende Tabelle
veranschaulicht, welche Werte über die Schnittstelle abgefragt werden können.
MESSWERT 1+2 autom. erkennen = FC(hex), Tastaturfreigabe = 0(hex)
Hinweis: Wenn mit dem Befehl FC(hex) Daten aus dem Gerät ausgelesen werden, so wird dessen Tastatur gesperrt.
Diese kann mit dem Befehl 0(hex) wieder freigegeben werden.
Die Daten werden im nachfolgenden Format vom Gerät gesendet.
Datentyp = String (Die Stringlänge ist geräteabhänging (1/2 Kanal))
Messwert 1=Zeichen 01-07 - Einheit 1=Zeichen 09-10
Messwert 2=Zeichen 15-21 - Einheit 1=Zeichen 23-24
Zeichen 25=LF - Zeichen 26=CR
Beispiel. Turbo Pascal Quell-Code zur Schnittstelleninitialisierung
PROCEDURE V24oeffnen(com1,com2:Boolean); {RS232 initialisieren}
VAR wert :Byte
BEGIN
IF com1 THEN BEGIN
PORT[$3FB]:=128; {Baudeingabe aktivieren}
PORT[$3F8]:=48; {Baudrate - LSB, 2400 Baud}
PORT[$3F9]:=0; {Baudrate - MSB}
PORT[$3FB]:=7; {8 Bits, No Parity, 2 Stop}
PORT[$3FC]:=2; {DTR=0, RTS=1}
Wert:=PORT[$3F8]:=0; {Empfangsregister leeren}
END;
END;