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 

Zykluszeit bei DAQmx messen



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!

30.04.2010, 20:23 (Dieser Beitrag wurde zuletzt bearbeitet: 30.04.2010 20:25 von Matze.)
Beitrag #1

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Zykluszeit bei DAQmx messen
Hallo,

ich habe den halben Tag versucht, die Zykluszeit zu messen, die benötigt wird, um Daten über DAQmx zu lesen und in einem Graphen darzustellen.
Wenn ich eine Sequenzstruktur nehme, im 1. Segment einen Timer starte, im 2. die Daten auslese und anzeige und im 3. die Zeit stoppe, ist meine Zykluszeit (falls die das überhaupt ist) 0 ms.

Ich vermute, die Pufferung der Daten in der DAQ-Hardware macht hier Schwierigkeiten.

Wie kann ich denn mit LabVIEW die genaue Zykluszeit bestimmen (speziell in Verbindung mit DAQmx, um diese mit einer SPS vergleichen zu können)?
Egal ob mit DAQ Assistent oder auf klassischem Weg, es führte zum gleichen Ergebnis.

Es wäre schön, wenn das Vorgehen auch fürs Ausgeben von analogen/digitalen Daten funktioniert bzw. ganz allgemein.

Grüße, Matze

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.04.2010, 20:40
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Zykluszeit bei DAQmx messen
' schrieb:Wie kann ich denn mit LabVIEW die genaue Zykluszeit bestimmen
Welche Zykluszeit willst du denn messen, also wissen?

Die Hardware, die Messwerte sampled, kann eine Zykluszeit haben. Die entspricht dann aber der Abtastrate. Auch ein Programm kann eine Zykluszeit haben. Das wäre dann z.B. die Dauer eine While-Schleife.

Ein DAQmx an sich hat keine Zykluszeit. Ein DAQmx-Rd liest den Puffer leer (oder holt sich die geforderte Anzahl etc.). Und da dieses Lesen sehr schnell geht - und vom Samplen entkoppelt ist - dauert dieses Lesen halt nur sehr kurz (< 1ms).

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.04.2010, 21:33
Beitrag #3

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Zykluszeit bei DAQmx messen
Hallo,

ich möchte LabVIEW mit einer SPS vergleichen. Daher wird es die Zeit für einen Schleifendurchlauf sein.
Dann habe ich wohl die Zykluszeit von DAQmx gemessen, die nahezu Null beträgt, wie du selbst schreibst.

Wie kann ich denn die gesamte Zykluszeit ermitteln?

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.05.2010, 06:25
Beitrag #4

dimitri84 Offline
Astronaut
*****


Beiträge: 1.496
Registriert seit: Aug 2009

2020 Developer Suite
2009
DE_EN

53562
Deutschland
Zykluszeit bei DAQmx messen
Theoretisch: Anzahl der Samples (die du pro Iteration liest) * dt
Praktisch: Mit einem Schieberegister den aktuellen Timerwert mit dem letzten Timerwert vergleichen.

Gruß dimitri

„Sag nicht alles, was du weißt, aber wisse immer, was du sagst.“ (Matthias Claudius)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.05.2010, 08:22
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Zykluszeit bei DAQmx messen
' schrieb:ich möchte LabVIEW mit einer SPS vergleichen. Daher wird es die Zeit für einen Schleifendurchlauf sein.
Genau genommen verstehe ich dein Ansinnen immer noch nicht. Ich gehe mal von folgendem aus: Du hast in der SPS einen zyklischen Ablauf in Form einer Schleife. In der SPS kannst du jetzt den Schleifendurchlauf = Zykluszeit mit dem OP-SchlagMichTot feststellen. Ähnliches willst du jetzt in LV machen: Also Messen der Dauer einer Schleife. Diese beiden Werte kannst du dann vergleichen. Willst du das so haben?

Zitat:Wie kann ich denn die gesamte Zykluszeit ermitteln?
So:
' schrieb:Mit einem Schieberegister den aktuellen Timerwert mit dem letzten Timerwert vergleichen.

Ob es sinnvoll ist, SPS mit LV zu vergleichen, kommt darauf an, was genau der Sourecode machen soll. Ein Beispiel:
In der SPS wird man einen (1) Wert samplen, berechnen und für Dokumenation speichern. Hieraus kann man eine Zykluszeit bestimmen. In LV geht das etwas anders: In LV werden x Werte gesamplet, x Werte berechnet und x Werte für Dokumentation gespeichert. Diese X Werte entsprechend dann einer Zykluszeit. Willst du die mit SPS vergleichen, musst du den LV-Wert also durch X teilen.

Willst du den Ablauf Samplen-Berechnen-Ausgeben (also eine Steuerung/Regelung) vergleichen - geht das mit LV unter Windows per se nicht.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.05.2010, 21:26 (Dieser Beitrag wurde zuletzt bearbeitet: 01.05.2010 21:26 von Matze.)
Beitrag #6

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Zykluszeit bei DAQmx messen
' schrieb:Ähnliches willst du jetzt in LV machen: Also Messen der Dauer einer Schleife. Diese beiden Werte kannst du dann vergleichen. Willst du das so haben?
Ja, genau.

Ich lasse mir euren Vorschlag morgen durch den Kopf gehen und gucke, ob ich es verstanden habe. Danke vorab schonmal.

' schrieb:Willst du den Ablauf Samplen-Berechnen-Ausgeben (also eine Steuerung/Regelung) vergleichen - geht das mit LV unter Windows per se nicht.
Hm, wie meinst du das?

Dass ein normales Windows nicht echtzeitfähig ist, ist klar. Aber wieso lässt sich keine Regelung realisieren?

Grüße

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.05.2010, 22:13 (Dieser Beitrag wurde zuletzt bearbeitet: 01.05.2010 22:15 von IchSelbst.)
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Zykluszeit bei DAQmx messen
' schrieb:Aber wieso lässt sich keine Regelung realisieren?
Eine Regelung als solche geht schon - aber eben nicht mehr, wenn die Zykluszeit kleiner 10ms sein soll (was eh schon viel ist). Da würden möglicherweise nicht wiederholbare "Unterbrechungen" im Regler auftreten. Regelungen ab 100ms, also z.B. für Temperaturen, kann man aber machen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2010, 09:23
Beitrag #8

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Zykluszeit bei DAQmx messen
Hm ok.

Habe ich das mit der Zeitmessung richtig umgesetzt (Zuhause habe ich kein DAQ installiert, daher kann ich das nicht komplett zusammenstellen)?

   

In das 1. Sequenz-Frame würde ich dann den DAQ-Code schreiben (DAQ Assistent) oder beim klassischen Weg eben auslesen und schreiben (der Task wird vor der Schleife erzeugt und danach beendet).

Seltsam ist, dass beim gezeigten Blockdiagramm eine Zeit < 100 ms angezeigt wird, obwohl ich 100 ms pausieren lasse. Und bei Windows müsste das doch eher länger als 100 ms sein, da andere Prozesse in der Zwischenzeit auch abgearbeitet werden.

Grüße

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2010, 10:47 (Dieser Beitrag wurde zuletzt bearbeitet: 02.05.2010 10:55 von IchSelbst.)
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Zykluszeit bei DAQmx messen
' schrieb:Habe ich das mit der Zeitmessung richtig umgesetzt?
Erst mal ja.

Zitat:Seltsam ist, dass beim gezeigten Blockdiagramm eine Zeit < 100 ms angezeigt wird, obwohl ich 100 ms pausieren lasse.
Hilfe lesen!Tongue

Du lässt nicht pausieren, du warten bis zum nächsten Raster von 100ms. Du verwendest nämlich den Metronom. Der wartet "im Raster". Wenn du das Element Wait(ms) verwendest, geht's.

Wenn dein Programm startet zum Zeitpunkt 1295ms und der Metronom wartet bis zum nächsten Vielfachen von 100ms, also bis zum Zeitpunkt 1300ms, dann ist die Differenz 5ms => Anzeige kleiner als 100ms. Der Fehler tritt allerdings nur beim ersten Schleifendurchlauf auf. Interessant ist aber, dass sich der Fehler über mehrere Sekunden hinzieht. Das kommst dadurch weil die ersten 95ms halt ewig fehlen. Der prozentuale Anteil der 95ms an der Gesamtzeit wird aber kleiner, sodass nach Minuten doch wieder 100ms heraus kommt.

Du kannst auch folgendes machen: Nimm vor der While-Schleife nicht das Element "Timer auslesen", sondern den Metronom (hat den Ausgang "aktuelle Zeit in ms"). In der Schleife lässt du dann den Metronom und nimmst auch hier den Ausgang "Aktuelle Zeit". Jetzt kommt sofort und sehr oft genau 100,000 ms heraus.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.05.2010, 10:58
Beitrag #10

Matze Offline
LVF-Team
LVF-Team

Beiträge: 1.027
Registriert seit: Apr 2010

20xx
2010
DE_EN

7xxxx
Deutschland
Zykluszeit bei DAQmx messen
' schrieb:Erst mal ja.
Was heißt das genau? Ganz scheint es ja dann doch nicht zu passen.Rolleyes

' schrieb:Hilfe lesen!Tongue
Stimmt, ich habe es verwechselt, Tatsache. Danke für die ausführliche Info.

Grüße
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
Sad Zykluszeit passt nicht win98 15 10.783 22.07.2011 10:46
Letzter Beitrag: win98

Gehe zu: