WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

daten von RS232 schnittstelle mit matlab verarbeiten

 

morten
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 21.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.09.2013, 11:55     Titel: daten von RS232 schnittstelle mit matlab verarbeiten
  Antworten mit Zitat      
Hallo zusammen,

ich möchte daten die ich über eine rs232 schnittstelle von einer wägezelle bekomme in matlab einlesen und zur

weiteren verarbeitung in einem array speichern. dabei soll in der ersten spalte eine laufende nummer in der

zweiten jeweils das gewicht und in der dritten ein zeitstempel mit datum und uhrzeit stehen.
also wie folgt

Nr Gewicht Zeitstempel
1 100 26.09.2013 09:28:45
2 150 26.09.2013 09:28:55
3 200 26.09.2013 09:29:12
usw.


ich bekomme die daten im ASCII format immer dann von der wägezelle gesendet wenn auf dieser ein paket liegt.

mein code sieht bislang wie folgt aus

Code:

s = serial('COM5', 'BaudRate', 38400,'Parity', 'even','Databits', 8, 'StopBits',1, 'Terminator' ,'LF');
s.BytesAvailableFcnMode = 'terminator';
while   'BytesAvailable'>0
t=str2num(fscanf(s))
if isempty(t) % bricht die schleife bei  timeout ab
   break;
end
end
fclose(s)% schließt com 5


hiermit bekomme ich das gewicht im command window angezeigt. jedoch schaffe ich es nicht das die werte im

workspace wie gewünscht gespeichert werden. ich hoffe ihr könnt mir helfen und danke euch schon mal für eure hilfe.
gruß,
morten
Private Nachricht senden Benutzer-Profile anzeigen


BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 26.09.2013, 13:08     Titel:
  Antworten mit Zitat      
Hallo morten,

du überschreibst ja auch mit jedem Durchlauf der Schleife dein empfangenes Ergebnis

Code:


dir fehlt also ein Zählindex.

Code:
s = serial('COM5', 'BaudRate', 38400,'Parity', 'even','Databits', 8, 'StopBits',1, 'Terminator' ,'LF');
s.BytesAvailableFcnMode = 'terminator';
count = 1;
while   'BytesAvailable'>0
t(count)=str2num(fscanf(s))
count = count +1 ;
if isempty(t) % bricht die schleife bei  timeout ab
   break;
end
end
fclose(s)% schließt com 5
 


Grüße
Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
morten
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 21.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.09.2013, 09:22     Titel:
  Antworten mit Zitat      
danke das klappt schon mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.