Batch COM, serielle Schnittstelle auslesen, befehle senden per batch

gmt

Cadet 1st Year
Dabei seit
Juli 2016
Beiträge
15
Hi, ich möchte (am liebsten) per Batch Messwerte eine Messgeräts an COM3
auslesen. Per HyperTerminal hat alles geklappt aber nun würde ich gerne
noch ein bischen mehr machen.

Ein Benutzer soll Name, Teilenummer, Messdauer etc. eingeben und dann
soll über die Messdauer jede Sekunde der befehl A an COM3 geschickt
werden. Geschieht das gibt das Messgerät die Messwerte zurück die ich
dann mit den Nutzerdaten gerne in eine Datei schreiben würde. Der
Abfrage teil klappt wohl der COM teil leider nicht. Kann jmd helfen?
eine weitere möglichkeit wäre das messgerät permanent messwerte schicken
zu lassen (kann man am gerät einstellen und sie jede sekunde zu
schreiben. weiss nicht wie das einfacher ist.

Code:
@ECHO OFF
@echo Messwerterfassung
:Ja
echo Bitte Benutzernamen eingeben
set /p Benutzer=
echo Bitte Teilenummer eingeben
set /p Teil=
echo Bitte Messdauer in Sekunden eingeben
set /p Messdauer=
echo Bitte Art der Messung eingeben (T2-A, etc..)
set /p Messung=

for /l %i in (1,1,messung) do (
type com3>messwerte.txt
timeout /T 1
) %i


ECHO Moechten Sie noch eine Messung durchfuehren ? (j / n)
SET /p wahl=
if '%wahl%' == 'n' goto Nein
if '%wahl%' == 'j' goto Ja
Goto Ende

:Nein
Messung abgeschlossen
goto Ende

:Ende
pause
 

yxcvb

Lt. Commander
Dabei seit
März 2013
Beiträge
1.980
Deine Batch läuft in einer virtuellen DOS-Umgebung. Daher kannst du maximal die fest verdrahteten COM 1 und 2 abfragen aber nicht die höheren COM-PORTS.
 

gmt

Cadet 1st Year
Ersteller dieses Themas
Dabei seit
Juli 2016
Beiträge
15
warum geht das per hyper terminal aber nicht über batch? bzw. was ist dann die alternative zu batch bzw. hyper terminal mit der ich noch ein paar user abfragen einbauen kann?
 

asdfman

Commander
Dabei seit
März 2008
Beiträge
2.315
Deine Batch läuft in einer virtuellen DOS-Umgebung. Daher kannst du maximal die fest verdrahteten COM 1 und 2 abfragen aber nicht die höheren COM-PORTS.
Das stimmt nicht. Die NTVDM wurde nur für DOS-Programme benutzt, nie für Skripte. Außerdem ist sie seit Ewigkeiten kein Bestandteil von Windows mehr. Die NT-Konsole konnte außerdem von Anfang an (NT 3.1) das komplette Win32 Subsystem verwenden.
 

Evil E-Lex

Lt. Commander
Dabei seit
Apr. 2013
Beiträge
1.585
Ich sehe an dem Skript an keiner Stelle, dass etwas an COM3 geschickt wird. Du lässt dir nur die (nicht vorhandenen) Werte ausgeben.
 

Endoro

Ensign
Dabei seit
Mai 2015
Beiträge
154
In Batchdateien müssen for-loop Variablen mit zwei Prozentzeichen deklariert werden, also z.B.
Code:
 for /l %%i in (1,1,%messung%) do ...
 

John Reese

Lt. Commander
Dabei seit
März 2008
Beiträge
1.217
Top