Gast
#6948606
Guten Tag, Ich muss für mein Projekt Weg-Daten aus einem Messgerät(Heidenhain VRZ406) über eine serielle Schnittstelle auslesen. Um Daten zu senden muss das Messgerät das Steuersignal STX (Dezimal 2) gesendet bekommen, dies habe ich mit einem Arduino + Max232 Einheit realisiert. Das läuft auch alles Problemlos. Mein Problem liegt beim einlesen bzw. speichern der Daten vom Messgerät in Matlab, eher gesagt in der Geschwindigkeit, da nicht alle vom Messgerät übersendeten Daten erfasst werden. Das Messgerät sendet mit einer Baudrate von 2400, 7 Databits, even Parity und 2 Stopbits. Über HTerm habe ich als Nachrichten vom Messgerät folgendes erhalten: '+ 0.007?/r/n' (hinter dem '+' sind 3 Leerzeichen in der Nachricht) Ich habe den Folgenden Code dafür rausgesucht und auf meinen Anwendungsfall abgeändert:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
Codequelle: Beitrag "Re: Serielle Schnittstelle (COM) mit MATLAB aufzeichnen/auslesen" Dieser Code funktioniert auch soweit, bis auf dass ich die Funktion Manuell pausieren bzw. abbrechen muss um den durchlauf zu beenden. (ist für mich allerdings nicht allzu schlimm, da die Daten trotzdem gespeichert sind) Mein Problem dabei ist, dass dieser Code zu langsam ist oder irgendwie Fehler ausweist, denn mein Messegerät gibt 2 Werte aus während der Code nur einen aufnimmt und abspeichert, was zu einer falschen Auswertung führt. Bei HTerm bekomme ich auch alle Nachrichten aufgezeigt, also sollte etwas an dem Code nicht richtig sein. Im Anhang in nochmal ein Bild von den Nachrichten in HTerm und Die Log datei die am Ende rauskommt. Danke im voraus! Gruß Sam
