GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » LVUG » LVUG - Technische Fragen » Uebertragungsfehler im Datenfluss von Labview
icon4.gif  Uebertragungsfehler im Datenfluss von Labview [message #661] Wed, 07 July 2004 18:08 Go to next message
Maria Marinova is currently offline  Maria Marinova
Messages: 5
Registered: July 2004
Location: Frankfurt/Main, Institut ...
occasional visitor
From: *ikf.physik.uni-frankfurt.de
Hallo,

<Hintergrund>
Wir, eine Arbeitsgruppe im Institut fuer Kernphysik Frankfurt/Main, beschreiben und lesen ueber Labview eine speziell hergestellte Karte, die einen internen Speicher hat, und zur digitalen Auslese von eingehenden analogen Signalen dient. Nun testen wir die Karte.

<Umgebung>
Red Hat Linux 7.2, Kernel 2.4.20, Labview 6i

<Problem>
Ich habe eine Sequenz, die zu Beginn ein 1D U16-Array 0,1,2,..,7 erhaelt.

Wenn ich dieses Array auf drei verschiedene Weisen in die Sequenz einliefere, kommt am Ende ein anderes Ergebnis heraus.

1) konstantes Array benutzen;
2) Array als Output vom VI "Find_Cards";
3) Das Output vom VI "Find_Cards" erstmal in eine lokale Variable speichern, dann die lokale Variable lesen.

Die 2) funktionierte ok, dann geaendert zu 3), funktionerte es teilweise (Ergebnis teilweise richtig), dann zurueckgeaendert zu 2) funktionierte es nicht mehr, und 1) hat nie funktioniert.


Merkwuerdig: Zwei VIs, die IDENTISCH sind, und beide dieses Array ueber Variante 2) bekommen => das eine VI funktioniert teilweise, und das andere nicht.

Sie koennen sich die VIs anschauen, aber leider nicht testen, weil sie auf der speziellen Karte zugeschnitten sind. Dennoch: alle uebrigen Routinen sind getestet und funktionieren, nur hier liegt der Fehler.

Ich hoffe, Sie koennen sich ein Bild machen, und mir weiterhelfen, denn ich muss das VI fuer weitere Tests wieder zum Laufen bringen.

Bin dankbar fuer jeden Hinweis.

Gruesse,
Maria Marinova
Globale Variablen in LV [message #665 is a reply to message #661] Fri, 09 July 2004 11:34 Go to previous message
Brand is currently offline  Brand
Messages: 180
Registered: January 2004
Location: GSI - SB2 2.256
first-grade participant
From: depc154.gsi.de
Hallo Frau Marinova,
ich denke, dass Ihre Problem durch Timing-Probleme verursacht werden. Bei der Benutzung von lokalen und globalen Variablen werden von der LV-Engine Kopien angelegt. Dabei vergeht natürlich Zeit.

Wenn nun Ihre Sequence schneller abgearbeitet wird als die Kopien der Daten der lokalen/globalen Variablen, greifen Sie möglicherweise auf alte Daten zu.

Sie können diese Probleme durch Benutzen von "Functional Global Variables" vermeiden. Ich habe als Beispiel mal ein "Global Stop" angehängt. Diese Art garantiert wechselseitigen Zugriffsschutz und immer aktuelle Daten (natürlich nur solange das VI nicht reentrant ist).

Gruß Holger

[Updated on: Fri, 09 July 2004 11:34]

Report message to a moderator

Previous Topic: mono/biexponentielles Fitten von Daten
Next Topic: VI Transfer von MAC auf Windows
Goto Forum:
  


Current Time: Mon Dec 09 11:29:58 CET 2024

Total time taken to generate the page: 0.00623 seconds