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 

Absturz nach Duplizieren des Codes



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!

16.04.2012, 08:09 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2012 08:11 von A.Berndsen.)
Beitrag #5

A.Berndsen Offline
LVF-Team
LVF-Team

Beiträge: 2.437
Registriert seit: Feb 2005

8.2.1 - 2011
2004
DE

724xx
Deutschland
RE: Absturz nach Duplizieren des Codes
Hallo Tim,

(14.04.2012 07:49 )Tintin schrieb:  Ich mache es ja jetzt so, dass ich die VISA-Ressource einmal global öffne, und dann für jeden Kanal in einer separaten Schleife den Messwert abfrage. Angenommen, ich frage einmal Kanal 1 ab, indem ich zunächst mittels VISA-Write den Abfragebefehl ans Messgerät schicke und anschließend mittels VISA-Read den Messwert lese. Dann - so meine Vermutung - wird wohl zwischen diesen beiden Befehlen der VISA-Read Befehl von Kanal 2 ausgeführt und der angefragte Messwert von Kanal 1 irrtümlicherweise Kanal 2 zugeordnet. Gibt es eine Möglichkeit, dieses "Dazwischenfunken" zu verhindern? Müsste man dafür die Abfrage der einzelnen Kanäle nicht in separaten Schleifen durchführen, sondern sequentiell in einer einzigen Schleife?
Wenn Du an unterschiedlichen Stellen im Programm auf die Serielle Schnittstelle schreibst und liest, dann kannst Du nie mit Gewissheit sagen, ob ein Programmteil bereits etwas geschrieben hat und Daten in den Empfangspuffer geschrieben werden, die dann vom falschen Programmcode gelesen werden.
Das ist im Prinzip auch eine Race Condition. Abhilfe kannst Du unterschiedlich schaffen. Entweder Du verwendest Semaphoren, löst es mit einer Action Engine oder denkst Dir etwas anderes abenteuerliches aus. Je nachdem welche und wieviele Daten da gelesen werden, könnte es auch eine ganz andere Lösung geben.

(14.04.2012 07:49 )Tintin schrieb:  Außerdem hab ich keine Ahnung, welchen Wert ich als Read-Bytes der VISA-Read-Funktion verwenden muss. Mir ist nur bekannt, dass das Messgerät 8 Datenbits und einen Stoppbit verwendet. Trial-and-error hat ergeben, dass bei weniger als 9 Read-Bytes der empfangene String abgeschnitten wird. Aber gibt es allgemein eine Möglichkeit herauszufinden, welche Anzahl an Read-Bytes einzustellen ist?
Hast Du keine Beschreibung zu dem Gerät, mit dem Du kommunizierst? Das hängt ja letzlich davon ab, wieviele Daten gesendet werden.

(14.04.2012 07:49 )Tintin schrieb:  ... Du nutzt einen Eigenschaftsknoten, um die Anzahl der am Port vorhandenen Bytes auszulesen. Falls bei "open" welche vorhanden sind, löschst Du diese (wieso?).
Da mein Gerät kontinuierlich Messdaten sendet (wenn es konfiguriert ist), und ich bei der Initialisierung der Schnittstelle nicht weiß, ob ich das gerade während einer Datenübertragung mache, werden die Daten im Empfangspuffer in diesem Fall gelöscht, da ich einen vollständigen Datensatz haben möchte.

(14.04.2012 07:49 )Tintin schrieb:  Bei "aquire" liest Du ebenfalls die Anzahl der Bytes am Port aus, und falls diese einen Grenzwert erreichen, führst Du VISA-Read aus und akquirierst die Daten. Ist es nach jedem VISA-Read-Befehl nicht notwendig, die Bytes am Port zu löschen oder geschieht das automatisch?
Die Bytes verschwinden mit dem Lesebefehl aus dem Eingangspuffer und müssen nicht separat gelöscht werden.

(14.04.2012 07:49 )Tintin schrieb:  Bevor Du VISA-Close ausführst, löschst Du ebenfalls nochmals alle Bytes am Port. Ist das zwingend notwendig?
Nein. Das ist nicht notwendig.

Viele Grüße
Andreas

Geht nicht, gibts nicht!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Absturz nach Duplizieren des Codes - A.Berndsen - 16.04.2012 08:09

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Absturz von Applikation wegen Fehler in lvrt.dll dereinzug 5 1.676 20.10.2023 11:06
Letzter Beitrag: Martin.Henz
  benutzerdefinierte Error Codes in einer zentralen Datei im Projekt verwalten t.hipp 6 5.765 26.10.2020 16:08
Letzter Beitrag: Jessel_de
  Absturz von LabView 2016 MarcoN 9 4.075 21.07.2020 09:15
Letzter Beitrag: MicroScoop
  Mehrfacher Absturz von LabView 2010 Sade 3 2.989 24.09.2018 14:46
Letzter Beitrag: GerdW
  Absturz bei Öffnen eines sub VI oe-ms1 7 5.087 19.03.2018 06:58
Letzter Beitrag: oe-ms1
Exclamation Absturz Labview R.Fuertig 10 12.252 27.04.2015 13:16
Letzter Beitrag: rolfk

Gehe zu: