mikrocontroller.net

Forum: PC-Programmierung Parametersheet einlesen - C/C++


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.
Autor: donvido (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Ich generiere aus Simulink Code um daraus für ein Simulationsprogramm 
eine DLL zu erstellen.
Das Simulinkmodell hat weit über 100 verschiedene Parameter die aus 
einer XML mit der folgenden Struktur eingelesen werden. Zum einlesen 
verwende ich rapidxml.
Das Problem ist nun, dass die XML extrem unübersichtlich geworden ist 
und auch insgesamt eher unhandlich ist.
Das erhöht natürlich die Fehleranfälligkeit.
Eine Überlegung ist, sowas direkt aus einer Excel-Tabelle einzulesen, da 
man da Tabellen auch direkt plotten und vergleichen kann (hat außerdem 
jeder).
Wie macht ihr sowas am besten? Was gibts für alternative Lösungen?
Was für Libs gibt es um zuverlässig eine Excel-Tabelle einzulesen?
<Controller_Parameter>        
  <Modul1>    
    <Param1>0</Param1>
    <Param1>1</Param1>
    <Param1>2</Param1>
    <Tabelle1>
      <Sample>      
        <X>1</X>
        <Y>1</Y>
      </Sample>      
      <Sample>
        <X>2</X>
        <Y>5</Y>
      </Sample>
    </Tabelle1>        
  </Modul1>  
</Controller_Parameter>

: Verschoben durch Moderator
Autor: Nop (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
donvido schrieb:

> Wie macht ihr sowas am besten?

Für Tabellen CSV nehmen. Das funktioniert nämlich auch ohne Excel und 
auf jedem OS.

Autor: 900ss D. (900ss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht mir eher nach einer Anwendung einer schlanken Datenbank aus. In 
Excel wird es auch unübersichlich, diese hierarchische Darstellung 
vernünftig hinzubekommen. Excel wird zwar gern genommen für solche 
Probleme, ist aber keine Allheilmittel.

SQLite ist eine sehr schlanke Datenbank, kostenlos und funktioniert gut. 
Millionenfach bewährt. Es gibt auch GUIs zum Verwalten.

Allerdings weiß ich nicht, ob du da mit Simulink darauf zugreifen 
kannst.

Edit: Wenn allerdings der Aufbau deines Beispieles fix ist, also es nur 
einmal <Tabelle> mit 2x <Sample> im <Modul> gibt und von <Modul> nur 
eines in <Controller>, dann geht es natürlich mit einer fixen Tabelle. 
Acuh CSV wie oben erwähnt.

: Bearbeitet durch User
Autor: donvido (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es geht ja nicht darum aus Simulink auf die Parametersheets zuzugreifen, 
sondern aus der DLL mit dem Simulinkmodell. Da werden einfach vor dem 
Aufruf des Simulink-Interface die Parameter gesetzt.

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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