LabVIEWForum.de - Kommunikation mit RS232 funktioniert nicht

LabVIEWForum.de

Normale Version: Kommunikation mit RS232 funktioniert nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
' schrieb:so hoffe mal das es das richtige istSmile
Der Computer ist anscheinend mit einigen Altlasten beansprucht, aber zu meiner Verteidigung, ich hab es ja nicht installiert, nur so übernommenSmile
Kannst du damit was anfangen ?

Mfg, Holger

Sieht eigentlich gut aus...

Wenn du auf die Schnittstellen klickst...kannst du dann bei "Troubleshoot" oder "VISA Test Panel" irgendwas feststellen?

Ansonsten: Kompletten VISA-Treiber runterschmeißen und neu installieren...sonst fällt mir auch nix mehr ein!

A.
hm fast schon peinlich aber die Schnittstelle stand auf disabled
Hat aber nichts gebracht nachdem ich die aktiviert habe kommt unter Troubleshhot folgende Meldung:

MAX could not open a VISA session to this device, and the device was not returned by VISA when finding resources. MAX was able to find static information about the device and use VISA to parse the resource name.

Bei dem Gerät handelt es sich um eher seltenen Mikromanipulator der Firma Luigs und Neumann, es ist also kein NI Gerät.

Noch ne Idee ? ich arbeite erst seit 4 Wochen mit LabVIEW und es könnte dementsprechend auch an primitiven Anfängerfehlern liegen. das Prog ist allerdings komplett übernommen, da hab ich nichts dran geändert !


Mfg, Holger
hab nun mal die Port Suche des Programmes geknipst, sieht das soweit i.O. aus? gehe davon aus weil dies wie gesagt vom Hersteller kam.

Nach meiner bescheidenen Fehlersuche müsste das Problem irgendwo hier liegen wenn die Treiber in Ordnung sind.
Zur Info:
Der Fehler lag wirklich im Programm, die Baudrate, Stopbits und einige andere Parameter waren in einem Unterprogramm falsch eingestellt. Nachdem ich die korrigiert habe und das Unterprogramm gestartet hatte ging es Klimper

Nun suche ich jedoch noch ne Funktion die das gesammte Programm stoppt, egal ob ich gerade in einer Schleife etc. bin, mit einem normalen Stop Button funktioniert dies leider nicht.
Hintergrund: Meine Motorsteuerung soll sofort komplett stoppen wenn der Drucksensor einen gewissen Druck überschreitet um Schaden zu vermeiden.
Gibt s da eine Funktion/Button der über der Hirachie der Schleifen steht und sofort alle Unterprogs etc beenden kann ?

Mfg, Holger
Hallo Holger

Es gibt in LabVIEW die Funktion STOP LabVIEW das ist dann wie auf den Roten Abbruch Button drücken. Ich glaube das willst aber nicht. Du mußt ja den Druck überwaxhen und wenn er schwelle überschritten hat noch eine Befehl an die Motorsteuerung schicken das sie anhält RICHTIG ?
Wenn das so ist gibt es ja immer noch die Globale Variable oder eine Queue
Die Lösung hängt aber von deiner Programmstuktur ab

Gruß

Jürgen
' schrieb:Zur Info:
Der Fehler lag wirklich im Programm, die Baudrate, Stopbits und einige andere Parameter waren in einem Unterprogramm falsch eingestellt. Nachdem ich die korrigiert habe und das Unterprogramm gestartet hatte ging es Klimper

Nun suche ich jedoch noch ne Funktion die das gesammte Programm stoppt, egal ob ich gerade in einer Schleife etc. bin, mit einem normalen Stop Button funktioniert dies leider nicht.
Hintergrund: Meine Motorsteuerung soll sofort komplett stoppen wenn der Drucksensor einen gewissen Druck überschreitet um Schaden zu vermeiden.
Gibt s da eine Funktion/Button der über der Hirachie der Schleifen steht und sofort alle Unterprogs etc beenden kann ?

Halt!! Stop!! Du willst nicht das LabVIEW Programm stoppen oder gar abbrechen sondern die Motorsteuerung. Das sind zwei sehr verschiedene Dinge.

Also erst mal ein paar Dinge zur Sicherheit. Du kannst Dich NICHT darauf verlassen, dass Windows nicht gerade dann abschmiert, wenn Du Deinen Stop Button betätigst. Das ist halt einfach so mit jedem Computer, unabhängig des Betriebsystems. Also willst Du wahrscheinlich einen externen Abort Button haben der unmittelbar den Strom zum Motor unterbricht.

Und die LabVIEW Application sollte ja gerade laufen bleiben wenn Du sie soft (also übers Frontpanel) stoppen willst um dem Motor beispielsweise ein Stopkommando schicken zu können. Wenn Du LabVIEW da einfach abwürgst geht der Motor sonst fröhlich mit der letzten eingestellten Schnellheit weiter. Deshalb musst Du Deine Software wohl etwas umbauen. Ich tue das mit einem speziellen LV2 style global VI das in allen Loops ist die eventuel frühzeitig abgebrochen werden müssen.
Aber eine einfache Boolean Global tut es auch. Diese wird in jeder Loop die eventuell frühzeitig abgebrochen werden muss gelesen und mit eventuellen anderen Abruchkriterien logisch verknüpft. Jetzt kannst Du diesen Boolean irgendwo in Deinem Program setzen und alle eventuel laufenden Loops werden beendet und Du kannst das Stopkommando schicken.

Rolf Kalbermatter
Hm das stimmt natürlich, es bringt mir rein garnichts wenn das LabVIEW Programm fröhlich beendet wird, während meine Messkammer am Tisch zerknirscht weil der Motor noch weiter fährt :-D

Ich versuche gerade das ganze über ein Stop Subvi laufen zu lassen, wenn es fertig ist stelle ich es mal rein und beschreibe mal ob und wie es genau funktioniert :-)

Mfg, Holger
So, nun hänge ich wieder bei der programmierungSad
Erstmal eine Erklärung zu meinem Prgramm:
Alles ist in einer While Do Schleife eingebunden.
Über den Geschwindigkeits Button kann ich die Geschwindigkeit mit der die Motoren drehen auf schnell oder langsam setzen.
Das Subvi Drive bekommt dabei durch drücken des jeweiligen Buttons mitgeteilt ob es in positiver oder negativer Richtung verfahren soll.

Und nun kommt das Problem, das Stop-Subvi.
Die Motoren sollen über ein mitgeliefertes Keypad steuerbar sein (unabhängig vom Computer und LabVIEW) und über den Computer.
Das Problem besteht nun darin das das laufende LabVIEW_Programm die ganze Zeit einen Stop Befehl sendet und die Motoren nun nur ruckweise verfahren.

Habe hier mal 4 "Lösungen" die nicht funktionieren.

Bei Amp1 würde nun der Stop Button sofort betätigt werden wenn ich einen der beiden Schalter drücke. Der Motor würde ruckelnd fahren. Beim Keypad hingegen ruckelfrei.

Bei Amp2 dasselbe (macht auch keinen richtigen Sinn oder ?)

Bei Amp3.1 kann ich das Keypad ruckelfrei benutzen, aber drücke ich einen Button wird nur Ruckartig verfahren, da die Flatsequenz immer wieder drive und danach Stop benutzt.

Bei Amp3.2 kann ich hingegen den Button ruckelfrei benutzen, aber das Keypad hängt, da bei einem False dauernd ein Stop gesendet wird.

Setze ich garkeinen Stop.vi ein, fährt der Motor wie oben beschrieben einfach weiter, auch wenn ich das Programm beende.

Ich suche dementsprechend eine Funktion oder eine möglichst einfache Lösung, die das Stop.vi nur ausführt wenn das drive.vi ausgeführt wurde.
Jemand eine Idee?
Hoffe ich konnte das Problem halbwegs verständlich beschreiben Pccrash

Mfg, Holger
so ich bin nun erhelbiche Schritte weiter gekommen, musste aber trotzdem oft im Forum suchen, aber jetzt klappt (fast) alles.

Ein Problem das ich noch habe ist die Automatisation. Das Subvi rennt und rennt, aber wenn ich auf Stop klicke im Hauptprogramm hört es nicht auf !
Wie kann ich hier am besten eine generelle Stopp Funktion einbauen die sicher schliesst !?

Hab es mal im Anhang angefügt das Subvi

Hätte jemand Interesse das komplette Prog zu sehen um Fehler zu finden oder es für sich selber zu benutzen ?

Mfg, Holger

(VI LV 8.2)
Seiten: 1 2
Referenz-URLs