mikrocontroller.net

Forum: PC Hard- und Software Kommunikation zwischen matlab und Vector canoe erstellen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Boris J. (james_boris)


Bewertung
-1 lesenswert
nicht lesenswert
Hallo Leute,

ich bin in ein Projekt gelandet in dem ich mit vector CANoe und Matlab 
arbeiten werde. Ich versuche, eine Kommunikation zwischen den beiden 
tools herzustellen, aber es gelingt mir nicht. Ist hier jemand, der 
diese beiden Tools bereits verwendet hat?

Grüß

Boris

von Tom (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wie sollen die beiden Programme miteinander kommunizieren? Was/welche 
Daten soll(en) ausgetauscht werden?

CanoOe ist eine Restbussimulation, Matlab (hier wahrscheinlich 
Simulink?) ist gut für numerische Aufgaben und/oder Systemsimulation.

Für mich ist es aktuell die gleiche Frage wie die nach einer 
Kommunikation zwischen Paint und Outlook.

von Worker (Gast)


Bewertung
3 lesenswert
nicht lesenswert
Hi,
mit der Installation der CANoe SW kommt auch ein MatLab Interface mit. 
In dem Doku Verzeichnis der Vector SW findet sich auch ein Manual.
Sobald das Interface installiert ist, kann man auch auf reale Signale 
und interne Variablen zugreifen.
Der Support von Vector ist kostenlos.

von TippsUndTricks (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vector bietet sicherlich Trainings an. Bzw support von Vector ist sehr 
gut.

Meist kommt es nicht mehr daran an ob und wie die SW Teile miteinander 
kommunizieren können, sondern eher ob die Simulation das macht was es 
machen sollte bzw das Steuergerät darauf so reagiert wie man es erwartet 
:)

Ich vermute, dass dein Matlab simu eine Funktionalität von dem 
Steuergerät simulieren sollte, und der CANoe halt den Restbus. Damit 
möchte man am PC alles testen und gucken ob das so tut, bevor jemand das 
auf ein Steuergerät integriert und dann feststellt, ohh je da kann man 
den Matlabcode gar nicht richtig debuggen weil die SW lieber weglaufen 
als in den Spagetti rein zugucken. Und es tut natürlich nicht. Habe ich 
recht? :)

von soul e. (souleye)


Bewertung
1 lesenswert
nicht lesenswert
Das nennt sich real-time or Hardware-In-The-Loop (HIL) simulation mode. 
Matlab/Simulink simuliert das Fahrzeug, übergibt die Daten an CANoe, das 
schickt sie zum Steuergerät und empfängt die Ergebnisse, welche dann 
wieder an Matlab zurückgehen.

Im doc-Ordner Deiner CANoe-Installation sollte ein "CANoe AddOn MATLAB® 
Interface User Guide" liegen, da ist die Vorgehensweise beschrieben.

: Bearbeitet durch User
von Tom (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Beim HiL wird in CanOE eine aus Simulink erzeugte dll eingebunden. Da 
muss keine Kommunikation aufgebaut werden.

Anders wäre es bei Kosimulation, das unterstützt CanOE m.M.n aber nicht.

Alles bisherige ist Kaffeesatzleserei.
Der TO soll endlich sagen, was für eine Kommunikation er meint!

von Boris J. (james_boris)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für eure Beiträge. der erste Ziel meiner Arbeit wäre, dass 
Matlab/Simulink das Fahrzeug simuliert, dann werden die Daten an CANoe 
übergeben und das schickt sie zum Steuergerät und empfängt die 
Ergebnisse, welche dann an Matlab zurückgehen. Das ganze wird nicht mit 
Simulink gesteuert sondern mit MATLAB-Code. Ich habe schon das CANoe 
AddOn MATLAB
Interface installiert und weißt nicht was ich als nächste machen soll. 
Danke nochmal für eure Tipps

von Tom (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Eine derartige Kommunikation ist mir nicht bekannt - was nicht heißen 
soll, dass sie nicht möglich ist.

Du kannst den Matlab Code auch als S-Function in Simulink einbetten und 
dann über den o.g. Weg mit dem Matlab Addon als dll einbinden. Dazu 
braucht du das Simulink Coder Blockset für den RealTime Workshop. Dann 
wird alles im CanOE gerechnet.

Ist das eine mögliche Lösung für Dich?

von Torben (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wenn ich es richtig in Erinnerung hab, dann kannst Du mit CANoe über FMI 
oder FDX Protocol und Localhost IP über TCP/UDP kommunizieren.

von james_boris (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Tom schrieb:
> Eine derartige Kommunikation ist mir nicht bekannt - was nicht
> heißen
> soll, dass sie nicht möglich ist.
>
> Du kannst den Matlab Code auch als S-Function in Simulink einbetten und
> dann über den o.g. Weg mit dem Matlab Addon als dll einbinden. Dazu
> braucht du das Simulink Coder Blockset für den RealTime Workshop. Dann
> wird alles im CanOE gerechnet.
>
> Ist das eine mögliche Lösung für Dich?

Danke für Ihre Rückmeldung. Das ist eine mögliche Lösung. Laut meine 
Recherche habe ich herausgefunden, dass der CANoe mit Matlab durch DCOM 
in dem Zustand HIL oder durch der .NET gesteuert werden. Meine Frage 
jetzt wäre: welche der 3 Methoden

* Simulink Coder Blockset für den RealTime

* (D)COM

* .NET
wäre am besten dies zu steuern und was sind die Vor und Nachteile davon? 
Ich wünsche euch ein schöner Valentinstag und ich würde mich gerne auf 
eure Rückmeldungen freuen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.