09.03.2006, 18:05
Beitrag #1
|
Mr.T
LVF-SeniorMod
Beiträge: 1.007
Registriert seit: Jun 2005
2009
2005
kA
88400
Deutschland
|
Desktop PC aber RealTime
Hallo zusammen!
Inzwischen möchte ich mich nun mit der RT-Programmierung beschäftigen.
Es ist ja möglich, den Desktop PC dazu zu benutzen:
http://digital.ni.com/public.nsf/3efedde43...75?OpenDocument
Hat das schonmal jemand gemacht und kann mir helfen?
Meine erste Frage ist: Wenn ich mein RT-Programm erstellt habe und auf dem Windowsrechner laufen lasse, kann ich auf demselben Rechner auch das Frontpanel meines Programms benutzen, oder geht wirklich nur die Vernetzung zweier Systeme?
Danke und Grüße!
|
|
|
09.03.2006, 18:19
Beitrag #2
|
thomas.sandrisser
LVF-SeniorMod
Beiträge: 1.298
Registriert seit: Sep 2005
xxxx
2005
EN
78759
United States
|
Desktop PC aber RealTime
3mal erfolgreich 1mal nicht erfolgreich gemacht.
Du kannst das Frontpanel von deinem RT Programm benutzen, das waere aber nicht im Sinne von RT.
RT bedeutet, dass ein VI zeitkritisch laeuft und zur Gaenze von stoerenden Faktoren (Thread-Wechsel, Mausklicks, Keyboardklicks) abgeschirmt ist.
Dem gegenueber steht ein anderes VI, dass dem User das Monitoren bzw. Controlling bietet (diese beiden laufen am RT System -> ohne Frontpanel). Am anderen Ende, sprich am Host Rechner laeuft dann wiederum ein VI, dass mittels TCP/IP oder neuerdings auch Shared Variables mit dem RT System kommuniziert, ohne die RT Eigenschaften zu behindern.
Zwischen zeitkritischem VI und "Kommunikationsvi" (welche beide am RT laufen) werden die Daten mittels FIFO Speichern ausgetauscht, die im Sinne von RT arbeiten.
|
|
|
11.03.2006, 08:39
Beitrag #3
|
Mr.T
LVF-SeniorMod
Beiträge: 1.007
Registriert seit: Jun 2005
2009
2005
kA
88400
Deutschland
|
Desktop PC aber RealTime
Danke erstal.
Wenn ich aber zum Beispiel als RT-Aufgabe eine Servoachse fahren möchte, muss ich ja irgendwo zum Beispiel einen positionswert vorgeben können, also brauche ich auf jeden Fall ein Frontpannel.
Wenn ich das Frontpannel nich in Realtime benutzen kann, sehe ich folgendes Problem:
Servoachsen könnten ja auch mit einem Button im Tippbetrieb, oder "Einrichten" solange "fahren", bis ein Button wieder losgelassen wurde. Also muß ich garantieren können, dass das loslassen des Buttons innerhalb einer gewissen Zeit erkannt wird, sonst fährt der Motor ja weiter. Garantieren kann man dies doch aber nur in Realtime - oder sehe ich das Falsch?
Grüße!
|
|
|
11.03.2006, 09:30
Beitrag #4
|
cb
LVF-SeniorMod
Beiträge: 1.731
Registriert seit: Feb 2006
2018SP1
2001
EN
40xxx
Deutschland
|
Desktop PC aber RealTime
ein RT VI kann schon ein Frontpanel haben, aber in der Regel wird des nicht genutzt. Und eigentlich werden sie GAR NICHT genutzt um einenen Benutzer interagieren zu lassen, höchstens um etwas zu visualisieren ...
Zudem: RT unterstützt keine latching Booleans, also ist da nix mit "Knopf Drücken und Achse fährt bis wieder losgelassen" ...
Wenn man mit RT arbeitet braucht man 2 PCs: einmal das RT-Ziel auf dem die zeitkritischen Sachen bearbeitet werden und einen Steuerungs Rechner, auf dem visualisiert wird, Daten eingegeben werden, etc. Die Kommunikation zwischen den beiden Systemen erfolgt in der Regel über TCP/IP, oder in LV 8 über shared variables ...
|
|
|
11.03.2006, 09:42
Beitrag #5
|
thomas.sandrisser
LVF-SeniorMod
Beiträge: 1.298
Registriert seit: Sep 2005
xxxx
2005
EN
78759
United States
|
Desktop PC aber RealTime
Du kannst das Frontpanel schon im RT benutzen, nur dann kannst gleich wieder auf Windoof zurueck greifen!
Nehmen wir mal an, dass du auf der einen Seite ein RT System verwendest, ABER auf der anderen Seite keine RT Applikation generierst.
D.h. du programmierst auf deinem Host Rechner - verbindest dich aufs RT System und drueckst auf den Run-Button - das VI wird in den fluechtigen Speicher kompiliert und laeuft vor sich hin.
Am Host System siehst du dann ggf. Aktualisierungen diverser Elemente.
Schon mal nachgedacht, wie die "Werte" von A nach B bzw. B nach A uebertragen werden? In deinem Projekt hast du keine TCP/IP Funktionen, Shared Variables oder sonstiges verwendet.
D.h. durch die staendige Kommunikation mit dem Host kannst du niemals garantieren, dass innerhalb einer harten Grenze auf Aktionen reagiert wird (was jedoch im Sinne von RT sein sollte -> RT ist nicht schnell sondern deterministisch!)
Wenn du vor hast, dein Programm so aufzubauen bzw. anzufangen, dann verzichte lieber komplett auf das RT System und starte lieber auf deinem Host Rechner den Windows-Task-Manager - Prozesse - such dir die LabVIEW.exe raus - rechtsklick - Prioritaet - Hoeher als normal...
Dann hast ungefaehr den gleichen Effekt
|
|
|
13.03.2006, 07:42
Beitrag #6
|
Mr.T
LVF-SeniorMod
Beiträge: 1.007
Registriert seit: Jun 2005
2009
2005
kA
88400
Deutschland
|
Desktop PC aber RealTime
Tja, dann muß ich das wohl so machen.
Schade, dass also eine "richtige" echtzeit-Visualisierung nicht geht.
Ist denn diese Vorgehensweise ohne RT zulässig? Immerhin könnte etwas Kaputt gehen, wenn sich Windoof beim Tastendruck aufhängt - oder noch schlimmeres.
Danke an Euch zwei!
|
|
|
09.06.2006, 14:07
Beitrag #7
|
Mr.T
LVF-SeniorMod
Beiträge: 1.007
Registriert seit: Jun 2005
2009
2005
kA
88400
Deutschland
|
Desktop PC aber RealTime
Hallo zusammen.
Jetzt setze ich diesen alten Thread mal fort...
Inzwischen soll das System als Standalone - System erstellt werden.
Nachdem ich nun die Anforderungen erfüllt habe, fährt der Desktop IPC aber noch nicht sauber im RT hoch.
Ich bekomme die Meldung:
System Error KERNEL.446610 LFS Error: Not a DOS Disk: pc_dskinit
Es wird jedoch die korrekte TCP - Adresse (0.0.0.0 etc.) Angezeigt. Im MAX erscheint das System aber trotzdem nicht.
Wisst Ihr da vielleicht noch was?
Gruß!
Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
|
|
|
09.06.2006, 20:57
Beitrag #8
|
thomas.sandrisser
LVF-SeniorMod
Beiträge: 1.298
Registriert seit: Sep 2005
xxxx
2005
EN
78759
United States
|
Desktop PC aber RealTime
Kernel Fehler hatte ich auch schon des oefteren, nur das Problem war, das der Grund nicht eruiert werden konnte.
Ist dein Desktop PC auf Multithreading enigestellt oder ist es ein Dual-Core Prozessor?
Verwendest du eine interne oder externe Netzwerkkarte?
Wenn du eine externe Netzwerkkarte zusaetzlich zur internen verwendest, hast dann schon versucht die interne zu deaktivieren/aktivieren?
Hast evtl. einen 2ten Rechner wo du es austesten kannst?
Ist dein System auf FAT formatiert?
Mit welchen Boot-Disketten hast es ausgetestet (nur mit der Format Diskette oder auch mit der Safe-Mode Diskette)?
Welche Frontside-Bus Taktung hat der Rechner? (Hat bei mir z.B. einen Unterschied ausgemacht - 800 hat nicht funktioniert, 400 schon...)
Hast auch diesen Absatz beruecksichtigt:
LabVIEW Real-Time requires that the BIOS include the PCI BIOS interface funtion set. Whether the BIOS includes PCI BIOS support is generally not specified on data sheets and may be difficult to determine. If the PCI BIOS interface function set is not present in the BIOS, LabVIEW Real-Time will not be able to access PCI devices and will generally display an error that it failed to find and configure a network adapter. An example motherboard which does not include PCI BIOS support is the Intel® D915GEV.
|
|
|
10.06.2006, 14:52
Beitrag #9
|
Mr.T
LVF-SeniorMod
Beiträge: 1.007
Registriert seit: Jun 2005
2009
2005
kA
88400
Deutschland
|
Desktop PC aber RealTime
Erstmal Dank für den unermüdlichen Einsatz am Wochenende um kurz vor Zehn!
Ich antworte mal der Reihe nach:
Multithreading [disabled] (im BIOS).
Interne Netzwerkkarte - WIndows zeigt erfolgreiche Verbindung an - MAX nicht..
Habe den Rechner auf FAT32 formatiert: 1. Part. 10GB 2. Part. Unformatiert 60GB.
Ich habe alle Bootmöglichkeiten probiert - immer das selbe Ergebnis: Safe Mode und Fehler.
Taktung? Hmm, wo finde ich das?
Im BIOS gibt´s das PCIPnP Config., mit z.B. PCI latency Timer [32] etc. ich denke, das ist das Erwünschte.
Also Vielen Dank und frohes WM-WE!!
Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
|
|
|
11.06.2006, 20:59
|
thomas.sandrisser
LVF-SeniorMod
Beiträge: 1.298
Registriert seit: Sep 2005
xxxx
2005
EN
78759
United States
|
Desktop PC aber RealTime
Die Taktung sollte ebenfalls im Bios aufgefuehrt sein, ansonsten in den Specs.
Ich glaube, reine Vermutung, dass es an der internen Netzwerkkarte liegt.
Hast du evtl. die Moegl auf eine externe zurueck zu greifen?
Pro 10/100S z.B.
|
|
|
| |