LabVIEWForum.de
Zeitmessung im Fieldpoint - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW RealTime (/Forum-LabVIEW-RealTime)
+---- Thema: Zeitmessung im Fieldpoint (/Thread-Zeitmessung-im-Fieldpoint)



Zeitmessung im Fieldpoint - michael - 19.08.2007 18:38

Hallo Forenmitglieder,

habe eine Anwendung für den Fieldpoint FP2000 geschrieben.

LV Version 8.2.1

Im Fieldpoint möchte ich eine Zeitmessung durchführen. Ist ein Eingangssignal (am I/O Modul FP)
High soll die Zeitmessung "laufen". Wird dieses Signal wieder Low wird gestoppt.

Diesen Zeitwert hole ich über Netzwerk (Variablenkommunikaton) von einem PC (LV8.2.1) ab.

Am PC läuft die Variablen Engine im FP der Client.


Problem:

Das Tor (Eingangssignal) ist immer gleich (z.B. 500 ms).
Die Messung im FP bringt mir immer Unterschiedliche Ergebnisse.
Ich gehe davon aus, das die Kommunikation und verschiedene Andere Tasks im FP sehr viel Zeit beanspruchen, und ich deshalb meine Messung nicht genau genug durchführen kann.

Wie kann ich die Messung (Echtzeitfähig) im FP aufbauen ?

Gibt es einen Event für ein Eingangssignal ?
Kann man einen Timmer Event (z.B. alle 10ms) programmieren ?

Wie würdet ihr diese Problem bzw. diese Aufgabe angehen ?

Für Eure Hilfe im Voraus vielen Dank.

mfg.

Michael


Zeitmessung im Fieldpoint - thomas.sandrisser - 19.08.2007 19:34

Zur Messung solltest du keine TCPIP Kommunikation verwenden, weil diese Komm nicht deterministisch ist und somit falsche Ergebnisse liefern "kann".
Sinnvoller waere es, die Zeitmessung bzw. Eventmessung in einem separaten VI hoeherer Prioritaet zu programmieren und nur zur Initialisierung einen Zeitstempel von irgendeinem Zeitserver holen.

Du kannst das holen + setzen der Zeit benchmarken (beim holen der Zeit koennen wiederum kleine Schwankungen (µs) auftreten, was aber vernachlaessigbar ist) und die relative Zeit in weiterer Folge ueber einen Zeitstempel berechnen. Abhaengig von der Genauigkeit und der Applikation (absolute oder relative Zeit) entscheided sich ob du mit dem Zeitstempel oder dem Ticktimer arbeiten kannst. Einfacher ist auf jeden Fall der Zeitstempel, weil du keine Ueberlaeufe beruecksichtigen musst.

Der Drift zwischen FP und echter Zeit ist mit 8.2.1 relativ gering geworden. Um an dieser Stelle sicher zu gehen, solltest du auch hier einen Benchmark anstellen um genau heraus zu finden, wie hoch dieser Drift ist und diesen Wert entweder in den Ticktimerwert miteinrechnen ODER die Zeit am FP neu setzen.


Zeitmessung im Fieldpoint - michael - 20.08.2007 07:10

Vielen Dank für die schnelle Antwort !


Wie kann ich in meinen FP die Prioritäten setzen ?

Da bei mir die Kommunikation zeitunkritisch ist (der Wert der Variablen wird zyklisch vom PC gelesen), könnte ich der Zeitmessung höchste Priorität geben.

mfg.

Michael


Zeitmessung im Fieldpoint - thomas.sandrisser - 20.08.2007 20:16

Entweder eine Timed Loop verwenden oder in den VI Properties unter Exectuion die Prioritaet von Normal auf Time-Critical stellen.


Zeitmessung im Fieldpoint - michael - 21.08.2007 15:27

Hallo Forenmitglieder,

habe versucht die Priorität meines VI´s von normal auf eine Stufe zu erhöhen. Nachdem ich diese Variante ins FP2000 geladen habe läuft die Kommunikation nicht mehr bzw. die Verbindung zum FP kann nicht mehr aufgebaut werden.

Ich mußte das VI auf den FP disablen (mit Codierschalter), erst dann bekam ich wieder eine Verbindung.

Ist dies normal ?