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

Kommunikation zwischen embedded Modul und Matlab

 

Ted
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 05.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2018, 11:46     Titel: Kommunikation zwischen embedded Modul und Matlab
  Antworten mit Zitat      
Hallo!

Ich bin neu in diesem Forum und suche wie so viele Hilfe. Ich habe schon gefühlt das halbe Internet durchforstet und nichts brauchbares gefunden.

Meine Aufgabe erscheint wahrscheinlich dem einen oder anderen ziemlich einfach, mir jedoch bereitet sie unerwartet große Probleme.

Der Auftrag: Schreibe ein Matlab Programm, welches die Seriennummer des Moduls herausfindet.

Ich habe bisher sämtliche Befehle ausprobiert , welche ich im Internet gefunden habe und/oder selber kannte, die irgendwie zur Informationsbeschaffung dienen.

Die Befehle: "instrhwinfo", "get", "fget", "fscanf", "fread", "fprintf", "propinfo", "instrfind", "instrfindall" haben alle nicht das gewünschte Ergebnis geliefert. Denn entweder kommt eine Fehlermeldung, dass ein Timeout erreicht ist bevor der Terminator gesendet wurde oder es sind zu viele Input/Output Arguments oder der gesuchte Port etc. 'is not available'.

Kann mir irgendjemand helfen und mir sagen wie ich an diese Seriennummer komme oder zumindest einen Tipp geben wie ich die Fehler umgehen kann um an meine gewünschte Information zu kommen?

Danke im Voraus für die Hilfe
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

ohne die Information, um welches Modul es sich handelt, wird dir wohl niemand weiterhelfen können...

Generell bitte auch angeben, wie du die Befehle aufrufst und welche Fehlermeldungen dabei auftreten.

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

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 05.04.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2018, 18:46     Titel:
  Antworten mit Zitat      
Hallo!

Danke für die Info!
Leider habe ich nicht viele Infos über das Modul.
Es handelt sich um das Modul EMB1 von der Firma Corsience (falls jemandem das hier irgendwas sagt).

Das ist mein Grundcode
[code]
% Find a serial port object.
obj1 = instrfind('Type', 'serial', 'Port', 'COM3', 'Tag', '');

% Create the serial port object if it does not exist
% otherwise use the object that was found.
if isempty(obj1)
obj1 = serial('COM3');
else
fopen(obj1);
obj1 = obj1(1)
end

% Disconnect from instrument object, obj1.
fclose(obj1);
% Configure instrument object, obj1.
set(obj1, 'BaudRate', 115200);
set(obj1, 'InputBufferSize', 256);
set(obj1, 'OutputBufferSize', 256);
% Connect to instrument object, obj1.
fopen(obj1);
[/code]

Das Modul antwortet mir dann folgender Maßen.
[list]
Serial Port Object : Serial-COM3

Communication Settings
Port: COM3
BaudRate: 9600
Terminator: 'LF'

Communication State
Status: open
RecordStatus: off

Read/Write State
TransferStatus: idle
BytesAvailable: 0
ValuesReceived: 0
ValuesSent: 0
[/list]

Soweit ist auch alles in Ordnung. Ich kann den Status des Gerätes auch verändern.

Mit "instrhwinfo(obj1);" erhalte ich die Version des Moduls (in diesem Falle Version 3.7) Jedoch keine weiteren Informationen.

Mit get/fget bekomme ich Folgendes:
[code]
>> get(obj1, 'number')

Error using serial/get (line 69)
The name 'number' is not an accessible property for an instance of class 'serial port objects'.
[/code]

Für fscanf/propinfo/fread/fprint erhalte ich jedes Mal folgende Meldung:
[code]
>> fscanf(obj1, 'number')
Warning: Unsuccessful read: A timeout occurred before the Terminator was reached..

ans =

''
[/code]

Mit instrfind/instrfindall erhalte ich die selben Informationen wie oben
[list]
Serial Port Object : Serial-COM3

Communication Settings
Port: COM3
BaudRate: 9600
Terminator: 'LF'

Communication State
Status: open
RecordStatus: off

Read/Write State
TransferStatus: idle
BytesAvailable: 0
ValuesReceived: 0
ValuesSent: 0
[/list]

Ich hoffe die Infos reichen nun???
Wenn nicht, dann bitte wieder melden. Leider kann ich nicht viel mehr dazu sagen.

Liebe Grüße
Ted
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.04.2018, 20:31     Titel:
  Antworten mit Zitat      
Hallo,

ich bin da nun nicht der Experte, aber versuch auch mal
Code:


Damit solltest du alle verfügbaren Infos bekommen. Vielleicht heißt die Eigenschaft einfach nur nicht 'number'?

Grüße,
Harald
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.