www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - Matlab
Matlab < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Matlab: Echtzeit Messwerte aufnehmen
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 08:31 Fr 08.04.2005
Autor: bernd79

Hallo, ich soll ne Diplomarbeit mit Matlab machen und bin gerade dabei, mich in Matlab einzuarbeiten(absoluter Anfänger).

Frage: ich möchte Messdaten in Echtzeit über eine Schnittstelle einlesen und dann verarbeiten. Geht das mit Matlab? Ist dazu Simulink nützlich?

Gibt es auch die Möglichkeit, ein Fenster Programmieren (ähnlich wie in Labview) das jeder einfach bedienen kann?

Danke!!

bernd

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Matlab: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:07 Mi 13.04.2005
Autor: Hyco

Hallo,
bin auch noch recht neu in Matlab, aber muss damit auch gerade nen Projekt machen,... aber ich denke ich kann Dir sagen, dass Du am besten mit Simulink arbeitest, das ist wohl recht aehnlich wie Labview oder Diadem,... in Matlab selbst kannst Du so genannte GUI erstellen, aber in wie weit man da Daten kontinuierlich auslesen kann weiss ich nicht. Ein GUI ist eine Benutzerflaeche fuer ne Komfortablerer Eingabe von Daten,... am besten Du schaust mal auf der Webseite von Mathworks, dort gibt es wirklich gute Einfuehrungstutorials,... so weit ich weiss auch in Simulink, damit kann man dann recht einfach in Matlab zurecht kommen. Es gibt auch noch eine Toolbox die heisst external Interfaces, da sollte man vielleicht auch Daten lesen koennen,

hoffe ich konnte Dir nen bissle weiterhelfen,
Hyco

Bezug
        
Bezug
Matlab: Lösungsvorschlag
Status: (Antwort) fertig Status 
Datum: 16:37 Di 10.05.2005
Autor: krischan111

Hi!
In unsrem Messtechnik-Labor haben wir das so gemacht:
Wir benutzen den Analog-digital Wandler Adwin Gold Box.
Auf dessen Echtzeit-Mikroprozessorsystem läuft die BASIC-ähnliche Programmiersprache ADbasic. Die Verbindung zum PC wird per USB hergestellt.
In Matlab kann man das ADwin System steuern, also die Box hochfahren, konfigurieren, Programme auf der Box laufen lassen (also Messungen starten/abbrechen), und Daten (Vektoren, Variablen und Matrizen) zwischen den Computer und der Gold Box austauschen.

Die wichtigsen Befehle für die Adwin Box lauten:
m_boot         startet die Box
messen(Abtastintervall in  Mikrosekunden, Anzahl Messpunkte)

Also beispielsweise um Kanal A und Kanal B auszulesen, mit dem Abtastintervall 200 Mikrosekunden und 500 Messpunkten, Messvektoren abspeichern als M1 und M2:
[M1,M2]=messen(200,500);
Vorsicht, angeblich gibt es Probleme mit Matlab wenn es mehr als 1000 Messpunkte gibt.
Nach dem Einlesen liegen die Daten digital vor, also als ganze Zahlen von 0 bis 255. 0 entspricht -10V, 128 sind 0V, und 255 entspricht +10V
Jetzt muss diese Umformung gemacht werden, und ein Zeitvektor konstruiert werden.

Ich hab eine Matlab m-file dafür geschrieben, aber ich weiß nicht ob es auch fehlerlos funktioniert:


% Interpretieren von digitalen Werten
% Eingabe: auswert(Abtastperiode,Anzahl Messpunkte)
%   wobei die Abtastperiode in Mikrosekunden einzugeben ist.
% Ausgabe: u1, u2 und Plot von beiden Kanälen

function[u1,u2]=auswert(ta,anzahl)
[mess1,mess2]=messen(ta,anzahl);
anzahl_bits=16;  %Die Golden Box hat eine Auflösung von 16 Bit
stufen=2^anzahl_bits;
u1=(mess1 - stufen/2) / (stufen/2) * 10;  %Maximalwert: +/-10V
u2=(mess2 - stufen/2) / (stufen/2) * 10;
t=linspace(0,(anzahl-1)*ta/1000000,anzahl);
plot(t,u1,t,u2);
xlabel('Zeit in Sek');
ylabel('Abtastwerte in V');
title('Digitale Messung der Eingangsspannung');
grid on;


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]