Hallo, ich habe ein Matlab Programm welches mit einem Oszilloskop über VISA/GPIB kommuniziert. Zuerst werden alle Einstellungen vorgenommen, dann die Messungen gestartet und die Daten auch wieder zurück an den PC übertragen. Nun möchte ich die Messung an sich jedoch in ein c++-mexFile auslagern, damit das ganze Programm (hoffentlich) etwas schneller läuft. Das mexFile habe ich bereits erstellt und wenn ich dort eine neue ViSession anlege, klappt auch die Messung, allerdings sind dann alle Einstellungen (die ja noch in Matlab vorgenommen wurden) weg. Mein Problem liegt nun darin, dass ich das Oszilloskop-Objekt aus Matlab an das mexFile übergeben muss, damit man es dort als ViSession weiter verwenden kann. Prinzipiell weiß ich wie man Daten übergibt und bei einfacen Datentypen (int, char etc.) funktioniert das auch einwandfrei. Lediglich das Oszilloskop-Objekt wird beim Übergeben irgendwie geleert. Laut VISA-Dokumentation kann man eine ViSession über 2 Typen auf den einfachen Daten Typ unsigned long zurückführen. Eine Übergabe ala: unsigned long scopeObj = *(mxGetPr(prhs[0])); oder ViSession scopeObj = *(mxGetPr(prhs[0])); funktioniert leider nicht. Ich würde mich freuen, wenn jemand eine Idee hat, wie ich dieses Problem lösen kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.