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

Messwerte speichern

 

BlackDice
Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 08.12.20
Wohnort: ---
Version: R2020b
     Beitrag Verfasst am: 12.04.2021, 13:18     Titel: Messwerte speichern
  Antworten mit Zitat      
Moin zusammen,
ich habe hier ein Spectano 100 mit dem ich mehrere Messungen nacheinander machen möchte. Die Messwerte möchte ich je nach Anzahl der Messungen in die dazugehörigen Variablen speichern. Also Messwerte aus Messung 1 in Result 1, Messwerte aus Messung 2 in Result 2, ...

Bisher habe ich es so Programmiert:

Code:
value = app.Anzahl_Spinner.Value;
            for v = 1:value
                app.Result(v) = app.measurement.Results;
            end


Wenn ich die Messwerte in app.Result(v) speichern möchte bekomme ich aber folgenden Fehler: The following error occurred converting from Interface.2FAA1291_A0D1_4DA1_BA98_DD4F69F44614 to double:
Conversion to double from Interface.2FAA1291_A0D1_4DA1_BA98_DD4F69F44614 is not possible.

Mit dem Debugger habe ich mal nachgeguckt was wo steht:
app.measurement: 1x1 Interface.42731982_433E_4995_ABD5_293E03B0EE8A = Interface.42731982_433E_4995_ABD5_293E03B0EE8A

app.measurement.Results: 1x1 Interface.2FAA1291_A0D1_4DA1_BA98_DD4F69F44614 = Interface.2FAA1291_A0D1_4DA1_BA98_DD4F69F44614

Ich weiß allerdings nicht wie ich das umwandeln kann, dass es passt. Hat da jemand Ideen oder Tipps?

Viele Grüße
Fabian
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.04.2021, 13:32     Titel:
  Antworten mit Zitat      
Hallo,

die Fehlermeldung lässt mich vermuten, dass ActiveX verwendet wird, um eine Verbindung zum Instrument aufzubauen.
Wir können nicht wissen, wie genau app.measurement.Results angelegt wurde, und selbst wenn wir es wüssten, könnte zumindest ich nicht sagen, wie du da nun an die Daten kommst. Das ist nämlich eine Frage der Schnittstelle, die das Instrument bietet.

Die Schnittstelle dürfte aus Properties und Methods bestehen:
Code:
properties(app.measurement.Results)
methods(app.measurement.Results)


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDice
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 08.12.20
Wohnort: ---
Version: R2020b
     Beitrag Verfasst am: 12.04.2021, 13:37     Titel:
  Antworten mit Zitat      
Moin Harald,

ja ich benutzte ActiveX und um an die Daten zu kommen geht es mir nicht. Wie ich diese extrahieren kann weiß ich. Hiermit bekomme ich z.B. die Frequenzpunkte extrahiert:
Code:
frequenz = app.measurement.Results.FrequencyPoints;



Ich möchte nur die ganzen Messwerte in eine Variable mit fortlaufender Nummerierung schreiben.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.04.2021, 13:57     Titel:
  Antworten mit Zitat      
Hallo,

das Code-Schnipsel ist nicht sinnvoll, da auf der rechten Seite v nicht verwendet wird. Du würdest also in jedes app.Result(v) dasselbe schreiben.

Die andere Frage ist: wie ist app.Result zuvor angelegt? Irgendwo muss ja stehen, dass app.Result vom Datentyp Double sein soll, und genau da liegt das Problem.

Folgendes geht ja z.B. (auch wenn es sinnfrei ist, siehe erster Punkt):

Code:
Excel = actxserver('Excel.application');
for k = 1:5
    a(k) = Excel.Workbooks;
end
Quit(Excel)


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDice
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 08.12.20
Wohnort: ---
Version: R2020b
     Beitrag Verfasst am: 12.04.2021, 14:39     Titel:
  Antworten mit Zitat      
Moin,
ok es war falsch ausgedrückt. In der Doku zu dem Messgerät steht es so:

Code:
state = measurement.ExecuteMeasurement(); %Messung ausführen
tanDeltaResult = measurement.Results.TangentDelta; &TanDelta Punkte extrahieren


Das habe ich in meinem letzten Post einfach nur an mein Programm angepasst. In der Version aus der ich den Code kopiert habe habe ich auch nur eine Messung gemacht. Das war noch nicht drauf ausgelegt mehrere Messungen zu machen.

Jetzt wollte ich es halt so erweitern, dass ich mehrere Messungen machen kann.

app.Result lege ich in den "properties (Access = public)" an.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.04.2021, 14:50     Titel:
  Antworten mit Zitat      
Hallo,

versuch mal, ein Cell Array zu verwenden:

Code:
for v = 1:value
       app.Result{v} = app.measurement.Results;
end


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDice
Themenstarter

Forum-Century

Forum-Century


Beiträge: 148
Anmeldedatum: 08.12.20
Wohnort: ---
Version: R2020b
     Beitrag Verfasst am: 12.04.2021, 15:10     Titel:
  Antworten mit Zitat      
Ok danke das klappt. Ich bin eigentlich davon ausgegangen, dass ich das bevor ich hier gepostet habe probiert habe aber schein wohl nicht so zu sein.
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 - 2024 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.