Forum: PC-Programmierung Serielle Schnittstelle Matlab


von djappa (Gast)


Lesenswert?

Hallo, ich habe die Aufgabe bekommen ein Matlabcode zu schreiben, um ein 
Digitalnivellier über einen PC anzusteuren. Hat vielleicht jemand Tipps 
oder eine Ahnung, wie man an dort die GeoCom Befehle eingibt, um das 
Gerät zum Beispill einzuschalten oder dass das Gerät messen soll?

Vielen Dank

von Kevin K. (nemon) Benutzerseite


Lesenswert?

42...

ok, ein Versuch: Hast du Unterlagen über das Format, in dem du dich mit 
deinem Nivilierer unterhalten musst? Wenn nein -> besorgen. Wenn ja -> 
such auf www.mathworks.com nach rs232 oder serial port. Du wirst selber 
gute Beispiele mit Codeschnipseln finden.

von djappa (Gast)


Lesenswert?

Dies geschieht über ein USB Kabel. Ich habe folgendermassen begonnen:

s = serial('COM1');
set(s,'Baudrate',9600,'Parity','none','Databits',8,'Terminator','CR/LF') 
;

fopen(s);
disp('Serialobjekt geöffnet')

Aber ich weiss nicht was ich nun schreiben muss um das Digitalnivellier 
einzuschalten?

von Frank M. (aktenasche)


Lesenswert?

daten = [0 1 2 3 255]
asd = serial('com3','BaudRate',9600);
fopen(asd);
fwrite(asd,daten);

jfgi

von Geometer (Gast)


Lesenswert?

djappa schrieb:
> Aber ich weiss nicht was ich nun schreiben muss um das Digitalnivellier
> einzuschalten?
Bist du sicher, dass der sich über die Schnittstelle einschalten läßt? 
Die Anwort darauf sollte eigentlich das Manual geben.
Versuch es doch erstmal mit einer einfachen PC-gesteuerten Messung.

Ansonsten kann ich nur Kevin Recht geben:

Kevin K. schrieb:
> 42...

von Wolfgang (Gast)


Lesenswert?

djappa schrieb:
> Aber ich weiss nicht was ich nun schreiben muss um das Digitalnivellier
> einzuschalten?
Frei nach GeoCOM Manual des TPS1200 würde man es erstmal mit 
Steuersequenzen wie "%R1Q,111:0" oder "%R1Q,111:1" versuchen.

von djappa (Gast)


Lesenswert?

Das Gerät was angesteuert werden soll ist das DNA03 von Leica. Wie 
bindet man denn die GeoCom Befehle ein?

Ist dies so korrekt?

s = serial('COM1');
fopen(s);

fprintf(s,'%R1Q,111:0')
a=fscanf(s);

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.