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

XML als Input

 

BenMathik
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 17.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2010, 16:05     Titel: XML als Input
  Antworten mit Zitat      
Hallo zusammen,

Ich bin relativ neu in der ganzen Matlab/Simulink Geschichte. Ich versuche mir gerade einen PC mit xPC einzurichten damit ich damit einen Roboter regeln kann. Nun benötige ich für die Regelung die Ist-Position des Roboters. Die bekomme ich auch über eine Ethernet-Schnittstelle. Mein Problem ist allerdings, dass die Daten in Form von XML-Telegrammen kommen. Gibt es einen Simulink-Block der mir aus dem XML die Daten holt die ich brauche (also Koordinaten)?

Schöne Dank und beste Grüße,
Ben
Private Nachricht senden Benutzer-Profile anzeigen


Phate
Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 17.02.2010, 16:41     Titel:
  Antworten mit Zitat      
Hi,

Also so ein Block der direkt eine xml Datei einließt ist mir jetzt nicht bekannt. Du kannst aber ein kleines mFile schreiben um deine Koordinaten in Workspace zu bekommen.

Wenn die Daten im Workspace liegen kannst du sie einfach mit einem "FromWorkspace-Block" als Eingangn von deinem Modell benutzen.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
BenMathik
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 17.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.02.2010, 17:11     Titel:
  Antworten mit Zitat      
Das mit der Variable aus dem Workspace lesen über den Block "From Workspace" habe ich schon versucht. Ich habe im Workspace eine Variable "test" in der steht "Hallo Welt". Aber wenn ich versuche diese direkt über einen "To Workspace"-Block wieder rauszuschreiben bekomme ich folgende Meldung:
Invalid structure-format variable specified as workspace input in 'untitled/From Workspace'. The variable must include 'time' and 'signals' fields. Also, the 'signals' field must be a structure with a 'values' field
Private Nachricht senden Benutzer-Profile anzeigen
 
Phate
Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 18.02.2010, 09:30     Titel:
  Antworten mit Zitat      
Hi,

Versuch mal das Format in dem die Variable abgelegt wird umzuändern indem du den "To Workspace Block" per Doppelklick öffnest und unter dem Eintrag "Save Format" anstatt Structure ein Array auswählst.

Die Variablenbezeichnung der Ein und Ausgangsblöcke sollte nebenbei nicht gleich sein, sonst gibts denke ich Probleme. Ob das so ist ist aus deinem Post leider nicht ganz ersichtlich.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
BenMathik
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 17.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2010, 07:32     Titel:
  Antworten mit Zitat      
Hallo nochmal,

Ich hab es leider noch nicht geschaft. Ich beschreibe mal kurz mein Testmodel.
Ich habe zwei Blöcke. Der eine ist ein "From Workspace" und der andere ist ein "To Workspace". Die beiden Blöcke sind verbunden. Bei dem "To.." erwarte ich ein Array. Die Variable die ich von Matlab hole habe ich so initialisiert: simin={'hallo' 'Welt'}

Als Fehler bekomme ich dann:
Invalid matrix-format variable specified as workspace input in 'xmlAuslesen/From Workspace'. The matrix must have two dimensions and at least two columns. Complex signals of any data type and non-double real signals must be in structure format. The first column must contain time values and the remaining columns the data values

Jemand einen guten Tip?

Dank und Gruss
Private Nachricht senden Benutzer-Profile anzeigen
 
Lord nibbler

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.02.2010, 13:55     Titel:
  Antworten mit Zitat      
Hallo,

Der FromWorkspace-Block braucht Zahlen. D.h. das wird mit einem String nicht klappen.
Code:

simin.time = [0;10];
simin.signals.values=[0;1];
 

Dann simin in den fromWorkspace Block schreiben dann bekommst du ein stetig ansteigendes Signal von 0 auf 1 in 10 sekunden.
Wenn du allerdings aktuelle Signale so in ein Modlel holen willst wird das nicht klappen. Dazu musst du eine s-function schreiben, die das xml parst die Signalewerte extrahiert und als Ausgabe in Simulink zur Verfügung stellt.

Gruß Lord nibbler
 
Phate
Forum-Guru

Forum-Guru



Beiträge: 283
Anmeldedatum: 09.11.09
Wohnort: Stuttgart
Version: R2008b
     Beitrag Verfasst am: 19.02.2010, 15:15     Titel:
  Antworten mit Zitat      
Hi,

Hab auch nochmal versucht eine Lösung zu finden. Momentan würd ich auch Lord Nibbler zustimmen, dass diese beiden Blöcke keine strings einlesen können.
Muss auch erlich sagen, der Sinn einen string einzulesen und auszulesen erschließt sich mir nicht gant Smile.

Falls du Übungen für Simulink suchst kannst gern nochmal bescheid sagen kann dir da bestimmt die eine oder andere geben die dich interessiert.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
klimbim
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 11.11.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2010, 22:21     Titel:
  Antworten mit Zitat      
BenMathik,
hast du noch eine Lösung für dein Problem gefunden? Das würde mich sehr interessieren, da ich momentan vor genau demselben Problem stehe.
Würde mich über eine Antwort freuen.
Vg!
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.