|
BenMathik |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 17.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.02.2010, 16:05
Titel: XML als Input
|
|
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
|
|
|
|
|
Phate |
Forum-Guru
|
|
Beiträge: 283
|
|
|
|
Anmeldedatum: 09.11.09
|
|
|
|
Wohnort: Stuttgart
|
|
|
|
Version: R2008b
|
|
|
|
|
|
Verfasst am: 17.02.2010, 16:41
Titel:
|
|
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
|
|
|
BenMathik |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 17.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.02.2010, 17:11
Titel:
|
|
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
|
|
|
Phate |
Forum-Guru
|
|
Beiträge: 283
|
|
|
|
Anmeldedatum: 09.11.09
|
|
|
|
Wohnort: Stuttgart
|
|
|
|
Version: R2008b
|
|
|
|
|
|
Verfasst am: 18.02.2010, 09:30
Titel:
|
|
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
|
|
|
BenMathik |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 17.02.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.02.2010, 07:32
Titel:
|
|
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
|
|
|
Lord nibbler |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.02.2010, 13:55
Titel:
|
|
Hallo,
Der FromWorkspace-Block braucht Zahlen. D.h. das wird mit einem String nicht klappen.
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
|
|
Beiträge: 283
|
|
|
|
Anmeldedatum: 09.11.09
|
|
|
|
Wohnort: Stuttgart
|
|
|
|
Version: R2008b
|
|
|
|
|
|
Verfasst am: 19.02.2010, 15:15
Titel:
|
|
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 .
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
|
|
|
klimbim |
Forum-Newbie
|
|
Beiträge: 4
|
|
|
|
Anmeldedatum: 11.11.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.11.2010, 22:21
Titel:
|
|
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!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|