Verfasst am: 01.07.2010, 08:10
Titel: Auslesen eines Lecroy Oszilloskop Lt264M
Hallo zusammen,
ich hoffe von euch kann mir jemand weiterhelfen.
Ich möchte mit Matlab über activex ein lecroy oszilloskop(LT264) auslesen, was auch soweit funktioniert. In meinem Programmcode kann ich die Signale leider nur nacheinander auslesen (siehe Programmcode). Das Problem entsteht nun, wenn nur ich ein kurzes Signal habe. Es ist schon wieder weg wenn der 2. Kanal angeschaltet wird(50µs). Dieses kann dann nicht aufgenommen bzw. übertragen werden. Das plotten und abspeichern in einer textdatei habe ich jetzt wegen der länge mal raus genommen.
Gibt es statt "writestring" ein art "writestring2", so dass ich bei beiden Kanälen gleichzeitig den Trigger anschalten kann?
modT=''; %modusTrigger leeren
invoke(DSO,'WriteString','TRMD SINGLE', true); %Trigger aktivieren
invoke(DSO,'WriteString','CHDR OFF', true); % Oszi anweisen, dass nur der Wert der angefragten Variablen zurückgegeben wird invoke(DSO,'WriteString','C1:TRMD?', true); % Trigger Modus auslesen
modT=invoke(DSO,'ReadString',6)% und in modT speichern
%Programm solange warten lassen bis Trigger Modus des Oszis in STOPPED
%geht. Wenn dies passiert wurde der Trigger aus gelöst und ein
%Signalverlauf kann abgespeichert werden
while(strcmp(modT,'SINGLE')) invoke(DSO,'WriteString','CHDR OFF', true);
invoke(DSO,'WriteString','C1:TRMD?', true);
modT=invoke(DSO,'ReadString',6); % Schreibe ID zurück end
count=count+1 %Hochzählen und anzeigen wie oft getriggert wurde
%Kurvenverlauf auslesen und in Array speichern
channel1data=invoke(DSO,'GetScaledWaveformWithTimes','C1',1000000,0); % Get Wavefrom Data - 1 Mpts is chosen as the arbitrary maximum file transfer file size (substitute your own max value to use)
channel1data=double(channel1data); % umwandeln in double Werte
modT=''; %modusTrigger leeren
invoke(DSO,'WriteString','TRMD SINGLE', true); %Trigger aktivieren
invoke(DSO,'WriteString','CHDR OFF', true); % Oszi anweisen, dass nur der Wert der angefragten Variablen zurückgegeben wird invoke(DSO,'WriteString','C2:TRMD?', true); % Trigger Modus auslesen
modT=invoke(DSO,'ReadString',6)% und in modT speichern
%Programm solange warten lassen bis Trigger Modus des Oszis in STOPPED
%geht. Wenn dies passiert wurde der Trigger aus gelöst und ein
%Signalverlauf kann abgespeichert werden
while(strcmp(modT,'SINGLE')) invoke(DSO,'WriteString','CHDR OFF', true);
invoke(DSO,'WriteString','C2:TRMD?', true);
modT=invoke(DSO,'ReadString',6); % Schreibe ID zurück end
channel2data=invoke(DSO,'GetScaledWaveformWithTimes','C2',1000000,0); % Get Wavefrom Data - 1 Mpts is chosen as the arbitrary maximum file transfer file size (substitute your own max value to use)
channel2data=double(channel2data); % umwandeln in double Werte % Daten Plotten
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
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.