Batch COM, serielle Schnittstelle auslesen, befehle senden per batch

gmt

Cadet 1st Year
Registriert
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
 
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.
 
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?
 
yxcvb schrieb:
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.
 
Ich sehe an dem Skript an keiner Stelle, dass etwas an COM3 geschickt wird. Du lässt dir nur die (nicht vorhandenen) Werte ausgeben.
 
In Batchdateien müssen for-loop Variablen mit zwei Prozentzeichen deklariert werden, also z.B.
Code:
 for /l %%i in (1,1,%messung%) do ...
 
Evil E-Lex schrieb:
Ich sehe an dem Skript an keiner Stelle, dass etwas an COM3 geschickt wird. Du lässt dir nur die (nicht vorhandenen) Werte ausgeben.

das wäre jetzt die variante in der ich das messgerät permanent daten schicken lasse und sie einfach nur jede sekunde "schreibe".
macht das sinn?
 
Zurück
Oben