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!
kann mir jemand mit Labview - 2011 - code helfen?
Ich habe einen Rechner mit n-RS 232 Schnittstellen, jede ständig mit Labview z.B ein Mal pro Sec. abgefragt werden sollte. Dann, wenn ein Signal detektiert wird, direkt die Daten auslesen und in Labview darstellen.
Ich habe das Betriebssystem W7.
Ich möchte gerne ein Code-Stück als Beispiel haben))) Oder die Quelle, mit der ich die Anwendung Schritt für Schritt erstellen kann.
Vielen Dank im Voraus.
zum Glück liefert NI bei LabVIEW jede Menge Beispiele mit, unter anderem das "Basic Serial Read and Write".
Außerdem gibt es zum Thema ziemlich viele Threads hier im Forum, also einfach mal die Suche bemühen und dann dort die Beispiele anschauen...
sehe ich das richtig?
Erst fragst du ab, wieviele Zeichen am COM-Port bereitstehen und dann initialisierst du den Port (besser noch: ohne zeitliche Koordinierung...)? Und das in jeder Iteration? Hälst du das selbst für sinnvoll?
Noch mal ein Tipp: "Basic Serial Read and Write" aus den LV-Beispielen...
Was auch zuallererst geklärt werden muß: in welschem Modus die Übertragung stattfindet
.
Entweder: Master-Slave-Modus
Das externe Gerät sendet einen Datensatz nur nach Aufforderung
Oder: Externes Gerät sendet autark.
In diesem Fall ist die Datenrate, mit der die Datensätze gesendet werden, durch das Gerät gegeben, du muß alles empfangen, was ankommt, auch wenn du nur ab und zu einen Wert benötigst. Sonst läuft der Empfangspuffer über. Kein Wait in der Empfangsschleife!
Bei autarkem Senden ist es sehr von Vorteil - man könnte auch sagen es ist notwendig - , dass das Gerät jeden Datensatz mit einem Zeilenendezeichen abschließt. Ist das bei dir der Fall?
Noch ein Tip: Jeder Anfänger, der sein ersten Versuche macht, glaubt, die die Funktioon "Bytes on Board" benutzen zu müssen. Sie ist aber zu 99.99% überflüssig, wird falsch bemutzt, oder für eine besonders umständliche Porgrammierweise benutzt. Die Empfangsschleife synchronisiert sich normalerweise ganz von selbst durch das Warten auf des Zeilenendezeichen.
Und was ist denn das für ein komischer Modus:
1.erst wird ein "Signal detektiert"
2.nachdem das geschehen ist, wird ein Datensatz gelesen
Kannst Du dieses seltsame Protokoll man so detailreich wie möglich beschreiben?
Ja, GerdW, gute Kritik! (Ich kann leider nicht in LV2011 bei mir solche Beispiele nicht finden, schon gesucht und erfolglos, wo soll ich genau suchen????)
Ich habe aber mit Labview ganz wenig zu tun gehabt((((
Also, noch mal zu Aufgabenstellung: ich habe insgesamt 6 Geräte, die an dem Rechner über rs 232 (COM1...COM6) angeschlossen.
Das sind ein GPS-Gerät und noch fünf Messeräte. Die gelieferte Daten möchte ich mit Labview 2011 auslesen, darstellen und danach bearbeiten. Ich versuche erst eine Anwendung erst für's GPS-System erstellen (eine COM-Schnittstelle abfragen). Später möchte ich die Daten aller Geräten parallel sehen.... Ich brauche die "Erste Hilfe!!!" in dem Bereich!!!
Schauen Sie bitte meinen neuen Versuch (mit VISA) im Anhang an. Kann in der Richtung weiter gehen??? Oder weißt ihr einen besseren Weg? Für eure Hilfe bedanke ich mich im Voraus.
Schönes Wochenende!)))
Anzeige
21.10.2011, 14:03 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2011 14:05 von GerdW.)
erst möchte ich Danke sagen, ich hab die Beispiele gefunden!!! Aber die Beispielcode sehen fast ähnlich wie mein Code aus.
Ich verstehe immer noch nicht ganz wegen der Wartezeit. Was meint ihr damit??? Benutze ich falsche Symbol, was versteht man genau unter der Wartezeit in meiner Applikation?
Noch eine Frage: das Programm funktioniert schon. Aber die Daten (Protokolle), die von dem GPS-System ausgelesen wurden, wurden jedes Mal mit neuen Daten überschrieben. Wie soll ich das richtig machen?? Ich möchte danach die Daten ca. 1 Stunde zeitsynchron protokollieren (speichern), um die Unterbrechung zu erkennen, wenn das passieren sollte. Funktioniert das mit einfacher txt-Datei??
Danke.