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

Heinzmann Motor mit simulink über canbus ansteuern

 

Butzel
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.09.2009, 17:56     Titel: Heinzmann Motor mit simulink über canbus ansteuern
  Antworten mit Zitat      
Hi,
hab da so ein kleines Problem und arbeite mich leider erst langsam in Simulink ein....

Ich soll mit Hilfe einer VectorCanKarte einen Heinzmannmotor ansteuern und es tut sich leider nichts. Es sind drei Nachrichten die alle einen eigenen Identifier und unterschiedlich viele Daten haben, wobei eine nur einmal gesendet werden darf und die Anderen in einem bestimmten Zeitmuster. Leider weiß ich nicht, wie und wo man bei Simulink darauf Einfluss nehmen kann. Bisher erzeuge ich jede Nachricht mit dem VectorCanPackBlock und dann sende ich ihn mit dem TransmitBlock. Ich hoffe, ihr könnt mir da weiter helfen, stehe auch gerne zu weiteren Auskünften zur Verfügung...
LG Stefan[/code]
Private Nachricht senden Benutzer-Profile anzeigen


Poseidonius
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 08.07.07
Wohnort: Magdeburg
Version: ---
     Beitrag Verfasst am: 25.09.2009, 14:49     Titel:
  Antworten mit Zitat      
Hallo Butzel,

ohne mich mit dem VectorCAN Paket für Simulink auszukennen ... hast Du denn geprüft ob die Nachrichten überhaupt von Simulink auf dem CAN Netz versandt werden?

In welcher Umgebung läuft denn Dein Modell? Irgendwas Echtzeitfähiges?

Grüße

Poseidonius
Private Nachricht senden Benutzer-Profile anzeigen
 
Butzel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 23.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.09.2009, 18:41     Titel:
  Antworten mit Zitat      
Hi Poseidonius,

die Nachrichten werden versand. Ich habe einen MPC555 Microcontroler, auf den ich bereits ein Programm geladen habe, das mit einem Hostprogramm auf dem Pc sich gegenseitig Nachrichten schickt und empfängt. Auf dem MPC555 leuchten LED's auf, wenn Nachrichten empfangen werden und dass Host Program liest sie sogar aus. Das ganze findet unter Echtzeitbedingungen statt.
Außerdem habe ich ein CanUSB-Sniffer, mit dem ich die Can Botschaften auslesen kann.

Das Problem ist, dass mit dem Controller später zwei Heinzmannmotoren angesteuert werden sollen. Das ganze soll aber zunächst in Simulink vom PC aus laufen.

Leider lesen die Motoren nur Nachrichten im 0.016s Takt aus und wollen eine bestimmte Reihenfolge verschiedener Can-Botschaften haben.
Aber wie kann ich bei Simulink eine echte Systemzeit einfügen? Oder dem Programm vorgeben, wie viele Botschaften es senden soll. Im Moment schickt Simulnik einfach so viele Botschaften raus wie geht.

Es geht also einmal darum mit Simulink in Echtzeit Botschaften zu senden und zwar in einer bestimmtern Reihenfolge und einem bestimmten Zeitmuster.

Vielen Dank schonmal, ich hoffe du kannst mir helfen Smile

Grüße,
Butzel
Private Nachricht senden Benutzer-Profile anzeigen
 
Poseidonius
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 08.07.07
Wohnort: Magdeburg
Version: ---
     Beitrag Verfasst am: 26.09.2009, 11:22     Titel:
  Antworten mit Zitat      
Hallo Butzel,

ein "reines" Simulink arbeitet mit einer Simulierten Zeit, sprich die Implementierung wird entsprechend Deinen Solvervorgaben unabhängig von der realen Zeit ausgeführt.

Es gibt verschiedene Ansätze ein Simulinkmodell auf reale Zeit "auszubremsen" zum Beispiel http://leonardodaga.insyde.it/Simulink/RTBlockset.htm oder http://www.mathworks.com/support/so.....-15JAW/index.html?1-15JAW.

Die andere Variante ist, ein Echtzeitfähiges System zu benutzen, das kann ein xPC, ein embedded Target wie Dein MPC555 sein kann oder auf die Real Time Windows Tool Box zu setzen.

Ich weiss nicht, ob der erstgenannte Ansatz in seiner Zeitauflösung ausreicht, um Dein Zeitverhalten abzubilden. Warum sollen denn der 555 zunächst außen vor gelassen werden? Muss es denn wirklich Simulink sein, dass die Steuerkommandos an den 555 schickt? Hat 555 nicht 2 CAN Kanäle? Dann könnte man den einen für eine weniger gut getimte Übergabe der Parameter vom PC her nehmen und auf dem anderen eine genau getaktete Kommunikation zum Motorsteuergerät umsetzten - der MPC dient quasi als Gateway.

Grüße und ein schönes Wochenende

Poseidonius
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.