Hallo Leude,
ich suche nach einem Program, das über einfache LZI Glieder verfügt und
ein Editorfenster in dem man diese verbinden kann.
Sowie die Möglichkeit einfache Testfunktionen auf Regler-Strecke-Modell
loszulassen. (Dirac,Sprung,Dreieck ...)
Mit Ausgabe von Plots (Frequenzgang und Antworten auf Testsignale).
Solche Programme gibt es zwar nicht wie Sand am Meer, dennoch
denke ich, dass relativ viele Studenten und Entwickler so ein Tool
bräuchten (und wahrscheinlich schon geschrieben haben)
Ausserdem scheint das Problemfeld/ziel relativ klar und eng abgesteckt.
BTW kennt jemand Programm[e], mit dem es auf eine generische Art
möglich ist, Blocke zu definieren, mit Attributen zu versehen und
auch zu verbinden. Ich würde sowas als Front End (zb XML als output)
vielleicht nutzen. Den Simulationskern schreibe ich selber :)
Grüsse, Euer Rabbit
Hallo,
mit Scilab ist sowas möglich.
Nicht so einfach zu bedienen wie Matlab / Simulink aber es geht.
http://www.scilab.org/
Zum Test mal Version 4.1 downloaden installieren und
Applications->SCICOS im Menu anklicken. Dann öffnet sich ein graphischer
Editor der ein wenig Ähnlichkeit mit Simulink hat.
Über Edit->Palletes lassen sich dann z.B. lineare Übertragungsglieder
plazieren.
Ich hab es allerdings selber noch nicht richtig ausprobiert.
Hallo Rabbit,
ich glaube SciLab ist am ehesten das was Du Dir angucken solltest, denn
es hat eine gewisse Ähnlichkeit zu Simulink.
Der Vollständigkeithalber gibt es als wissenschaftliche Programme noch
Octave als eine Art Matlab Clone, Gnuplot oder Labplot. Wobei Gnuplot
oder Labplot eher dazu geeignet sind wenn Du Deine Simulation zB in C
schreibst diese dann in eine TXT schreibst und mit Gnuplot darstellts.
Octave ist ein Matlab Clone und funktioniert eigentlich sehr gut, wenn
man die graphische Oberfläche nicht braucht. Zum Plotten integriert es
Gnuplot, ist vielleicht dort ein wenig umständlicher Graphen zu
bearbeiten, Werte anzuzeigen lassen, Pfeile ranmalen, etc. aber alles
möglich. Ich habe selber mit Octave mit grossen Datenmengen gearbeitet
und kann nur empfehlen es unter Linux zu machen. Die Windows Version mit
Installer integriert eine Cygwin Umgebung und war für meine Zwecke a) zu
alt gegenüber Linux und b) bei großen Datenmengen sehr instabil.
Eine ganz andere Möglichkeit ist es noch Spice zum Simulieren
einzusetzen. Ob das in Deinem Fall geht weiß ich nicht, aber
grundsätzlich löst Spice ja Knotengleichungen von DGLs. Für Linux gibt
es das gEDA Project, das Spice oder ngspice mit einer graphischen
Oberfläche ala Pspice verbindet. Dort könnte man sich eigene
Bibliotheken definieren. Wobei wie gesagt Dreicksfunktion als DGL
ausdrücken... naja ich glaube keine gute Idee.
Wenn Du jedoch Dein Tool gefunden hast oder etwas drum herum
programmierst und noch Zeit hast, dann mach bitte eine Dokumentation.
Ich denke genau auf dem Gebiet gibt es noch viel für die OpenSource
Akzeptanz zu tun. Die großen Firmen und selbst die meisten Hochschulen
setzen auf Matlab weil die Dokumentation/Hilfe recht gut und
beispielhaft ist. Von der Seite sind es dann wohl nur die Studenten und
kleineren Firmen wo OpenSource für diese eingesetzt wird? Wenn ich nicht
jeden Tag Matlab brauche und für eine Handvoll Simulation reicht mir
auch Octave.
Aber so langsam setzt sich ja OpenSource durch. Bin mal gespannt wohin
das noch führt. Gerade im wissenschaftlichen und kommerziellen Bereich
ist die Bedienung der Programme noch nicht sehr intiutiv. Wenn ich da an
den Leiterplattenzeichner aus dem gEDA Projekt denke, da bin ich doch
nach 5 Projekten auf Eagle umgestiegen. Und die pspice ähnliche
Oberfläche war doch sehr instabil, da kann man besser LTSpice (auch
nicht frei, dafür freeware) nutzen.
Leider kann ich nicht programmieren, und somit bleibt mir außer
ausprobieren und evtl. ein wenig in der Mailingliste meckern nicht viel
übrig.
@Rabbit,
eine Reglersimulation ist in einer venuenftigen Programmiersprache ein
kleine Uebung. Schmeiss dieses Matlab weg. Fuer ne Hochschule mag das
gut sein, weil die Lizenzen guenstig sind. Fuer eine Firma oder einen
Privaten ist Matlab viel zu teuer. Fuer eine vernuenftige
Programmiersprache ist jeweils auch eine Opensource Mathematiklibrary
erhaeltlich.
Danke für Eure Antworten
scilab scicos sieht sehr interessant aus, werde auf jeden Fall
damit rumprobieren. Gnuplot kenne ich gut, gefällt mir auch recht gut.
Octave hab ich installiert und erste Schritte ala tutorial gemacht.
Allerdings genau wie beim Matlab kommt bei mir kein richtiger Durchbruch
...
es liegt aber auch zum grossen Teil daran, dass ich mich dann
zurück zu Python,numpy,pylab und matplotlib zurückziehe.
Ich finde nun mal Python als Sprache schöner und ästhetischer als
Matlab mit fortranähnlichen Schleifen etc.
Seit einiger Zeit beobachte ich auch die Aktivität in der
Ruby community (bezogen auf mathematische Module)
leider bietet Ruby noch nicht den Umfang von Python.
Ich glaub Perl hat einige interesante Module zu bieten,
aber Perl will ich im Moment mir nicht antun^^
Von Labplot höre ich zum erstem mal, werde auch mal austesten.
Würdet Ihr lieber eine simple GUI (verlinkbare Rechtecke mit Attributen
und
Kreise) auf Qt, Wx oder Java swing basieren?
Grüsse
Hallo,
bei www.kahlert.com gibt es eine Demo Version von WinFact 7. Mit dem
dazugehörigen Programm BORIS können Regelkreise zusammengestellt werden.
Das Programm ist zum größten Teil selbsterklärend. Man sollte nie mit
Kanonen auf Spatzen schiessen, mit BORIS wirst du schnell Erfolge
erzielen.
Hallo! Ich selbst kann auch Scilab/Scicos empfehlen. Bedienung von
Scicos ist gewöhnungsbedürftig, geht aber trotzdem ziemlich schnell
(vorallem, wenn man die Tastenkürzel kennt). Mich wundert es, dass die
Oberfläche unter Windows besser ist als unter Linux. Dokumentation und
Tutorials gibts es ja mittlerweile doch einiges an Material.
Das generieren eigener SCICOS-Blöcke geht auch sehr schön. Hilfreich
dabei ist, dass die Funktion für die Oberfläche und die Funktion für die
Simulation getrennt sind. Somit kann man z.B. relativ einfach einen
Tiefpassfilter-Block bauen (wo man nur die Grenzfrequenz im Dialog
eingibt), welche im Hintergrund wieder auf auf die Standard
LTI-Komponente von SCICOS zugreift. Man programmiert also nur mehr die
GUI neu, und sagt, wie die A,B,C,D Matrizen auszusehen haben.
Ein Studienkollege und ich haben vor nem halben Jahr etwa ein Hardware
entwickelt (basiert auf ATMega8), wo man mehrere LTI-Systeme über RS232
reinspielen kann und die dort laufen. Mittlerweile gibt's auch eine
Scilab und Scicos Toolbox. D.h. unter Scilab kann man den Regler
entwerfen und direkt in das Board runterladen lassen. Zusätzlich kann
man auch Messungen von Scilab aus durchführen lassen. Die Scicos-Toolbox
besteht aus mehreren Blöcken, wo das Hardwareboard direkt angefahren
wird (stetzen der Simulations-Parameter realtime-scaling=1). So kann man
z.B. direkt von Scicos aus ein System regeln (natürlich nicht
echtzeitfähig, aber bei langsameren Systemen funktionierts gut). Hoffe,
dass ich mal Zeit finde, um ne Homepage für das Projekt zu machen.
Hier noch einige Bilder (hoffe, die Links funktionieren):
Demo - Vergleich System in Scicos und System in der Hardware
http://weingaunity.we.funpic.de/uni/img/scicos_uclti_aufbau.jpghttp://weingaunity.we.funpic.de/uni/img/simulation_und_messung.jpghttp://weingaunity.we.funpic.de/uni/img/uCLTIBoard.jpghttp://weingaunity.we.funpic.de/uni/img/uCLTIGui-Linux-7.jpg
GnuPlot in Kombination mit LaTeX versteht sich natürlich auch.
@ Weinga-Unity
super Projekt, was ihr da gemacht habt. Wird denn da der komplette
C-Code von SCILAB generiert, automatisch kompiliert und dann der
download gestartet? Oder werden einfach nur die Reglerparameter
eingestellt?
Das Board selber kann nur LTI-Systeme aufnehmen (auch mehrere, und diese
auch noch verlinken). Dies geschieht z.B. über scilab (da werden die
A,B,C,D's runtergeladen).
Der Block in Scicos nimmt jetzt direkt verbindung mit dem Board auf und
ließt die ADC's und DAC's ein. Über 2 virtuelle ADC's am Board, können
über die RS232 Signale an das Board gesendet werden (z.B.
Sollgrößenvorgabe).
Lädt man nun ein geeignetes LTI-System in das Board, kann es einfach als
IO-Karte für Scicos verwendet werden.
Hallo...
Für die Regelungstechnik ist scilab/scicos die 1.Wahl, neben der
Simulation von Regelkreisen und regelkreisgliedern bietet SCILAB die
Möglichkeit Bodediagramme und Ortskurven zu plotten und damit auch
stabilitätsuntersuchungen zu machen.
ein Beisp. in SCILAB
s=poly(0,'s')
Kp=4
Ki=10
Kd=0.1
t1=3
t2=10
t3=0.5
I=syslin('c',(Ki)/s)
D=syslin('c',(Kd*s)*(1/(1+0.001*s)))
T1=syslin('c',1/(1+t1*s))
Fr=(Kp+I)
Fs=T1
F=Fs*Fr
Fw=F/(1+F)
Fz=((Fs/(1+F))+1)
bode([F;Kp;I;T1],0.001,100)
nyquist(F,0.001,100)
t1=[0:0.05:50]
t2=[50:0.05:100]
t3=[500:0.05:750]
plot2d(t1,csim('step(t)',t1,Fw))
plot2d(t2,csim('step(t)',t2,Fz))
...einfach in SCILAB kopieren.....
...peter