Hallo,
wollte mir einen Regler mit 9 AI (etwa 1kHz) und 3 AO bauen. Da ich
einige Labview-Kenntnisse habe, würde ich dies auch gerne wieder für die
Programmierung nehmen.
Meine Frage: kennt jemand ein günstiges modulares oder komplettes
Hardwareystem (mit DSP, FPGA o.a.), das mit Labview programmiert werden
kann? Am liebsten ohne Windows ;-)
Simulink wäre natürlich eine Alternative. Ich habe allerdings noch nicht
damit gearbeitet. Die Programmierung ist wahrscheinlich etwas
aufwändiger. Auch weiß ich nicht, ob viele Hardware-Hersteller
Simulink-Treiber mitliefern. Was würde denn so ein dSpace-system in etwa
kosten mit 9xAI (10VAC) und 3xAO (10VDC)? Kann man da z.B. auch unter
Linux arbeiten?
Ich arbeite in einer kleineren Firma und soll mir überlegen, wie man
einen recht einfachen und günstigen Echtzeit-PID-Regler aufbaut
(Echtzeit hier = etwa 10ms Antwortzeit). Zunächst als Labor-Testgerät,
das aber später für industrielle Zwecke eingesetzt werden soll,
allerdings kein Automotive.
Simulink ist für den Reglerentwurf geschaffen, man programmiert in
Blockdiagrammen quasi genau so, wie du es aus der
Regelungstechnikvorlesung kennst. LabVIEW kenne ich kaum, aber einfacher
als mit Simulink kann das gar nicht sein.
Die wenigsten Hardwarehersteller bieten Simulinktreiber für ihre
Produkte, dSPACE ist da wohl der bekannteste.
Die haben allerdings kein System für deine geringen Anforderungen.
Alleine für die Hardware wirst du da schon 10000€ hinlegen müssen, dazu
kommen dann noch die ganzen Softwarelizenzen:
- Matlab (Mathworks)
- Simulink (Mathworks)
- Real time workshop (Mathworks)
- Real time interface (dSPACE)
- ControlDesk (dSPACE)
und das ist nochmal deutlich teurer als die Hardware...
Was zahlt man denn so bei NI für eine Komplettlösung?
Wieso muss das denn so eine Lösung mit grafischer Programmierung sein?
Deine geringen Anforderungen lassen sich auch locker mit nem ARM7 für 5€
und kostenloser C-Entwicklungsumgebung erschlagen.
Wenn es denn unbedingt eine Klicki-Bunti Lösung sein soll kann ich dir
bei euren Anforderungen nur das oben verlinkte "Embedded Target for
Freescale MPC5xx" empfehlen. Dafür dann eine auf eure Bedürfnisse
zugeschnittene Hardware entwickeln und gut ist. Komfortabler kann man
Regelungstechnik kaum betreiben.
Schon mal vielen Dank für die vielen Anregungen!
Natürlich soll alles mal wieder schnell fertig sein und darf auch nicht
viel kosten ;-) Wir hatten vorher auch ein ähnliches Projekt mit eigener
Hardware (TI-DSP), das eher mühselig mit C/C++ realisiert wurde. Seitdem
gab es eine "größere personelle Fluktuation" und wir sollen jetzt keine
eigene Hardware mehr entwickeln/einsetzen, sondern nur noch die
Programmierung möglichst einfach gestalten, so dass sie auch für "Laien"
verständlich ist. Da dachte ich halt an NI und Labview, das ich aus
meiner Studienzeit kannte.
So ein Komplettsystem von NI würde auch ungefähr 10000€ kosten (etwa 50%
Software/Lizenzen und 50% Hardware). Hatte zuerst an Compact FieldPoint
gedacht, aber die AI-Module sind sehr langsam mit Abtastzeiten von
wenigen Hz bis einigen hundert Hz. Brauche hier etwas mehr, da bei den
Messsignalen Verzerrungen bis einigen kHz auftreten und ich TRMS und FFT
berechnen muss.
Dann hatte ich CompactRIO auf FPGA-Basis in Erwägung gezogen. Kostet
nach ersten Recherchen etwa genauso viel.
Ein weiterer Punkt ist, dass ich Daten über Ethernet mit einer SPS
austauschen muss und verschiedene Protokolle benötige (z.B. Modbus) und
NI eine gute Anbindung dafür bietet (OPC-Server etc.). Im Idealfall
sollte auch eine komfortable Datenbankanbindung vorhanden sein.
Nach erster Recherche und deiner Kostenabschätzung ist dSpace für mich
wohl nicht so geeignet, da diese überwiegend auf Automotive
spezialisiert sind (CAN-Bus Interface u.a. brauche ich eigentlich
nicht).
Eine Klicki-Bunti-Lösung ist auch nicht mein Favorit, aber im Hinblick
auf Entwicklungskosten, -zeit und personeller Besetzung ist dies
vielleicht die bessere Lösung.
Matlab würde mich interessieren! Gibt es auch Hersteller, die fertige
Hardware (z.B. DSP-Karte mit entsprechenden AIs und AOs) mit
Matlab-Treiber liefern? Wären dann alle Bausteine (DSP, AI, AO, DIO,
Ethernet-Port) über Matlab programmierbar?
Hallo, nettes Thema.
Für die, die etwas mehr Linux-gesinnt sind, wie wäre es mit dem:
https://www.rtai.org/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=8&MMN_position=23:23https://www.rtai.org/RTAILAB/RTAI-Lab-tutorial.pdf
... da ist weiter hinten sogar eine kleine Schaltung, wo man direkt über
die LPT etwas steuern kann. Darauf aufbauend kann man z.B. einen I²C
oder SPI machen.
Prinzip:
1) z.B. Debian Linux (KDE)
2) Darauf den RTAI-Patch ausführen -> Echtzeifähiges Betriebssystem
3) Mit SCILAB/SCICOS (OpenSource zu MATLAB/SIMULINK) Regler entwerfen
und Echtzeit-Task generieren lassen
4) Echtzeittask starten und mit XRTAILAB z.B. Die Signale darstellen
lassen (vgl. ControlDesk)
IO-Boards: Einfach kaufen (gibt genügend) oder selber was basteln (z.B.
über die LPT, hab ich so gemacht, läuft einfach nur super!!!)
Kosten:
Einige Wochen bis man den Dreh raus hat mit dem Aufsetzen, dann klappts
innerhalb von 6 Stunden + irgend ein PC + IO-Karte um 100-200€ oder
etwas Lötkolbenarbeiten
Fazit:
Hat man den Dreh raus, besitzt man ein universales Werkzeug für
Testzwecke oder den echten Einsatz.
mfg Weinga-Unity
Hallo,
gibt es eine einfache Möglichkeit, mit RTAI und Scilab/Scicos Daten über
einen Ethernet-Port mit einer SPS auszutauschen (z.B. Modbus-Protokoll)?
Oder muss man alles von Hand programmieren? Wenn möglich, würde ich auch
gerne den Zugriff auf Parameter und die Visualisierung webbasiert über
Ethernet machen (über Webserver).
RTAI ist mir auch schon aufgefallen, hab aber noch nie was damit
gemacht. Außerdem finde ich die Bedienung von SCIOS grausam, aber
anscheinend gibt es ja auch ein Simulink Blockset...
Muss der generierte Code nachher auch auf dem Bedien-PC laufen, oder
gibt es auch ein Cross-Target?
Ich habe mal ein Regler-Modul mit nem MPC565 und einiges an I/O gemacht.
Es währe ja ganz interessant dafür eine Anbindung zu erstellen...
@Gast
Für Simulink gibt es meines Wissens nach kein Ethernet-Blockset
Hallo, es sieht so aus:
Wegen Bedienung von SCICOS ist grausam: Ich habe auch auf der UNI zuerst
mit Simulink gearbeitet. Umstieg war gewöhnungsbedürftig. Mittlerweile
stell ich mich in Simulink wie ein Anfänger an und in SCICOS flutscht es
nur so.
Man kann über TCP/IP und/oder XML-RPC auf den Echtzeittask zugreifen.
Habe da auch schon mit einer .NET Implementierung bekonnen (ist aber
noch nicht fertig; keine Notwendigkeit momentan).
Man kann sich jederzeit eigene Blöcke neu schreiben (in C). Wenn man da
ne Ethernet-Funktion implementiert, sollte sich da schon was machen
lassen.
Also für unmöglich halte ich es nicht. Hat man sich mal die Arbeit
angetan und alles schön in einen Block verpackt, ist die weitere Arbeit
auch nur mehr drag&drop. Vielleicht liese sich diese Bibliothek geleich
verwenden und man müsste nur mehr einen SCICOS-Block herum bauen
(http://pvbrowser.de/pvbrowser/sf/manual/rllib/html/classes.html). Das
ganze sollte dann eigentlich auch gleich direkt unter WIN laufen
(SCICOS, realtime Scaling=1 aktivieren, und auf Simulation Drücken).
Wegen WEB-Basierten Zugriff: Kuck mal nach JRTAILAB (ist zwar nicht ganz
web-basiert, aber fast).
mfg W.K.
Hallo W.K.,
der link sieht nach erstem Durchblättern sehr interessant aus, da auch
Klassen für Siemens-SPSen vorhanden sind, mit denen ich vorwiegend zu
tun habe! Werde mich da mal durchforsten. Vielen Dank!
Gruß
Hallo,
ich habe gerade was mit RTAI + SCICOS rumgespielt. Funktioniert ja
wirklich prima!
Nen schnellen Einstieg ohne Installation gibts hier:
http://www-lar.deis.unibo.it/people/gpalli/files/rtai_knoppix.iso
(damit bin ich gerade online, von den Echtzeittasks die gerade im
Hintergund laufen merke ich nichts.)
Und die Programmierung von RTAI per Hand scheint auch nicht besonders
schwer zu sein, eine sehr gute deutsche Zusammenfassung gibts bei
Wikipedia:
http://de.wikipedia.org/wiki/RTAI
Gruß,
Thomas
Ach ja, richtig schick ist, dass man mit xrtailab auf alle Variablen im
Echtzeittask zugreifen, grafisch darstellen und auch ändern kann.
Hat zwar lange nicht den Komfort von ControlDesk oder PROVEtech, aber
schon klasse was mittlerweile mit OpenSource alles möglich ist.
Hi,
interessant wird es, eigene GUI zu erstelllen und diese mit dem
Echtzeittask zu verbinden. Habe auch mal einige Versuche mit RTAI-XML
gemacht, aber wie schon erwähnt, nicht fertiggestellt. Für einfachere
Sachen halte ich die Kommunikation über FIFO (gibt da Blöcke in SCICOS)
für viel effektiver. C-Beispiele habe ich im RTAI-Tutorial gefunden.
@LIVE-CD: mit der habe ich auch begonnen :)
mfg Weinga-Unity
Hallo Leute!
Also ich habe da ein sehr ähnliches Problem!
Ich soll bei einem Trainingsgerät für Judokas eine Adaptierung
vornehmen.
Und zwar arbeitet das System mit dSpace (Simulink, Matlab) als Regler
und LabView als Auswertungstool.
3 sensoren und 4DI, 3AI, 3AO.
Meine Aufgabe ist es eine Kostengünsitge Variante zu finden das DSpace
System zu ersetzen da dies nicht der Institution gehört.
Kann ich das einfach mit einem µController machen?
Vielen Dank im voraus
Julia