Forum: Digitale Signalverarbeitung / DSP / Machine Learning Implementierung der automatischen Codegenerierung aus Scicos/Scilab auf einem 32-Bit µController


von Dirk D. (Gast)


Lesenswert?

Hallo zusammen,
ich schreibe momentan an meiner Bachelorarbeit und bin auf der Suche 
nach Informationen zur Codegenerierung von SciLab/XCos. Konkret geht es 
darum,wie ich es am sinnvollsten anstelle, die Schnittstelle zu dem 
Microcontroller zu integrieren. Umgesetzt werden sollen Funktionen wie 
AD und DA-Wandler.Zur Verfügung habe ich c.Files, die mir z.B. den 
AD-Wert liefern.
Meine Idee war, dass ich ein Subsystem generiere, in welches ein Signal 
(in diesem Fall der AD-Wert reingeht) und dieses als Output dann den 
DA-Wert erzeugt, den ich in meinem DA.File weiterverarbeiten kann. 
Problem ist dabei, wie ich z.B. die Parameterbenennung in Scilab 
hinbekomme, damit ich eine Schnittstelle zu den anderen Modulen habe...

Kann mir da jemand weiterhelfen???

von Frank M. (aktenasche)


Lesenswert?

etwas wirrer beitrag, ich hab keine ahnung was du eigentlich willst.

falls du einen mikrocontroller an scilab anbinden willst, wäre die 
serielle schnittstelle das einfachste fürs erste.

von zardoz (Gast)


Lesenswert?

Lieber Dirk D.,

wenn ich es richtig verstehe geht es um Seriencode a la Simulink-Coder.

C-Seriencodegenerierung scheint leider in der Scilab/XCos 5.4. 
stiefmütterlich behandelt zu werden, da einige bekannte Tools nicht mehr 
funktionieren:
1) Roberto Bucher: für RTAI (Linux!!!) etc., unter Scicoslab 4.4. 
(Scicos anstelle XCos)
2) Scicos Flex (dspic, atmel, ...): "scicoslabpack" ebenfalls Scicoslab 
4.4. und verwendet ein Rtos "Erika Enterprise". Dürfte aber der 
"sauberste" (soweit man davon sprechen kann) Code für microcontroller 
sein

Für scilab 6.0. scheint was in der Roadmap auf ("embedded"), allerdings 
hält sich Scilab (Enterprises) sehr bedeckt.

Mein Gruppe versucht gerade ähnliche Anpassungen vorzunehmen. Ist aber 
fragl., ob das ohne Kooperation in Richtung Scilab 6.0 Sinn macht.

Für die "direkte" Variante gibt es die Hart Toolbox: bindet IO's direkt 
an Scilab an.

Stichworte einfach Googeln!

von Weinga U. (weinga-unity)


Lesenswert?

Hallo Dirk,

mir ist auch nicht genau klar was du willst (Code auf µC direkt 
downloaden oder µC nur als Interface nehmen und PC+XCos macht Regelung), 
aber dennoch habe ich einige Hinweise:

Ich habe bereits einen µC (Arduino) direkt in ScicosLab eingebunden, wo 
ein Scicos Block direkt die Signale vom Board online liefert (siehe 
http://bioe.sourceforge.net/scicosserialinterfaceblock.php). Es gibt 
zwar bereits eine bessere Version, jedoch ist diese noch nicht 
veröffentlicht. Dieses Projekt kannst du (wenn benötigt) als 
Anhaltspunkt verwenden.

Wenns ums Generieren von Code für einen µC geht: Ich versuche momentan 
von einer Scicos Simulation eine XML Repräsentation der Blöcke (d.h. 
Blockname, Parameterliste, Inputs, Outputs, Anzahl der Zustände, 
Verlinkung der Blöcke und Aufrufsequenz) zu exportieren. Derzeit kämpfe 
ich mit den Verlinkunten und der Aufrufsequenz, der Rest geht schon. 
Ausgehend von der XML Repräsentation möchte ich dann weitere 
Code-Generatoren für µC's realisieren.

Die Idee ist die Blockfunktionalität (z.B. Gain, Input/Output, ...) 
entsprechend für die Plattform neu und optimiert zu implementieren und 
nur die "Struktur" Informationen von Scicos zu exportieren.

Wenn du letzteres vor hast kann ich sagen, dass die fehlende Doku einen 
zwingt die bestehenden Code-Generatoren anzusehen (RTAI, Flex) und zu 
verstehen und das sind eher unübersichtliche Source-Zeilen.

mfg, Weinga-Unity

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.