INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Schleifenpause



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

08.03.2010, 12:01
Beitrag #1

iMax Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Feb 2010

8.6
-
de

47***
Deutschland
Schleifenpause
Hallo

Ich habe ein VI, in dem ich den Takt eines Motors erfasse. Ich bekomme pro Wellenumdrehung 992 Signale [62:1 Getriebe; 16 Signale / Motorumdrehung] und so eine Wellenumdrehung dauert ca. 2s. Also habe ich pro Sekunde ca. 500 mal ne 1 und 500 mal ne 0. Ich hab das so realisiert, dass ich erst die 1, dann die 0 abfrage. Funktioniert auch prima, allerdings läuft der Cache voll und so alle halbe Minute ca. bleibt der Zähler für einige ms stehen. Ich brauche also irgendwo ne Pause, allerdings komme ich mit 1 ms nicht wirklich hin, weil ich dann einige Signale verpasse. Da ich insgesamt 2500 Zyklen haben muss, würde sich das aufsummieren und mein Motor würde an der falschen Stelle anhalten.

Also meine Frage: Gibt es eine Möglichkeit eine Pause/ Wartezeit einzufügen von ca. 0.5 ms? Dann sollte mein VI funktioniern.

Und entschuldigt bitte die umständliche Erklärung des VI's, aber an meinem Arbeitsrechner habe ich keinen Zugriff auf das Netzwerk und kann nichts hochladen.

Danke schonmal! Max

<span style="color:#000000">So, jetzt aber ... - Kannst Du nochmal eben? - Nee keine Zeit! - Ich geb Dirn Kaffee aus ... - Was wolltest Du genau? :-D<!--sizec--><!--/sizec--></span>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.03.2010, 12:40
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Schleifenpause
' schrieb:Also meine Frage: Gibt es eine Möglichkeit eine Pause/ Wartezeit einzufügen von ca. 0.5 ms? Dann sollte mein VI funktioniern.
Nein, nicht unter Windows. Selbst die 1ms Pause ist dort nicht genau.

Was ich mich frage: Wie erfasst du die Taktsignale? Mit welcher Hardware? Wäre es nicht besser, das mit einem Counter zu machen?
Wieso läuft dein Cache voll? Dazu wäre das VI oder zumindest ein Screenshot des BD hilfreich! (Es gibt doch USB-Sticks).

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.03.2010, 13:21
Beitrag #3

iMax Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Feb 2010

8.6
-
de

47***
Deutschland
Schleifenpause
Hmm ok, das ist auf jeden Fall schonmal hilfreich.Top1

Ich erfasse die Signale mit einem SICONN USB2 von Geitmann.

Das Ding hat auch einen Countereingang, allerdings sind die mitgelieferten Treiber dafür nicht so prickelnd. Ich kann nämlich den Counter nicht einfach mal eben resetten, wenn ich Impulse zählen möchte. Auch das Auslesen an sich gestaltet sich schon schwierig, weil mir der Counter nur als Array ausgegeben wird und nicht als Integer. Also ist da auch nochmal Rechenarbeit gefragt, die wiederrum lässt mich den rechten Zeitpunkt verpassen, zumindest habe ich immer das Gefühl Wink

Naja, ich werde dann mal sehen, dass ich mir meine Signale Hardwaremäßig verlangsame, also mir nur jedes 4. Signal geben lasse oder sowas ... gibt ja IC's die sowas regeln können. Dann hab ich auch genug Zeit für Pausen.

Aber malOfftopic2.. Warum kann Windows sowas denn nicht? Mal davon ab, dass jeder, der irgendwas braucht auf "meinem" Rechner seine Treiber installiert und das macht das Ding ja auch nich unbedingt schneller -.-

<span style="color:#000000">So, jetzt aber ... - Kannst Du nochmal eben? - Nee keine Zeit! - Ich geb Dirn Kaffee aus ... - Was wolltest Du genau? :-D<!--sizec--><!--/sizec--></span>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.03.2010, 13:55 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2010 13:55 von Y-P.)
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Schleifenpause
Also bei NI-Karten läuft das so ab, dass die Signale auf der Karte erfasst und gepuffert werden und Du dann mit DAQmx von Zeit zu Zeit ganze Datenpakete abholst. Dann juckt die 1 ms auch nicht.
Wie das mit Deinem Treiber geht und ob Deine Daten auch auf der Karte gepuffert werden können, weiß ich allerdings nicht. Unsure

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.03.2010, 13:55 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2010 14:09 von Movie.)
Beitrag #5

Movie Offline
LVF-Grünschnabel
*


Beiträge: 38
Registriert seit: Oct 2008

2010
-
de

36043
Deutschland
Schleifenpause
Hallo

Wie verzögerst du denn? Ich hab festgestellt das die Timing VI "warten" und "bis zum nächstenvielfachen warten" im (ms) bereicht nicht so toll sind um einen konstanten Takt zuerhalten.

"zeitgesteuerte Strukturen" sind da schon zuverlässiger und wenn dich nur das eine High von den 500 Low Werten interessiert könnte vielleicht auch eine "Ereignisstruktur" für dich interessant sein?

Oh hab gerade noch mal deine frage gelesen du hast ja nicht ein High signal auf 500 Low sondern beide zustände gleichverteilt ok da weis ich nicht ob da die Ereignisstruktur mit kommt. Sorry
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.03.2010, 08:02
Beitrag #6

iMax Offline
LVF-Grünschnabel
*


Beiträge: 10
Registriert seit: Feb 2010

8.6
-
de

47***
Deutschland
Schleifenpause
Ich habs jetzt so gelöst, dass ich mir einfach nen HEF 4060 (wem das nichts sagt, das ist ein einfacher Digitalzähler) da hinter gebaut und der gibt mir jetzt schöne Signale. Ich greif den einfach am 4. Port ab, also an der 8, sodass ich jetzt nur noch 1/16 so viele Signale habe wie vorher. Dann läuft mein VI auch mit nur 2% Rechnerbelastung, anstatt 40Smile

Zitat:Wie das mit Deinem Treiber geht und ob Deine Daten auch auf der Karte gepuffert werden können, weiß ich allerdings nicht. unsure.gif

Öhm ... da hab ich auch keine Ahnung von, ehrlich gesagt. Aber jetzt funktionierts einwandfrei.

Zitat:"zeitgesteuerte Strukturen" sind da schon zuverlässiger und wenn dich nur das eine High von den 500 Low Werten interessiert könnte vielleicht auch eine "Ereignisstruktur" für dich interessant sein?

Also mit ner Ereignissturktur habe ich das Problem, dass mein LabVIEW mir schonmal ein High Signal als zwei ausgegeben hat. Deswegen hab ich da jetzt so gut es geht beim Timing drauf verzichtet. Und Zeitgesteuerte Strukturen habe ich noch nicht mit gearbeitet.

   

Ich habe das so gelöst. "Get first device" gibt mir automatisch die Kartennummer, weil ich nur ein Geitmann-Device am Rechner habe. Und mit "Read Bit" kann ich dann einen eingestellten Kanal lesen, ob der 1 oder 0 ist.

Kann ich hier in dem Forum eigentlich Topics auch als "gelöst" oder sowas markieren?

Gruß, Max.

<span style="color:#000000">So, jetzt aber ... - Kannst Du nochmal eben? - Nee keine Zeit! - Ich geb Dirn Kaffee aus ... - Was wolltest Du genau? :-D<!--sizec--><!--/sizec--></span>
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Gehe zu: