LabVIEWForum.de
Kommunikation Serielle Schnittstelle, System stürtzt ab - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: Kommunikation Serielle Schnittstelle, System stürtzt ab (/Thread-Kommunikation-Serielle-Schnittstelle-System-stuertzt-ab)



Kommunikation Serielle Schnittstelle, System stürtzt ab - Baron - 13.12.2018 14:07

Hallo zusammen,

ich habe folgendes subVI ertsellt zum Auslesen von daten durch einen Barcodescanner. Das Programm hat gut funktioniert außer ich scann einen Barcode mehrere Mals, dann stürtzt das ganze Betriebssystem ab. Wenn ich den Barcode bei jedem Ablauf nur ein Mal scanne, läuft die Software einwandfrei.
Ich hatte auch ein anderes Problem und zwar ich habe aus diesem Programm eine Exe Anwendung erstellt. Nach ausführung dieser Anwendung passiert irgendwie gar nichts.
Wisst ihr warum die Anwedung nicht das macht, was das SubVI macht!
Und Warum stürtzt mein Betriebssystem ab?Blush

Danke schon Mal für jede Hilfe

Gruß
Baron


RE: Kommunikation Serielle Schnittstelle, System stürtzt ab - IchSelbst - 13.12.2018 23:02

(13.12.2018 14:07 )Baron schrieb:  dann stürtzt das ganze Betriebssystem ab.
Das glaube ich nicht. Es sei denn du hast XP - oder früher. Hast du XP?

Zitat:Wenn ich den Barcode bei jedem Ablauf nur ein Mal scanne, läuft die Software einwandfrei.
Das glaube ich.

Zitat:Wisst ihr warum die Anwedung nicht das macht, was das SubVI macht!

Du hast folgende Fehler im Programm:

1. Die geöffnete Schnittstelle wird nicht geschlossen.
Eine geöffnete Schnittstelle kann man nicht ein weiteres Mal öffnen. Du kannst also pro Programmstart nur einmal scannen. Schließe nach dem Lesen der Daten die Schnittstelle oder ziehe das Öffnen der Schnittstelle vor die While-Schleife.

2. Die While-Shleife für Daten-Lesen hat keinen Abbruch, wenn ein Fehler auftritt.
Wenn der Visa-Read einen Fehler bringt (und also niemals Daten lesen wird) läuft diese While-Schleife ewig => das Programm ist nicht beendbar. Mach eine Oder-Verknüpfung mit Größer und Fehlerstatus und brich so die While-Schleife in bestimmten Fehlerfällen ab.

3. Die zwei inneren While-Schleifen haben keine Zeitverzögerung.
Jede dieser drei Schleifen läuft, wenn sie denn läuft, so schnell wie das Betriebssystem kann. Sprich also 100% Auslastung, wenn du einen Kernal hat. Mach eine Wartezeit (Delay oder Metronom) rein. 1ms ist im Normalfall ausreichend, 100ms tun's auch.

Zitat:Und Warum stürtzt mein Betriebssystem ab?
Weil sich LV 100% Leistung nimmt. Allerdings: mein Betriebssystem stürzt nicht ab. Hier bekommt LV nur 26%.


Ob die erste While-Schleife (das mit dem Aufaddieren der Visa-Daten, dem Tabellen-Wandeln und dem Abfragen auf 256 Arrayeinträge) so sinnvoll ist, oder ob das nicht anders sein soll, hab ich nicht weiter begutachtet.