18.08.2011, 14:32
Beitrag #1
|
|
|
18.08.2011, 14:50
(Dieser Beitrag wurde zuletzt bearbeitet: 18.08.2011 14:51 von GerdW.)
Beitrag #2
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Stopp Button funktioniert nicht
Hallo Thomas,
think dataflow!
Der Stopp-Button wird genau einmal abgefragt: nämlich bevor die Schleifen starten - weil der Button als Eingangsgröße für die Schleifen verdrahtet ist. Alles was danach passiert ist irrelevant...
QnD-Lösung: Lokale Variablen des Buttons in alle Schleifen verteilen...
P.S.:
- StyleGuide beachten: links-nach-rechts-Verdrahtung ist immer vorteilhaft...
- Das VI soll auf einem cRIO laufen. Hat das Ding einen Bildschirm? Oder wie willst du den Stopp-Button betätigen?
|
|
|
18.08.2011, 14:55
Beitrag #3
|
|
|
19.08.2011, 10:20
(Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2011 10:22 von thomasd.)
Beitrag #4
|
thomasd
LVF-Grünschnabel
Beiträge: 20
Registriert seit: Mar 2011
8.5
2010
kA
|
RE: Stopp Button funktioniert nicht
(18.08.2011 14:50 )GerdW schrieb: - Das VI soll auf einem cRIO laufen. Hat das Ding einen Bildschirm? Oder wie willst du den Stopp-Button betätigen?
Erstmal Danke für die schnellen Antworten!
Werd mich jetzt mal damit beschäftigen.
Ich wollte das ganze immer mit Laptopunterstützung laufen lassen, zwecks Messdatenüberwachung am Bildschirm. Also das VI auf meinem Rechner ("Mein Computer" siehe Projekt) laufen lassen und das FPGA Target steuern.
(18.08.2011 14:55 )dimitri84 schrieb: Boah ...
Zu Blockdiagramm: Alle Achtung.
Nein, im Ernst: Du musst anfangen subVIs von Codeabschnitten zu bauen und das ganze Gerüst auf eine Monitorgröße zu reduzieren. Solche Tapeten über Tapeten von Blockdiagramm macht einfach kein Spass.
Hallo Dimitri!
Die einzelnen Codeabschnitte werden noch zum SubVI zusammengefasst, danke für den Tipp. Ist halt mein erstes Labview Projekt.
|
|
|
19.08.2011, 12:38
(Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2011 12:39 von thomasd.)
Beitrag #5
|
|
|
19.08.2011, 12:40
Beitrag #6
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Stopp Button funktioniert nicht
Hallo Thomas,
einfach mal Debugging mit Highlighting benutzen und selbst schauen, wo es hakt?
|
|
|
19.08.2011, 13:07
Beitrag #7
|
|
|
19.08.2011, 13:38
Beitrag #8
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Stopp Button funktioniert nicht
Weil deine Eventstruktur "EWIG" auf ein Ereignis wartet, bevor sie beendet wird.
Mgl. Lösungen:
- ValueChange für Stop-Button als Event abfangen.
- Einen Wert von z.B. 50 am Timeout-Terminal der Event-Struktur anschließen, damit der Timeout-Case regelmäßig aufgerufen wird.
Rückfrage: Ich hoffe, dein VI läuft nicht auf einem RT-Target? Da funktionieren nämlich die ValueChange-Events nicht.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
19.08.2011, 14:59
Beitrag #9
|
Tim.P_50€
Ich hab keine Ahnung
Beiträge: 45
Registriert seit: Oct 2008
8.2, 8.5.1, 8.6,8.6.1,2009,2010,2011
2007
DE_EN
12305
Deutschland
|
RE: Stopp Button funktioniert nicht
Hallo,
vorab sorry für die kommenden harten Worte.
ALSO:
1. Wenn du weiterhin Projekte mit LabVIEW realisieren willst, würde ich dir ganz dringend Raten dich zubelesen über die gängisten Programmierstrukturen mit LabVIEW
(Stichwort Zustandsmaschinen und Producer Consumer loop)
2. Guck dir mal bitte den Sinn einer Eventstruktur an, den hast du hier (in meinen Augen) leider total verfehlt.
So wie ich das sehe rufst du mehrmals ein und das gleich SubVI (Pausenlaenge..vi) auf, ist dieses VI Reentrant?
Sollen wirklich all Bedienelemten und das SubVI x-mal abgearbeitet werden, nur weil du einen Wert änderst?
3. Achte bitte darauf das deine Schleifen getimed werden sonst schlucken sie Performance.
4. Dein DMA Read soll einen Wert auslesen mit einem Timeout von -1. Das Bedeutet der DMA Fifo wartet solange bis ein Wert im Speicher vorhanden ist. ACHTUNG wenn der DMA Fifo wartet schluckt er auch erheblich Performance bzw. erhöt die CPU Last.
5. Warum öffnest du x-mal eine FPGA Refnum, es würde auch einmal reichen.
Ich weiß aller Anfang ist schwer und wenn es dein erstes Projekt ist, sind die Fehler mehr als Verständlich.
Die Punkte oben sollen nur anreize sein. Evtl. helfen Sie dir ja etwas weiter.
Viel Spass noch mit LAbVIEW aber guck dir bitte ein paar Unterlgen zur Programmierung mit LV an. Glaub mir es zahlt sich aus!
Gruß
Tim
|
|
|
22.08.2011, 09:59
|
thomasd
LVF-Grünschnabel
Beiträge: 20
Registriert seit: Mar 2011
8.5
2010
kA
|
RE: Stopp Button funktioniert nicht
(19.08.2011 14:59 )Tim.P_50€ schrieb: 1
2. Guck dir mal bitte den Sinn einer Eventstruktur an, den hast du hier (in meinen Augen) leider total verfehlt.
So wie ich das sehe rufst du mehrmals ein und das gleich SubVI (Pausenlaenge..vi) auf, ist dieses VI Reentrant?
Sollen wirklich all Bedienelemten und das SubVI x-mal abgearbeitet werden, nur weil du einen Wert änderst?
5. Warum öffnest du x-mal eine FPGA Refnum, es würde auch einmal reichen.
I
Hi Tim!
Das mit der Eventstruktur war mir danach auch aufgefallen, aber ist ja keine Arbeit gewesen jede Berechnung in ein eigenen Case zu packen. Somit läuft auch wirklich nur die Berechnung, die wirklich benötigt wird.
Die Sache mit dem FPGA Refnum hatte ich auch schonmal versucht, allerdings sind dann immer die Speicher von den FIFOs vollgelaufen, deshalb hab ich es dann wieder so belassen. Da wäre ich dann aber wahrscheinlich wieder beim Punkt der richtigen Timeout- Einstellung.
Vielen Dank für die Kritik, hilft mir alles weiter.
Groß
Thomas
|
|
|
| |