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

Verfügbare Com Schnittstellen anzeigen lassen in Pop-Up

 

rasputin87
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 78
Anmeldedatum: 29.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.03.2016, 14:43     Titel: Verfügbare Com Schnittstellen anzeigen lassen in Pop-Up
  Antworten mit Zitat      
Hallo,
ich bastel gerade eine Gui. Für die weitere Verarbeitung würde ich mir gerne die verfügbaren Com Schnittstellen in einem Pop-Up Menü anzeigen lassen, dann eine wählen und diese für die weiteren Schritte übergeben.
Kann mir jemand dazu einen Ansatz liefern?
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.03.2016, 16:06     Titel: Re: Verfügbare Com Schnittstellen anzeigen lassen in Pop-Up
  Antworten mit Zitat      
Hallo rasputin87,

Arbeitest Du mit GUIDE oder erstellst Du das GUI per Code?
Hast Du bereits eine Liste der COM-Schnittstellen oder ist es Teil des Problems diese zu erhalten?
Was bedeutet genau "diese für die weiteren Schritte übergeben"? Was soll genau geschehen?
Was hast Du bisher versucht und welche Probleme sinde dabei aufgetreten?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
rasputin87
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 78
Anmeldedatum: 29.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.03.2016, 16:20     Titel:
  Antworten mit Zitat      
Hallo,
ich erstelle die Gui mit Guide.
Nein, eine Liste habe ich noch nicht erstellt! Hier fängt das Problem schon an.
Ich will die Com-Schnittstelle per Pop-Up auswählen, da daran mein Sensor hängt, welche Daten im weiteren Verlauf ausgelesen werden sollen!
Mir fehlt bis dato jeglicher Ansatz.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 15.03.2016, 11:12     Titel:
  Antworten mit Zitat      
Hallo rasputin87,

Für eine Frage im Forum ist es sinnvoll, sich auf jeweils ein Problem zu konzentrieren und es möglichst exakt zu beschreiben. Kläre einen Schritt nach dem anderen.
Du möchtest also eine Liste mit den COM-Schnittstellen bekommen. Was hast Du bisher versucht und welche Schwierigkeiten treten dabei auf?
Was beudeutet "verfügbare COM Schnittstelle" genau? Meinst Du die, an denen nichts angeschlossen ist, oder suchst Du speziell nach einem Sensor?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
rasputin87
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 78
Anmeldedatum: 29.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2016, 12:05     Titel:
  Antworten mit Zitat      
Ich suche nur nach den verfügbaren Com-Schnittstellen.
Mit hilfe der Funktion getAvailableComPort (http://www.mathworks.com/matlabcentral/fileexchange/9251-get-available-com-port) habe ich es nun geschafft.
Daraus bekomme ich eine Liste der verfügbaren Com-Schnittstellen als cell.
Zurück zum Thema, wie übergeben ich diese nun an die Pop-Up-Menü Einträge um sie dort zu wählen um sie meiner Seriellen Variablen zu übergeben?
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 15.03.2016, 15:18     Titel:
  Antworten mit Zitat      
Hallo rasputin87,

Kannst Du eine Beipiel angeben, was bei Du von dieser Funktion als Cell erhältst? Es ist etwas umständlich für eine Antwort im Forum zunächst Code aus der FEX zu laden und zu installieren.

Ich rate mal, Du bekommst etwas wie:
Code:
{'COM1', 'COM2', 'COM3}

Dann könnte in der CreateFcn stehen:
Code:
ListOfComPorts = getAvailableComPort;
set(handle.popupMenuH, 'String', ListOfComPorts);

Dser Callback des Popupmenüs würde dann den jeweiligen Port "aktivieren", was auch immer das genau in Deinem Fall heißt.
Was bedeutet nun genau: "meiner Seriellen Variablen zu übergeben"?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
rasputin87
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 78
Anmeldedatum: 29.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2016, 15:42     Titel:
  Antworten mit Zitat      
Es sieht so aus:
Code:
ListOfComPorts = 'COM1' 'COM6'

Wenn ich deinen Vorschlag so übernehme und den handle anpasse, erhalte ich folgende Fehlermeldung:

??? No appropriate method,
property, or field
popupmenu2 for class handle.

Error in ==>
Aufzeichnung_Gui>popupmenu2_CreateFcn
at 63
set(handle.popupmenu2,
'String', ListOfComPorts);

Error in ==> gui_mainfcn at
96
feval(varargin{:});

Error in ==>
Aufzeichnung_Gui at 18
gui_mainfcn(gui_State,
varargin{:});

Error in ==>
@(hObject,eventdata)Aufzeichnung_Gui('popupmenu2_CreateFcn',hObject,eventdata,guidata(hObject))


??? Error using ==> struct2handle
Error while evaluating uicontrol CreateFcn
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.03.2016, 16:05     Titel:
  Antworten mit Zitat      
Hallo,

in Jans Vorschlag fehlte ein s.
Code:
set(handles.popupMenu2, 'String', ListOfComPorts);


Ich würde solchen Code auch bevorzugt in die OpeningFcn stecken.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
rasputin87
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 78
Anmeldedatum: 29.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2016, 16:11     Titel:
  Antworten mit Zitat      
Stimmt...dann erhalte ich folgende Fehlermeldung:

??? Attempt to reference
field of non-structure
array.

Error in ==>
Aufzeichnung_Gui>popupmenu2_CreateFcn
at 65
set(handles.popupmenu2,
'String',
cellstr(ListOfComPorts));

Error in ==> gui_mainfcn at
96
feval(varargin{:});

Error in ==>
Aufzeichnung_Gui at 21
gui_mainfcn(gui_State,
varargin{:});

Error in ==>
@(hObject,eventdata)Aufzeichnung_Gui('popupmenu2_CreateFcn',hObject,eventdata,guidata(hObject))


??? Error using ==> struct2handle
Error while evaluating uicontrol CreateFcn
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.03.2016, 16:22     Titel:
  Antworten mit Zitat      
Hallo,

es könnte sein, dass du die Handles-Struktur irgendwo überschreibst. Nutze doch mal den Debugger.

Für weitere Unterstützung stelle bitte ein reproduzierbares Beispiel zur Verfügung.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
rasputin87
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 78
Anmeldedatum: 29.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2016, 16:27     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:

Ich würde solchen Code auch bevorzugt in die OpeningFcn stecken.

Grüße,
Harald


Danke, so läuft es.
Alles weitere löse ich so
Code:
choice = cellstr(get(hObject,'String'))
popchoice = choice{get(hObject,'Value')}
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.