[Windows 11] virtuelle com-Ports per batch ansprechen

DerDepp

Neu angemeldet
Registriert
4 Sep. 2014
Beiträge
2
Hallo Zusammen,
erst mal vorweg: das ist meine erste Forumsfrage, evtl. gemachte Formfehler bitte entschuldigen.
So und nun zu meinem Problem.
Ich habe ein USB-Meßgerät, daß über einen virtuellen Com-Port angesprochen wird:
das Senden eines "m" an das Gerät hat als Antwort einen String mit den Meßdaten zur Folge. Das funktioniert mit einem Terminalprogram ( Hperterm, PuTTy) problemlos.
Ich möchte num das Auslesen und Wegschreiben der Daten in einen File per Batchfile automatisch vornehmen.
Leider klappt die Kommunikation mit dem virtuellen Com-Port nicht: statt ein Zeichen auf den Port com25 zu schicken, wird eine Datei mit dem Namen com25 erzeugt und das "m" dort hinein geschrieben. Ebenso klappt das lesen vom Port Com25 nicht, es wird auch hier versucht die Datei com25 zu lesen.
Der Port ist im Gerätemanager vorhanden und per "Mode com25" werden auch die Parameter richtig ausgegeben. Ebenso funktioniert, wie schon gesagt die Kommunikation mit einem Terminalprogramm. Nur eben per DOS-Befehl nicht. Auch in der MS-DOS-Eingabeaufforderung gehen Lese- und Schreibversuche immer in eine Datei; der "mode " Befehl findet die Schnittstelle aber.
Das Schreiben und Lesen mit einem "echten" Com-Port funktioniert wie es soll.
Weiß Jemand von Euch einen Rat?
Ich habe das Ganze sowohl unter XP als auch Vista probiert.
Viele Grüße
Michael

Der Bat-File sieht so aus:
MODE COM25 BAUD=9600 PARITY=N DATA=8 STOP=1 rts=off dtr=off
for /f %%a in ('date /t') do set dat=%%a
if exist "c:\Temp\Heizung\Logfile_%dat%.csv" goto existiert
if NOT exist "c:\Temp\Heizung\Logfile_%dat%.csv" goto erzeugen

:existiert
echo m>COM25
type COM25 >> "c:\Temp\Heizung\Logfile_%dat%.csv"
goto ende

:erzeugen
type "c:\Temp\Heizung\Header.csv" > "c:\Temp\Heizung\Logfile_%dat%.csv"
goto existiert

:ende
 
Laut diesen Artikel funktioniert die echo Methode unter umständen mit höheren Port Nummern nicht. Da muss du dann mit dem set Befehl arbeiten:

set /p x="m" <nul >\\.\COM22
 
  • Thread Starter Thread Starter
  • #3
@The_Shadow3:
Hallo The_Schadow3,
vielen Dank für den Hinweis auf den Blog. Damit kann ich jetzt tatsächlich Daten an das Messgerät schicken:T. Was leider immer noch nicht klappt ist das lesen von der virtuellen COM-Schnittstelle. Habe in dem Thread zu dem von Dir genannten Link gesehen, daß es noch mindestens eine weiteren Anwender gibt, der das gleiche Problem hat und auf der Seite Mal nachgefragt.
Nochmal Danke und viele Grüße
michael
 
Zurück
Oben