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


von donvido (Gast)


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?
1
<Controller_Parameter>        
2
  <Modul1>    
3
    <Param1>0</Param1>
4
    <Param1>1</Param1>
5
    <Param1>2</Param1>
6
    <Tabelle1>
7
      <Sample>      
8
        <X>1</X>
9
        <Y>1</Y>
10
      </Sample>      
11
      <Sample>
12
        <X>2</X>
13
        <Y>5</Y>
14
      </Sample>
15
    </Tabelle1>        
16
  </Modul1>  
17
</Controller_Parameter>

: Verschoben durch User
von Nop (Gast)


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.

von 900ss (900ss)


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
von donvido (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.