LabView und Schnittstellenprogrammierung...

Von: , Frage gestellt am Sa, 18. Nov 2000

Habe folgendes Problem:

Netzgerät: Digi35 CPU (von Conrad...)
Dieses Netzgerät ist über den COM - Port steuerbar (Ausgangsspg. und Strombegrenzung können eingestellt werden).
Dabei muß über die serielle Schnittstelle ein String in der
Form: Vxxx übertragen werden, wobei xxx für den Spannungswert steht (Bsp.: V100 = 10,0 V);
Nun, ich möchte dieses Netzgerät mithilfe von LabView steuern.
Dabei verwende ich auch die Funktion "serielle Schnittstelle beschreiben ..." mit den Parametern Port: >>0<< (COM1) und den String: >>V100<<;
Das Problem: es scheint als ob LabView die Daten nicht richtig überträgt, weil das Netzgerät nicht darauf reagiert.
Das Netzgerät funktioniert aber auf jeden Fall, denn wenn ich beispielsweise in eine Datei namens Test.lvi den String >>V100<<
speichere und dann mit dem DOS - Befehl >>copy Test.lvi COM1<< die Serielle Schnittstelle beschreibe, reagiert das NG.

Woran könnte mein Problem mit LabView liegen bzw. was mache ich falsch?

Danke im Voraus, L@her!!!

8 Antworten zu dieser Frage

  1. Antwort von nach 18 Stunden hilfreich
    Re: LabView und Schnittstellenprogrammierung...

    Hallo Christian,

    ohne mich grossartig mit LabView auszukennen. Nur so eine Idee. Sendet LabView nach dem String noch einen Zeilenvorschub mit an das Gerät? Vielleicht wartet das Netzgerät ja noch auf einen solchen.

    Gruss
    Pit

    • Antwort von nach 21 Stunden hilfreich
      Re^2: LabView und Schnittstellenprogrammierung...

      Nein, LabView sendet keinen Zeilenvorschub mit (sichtbar mit CodeView) und desweiteren benötigt das Netzgerät auch keinen!!!
      Mir stellt sich die Frage, wie die Methode, wie schon im ersten Artikel erwähnt (>>copy Test.lvi COM1<< | Test.lvi enthält den String >>V100<<) die serielle Schnittstelle beschreibt und wie LabView den COM-Port addressiert;
      Kennst du vielleicht ein Programm, welches Anzeigt, welche Daten gerade übertragen werden (zum COM-Port) bzw. weist du vielleicht, wie ich das an der Schnittstelle selber messen kann?

      Danke im Voraus, L@her

      • Antwort von nach 23 Stunden hilfreich
        Re^3: LabView und Schnittstellenprogrammierung...

        Hallo, Mir stellt sich die Frage, wie die Methode, wie schon im
        ersten Artikel erwähnt (>>copy Test.lvi
        COM1
        << | Test.lvi enthält den String
        >>V100<<) die serielle Schnittstelle
        beschreibt und wie LabView den COM-Port addressiert;
        Kann natürlich sein dass die Übertragungsrate in LV eine andere als die Standardbaudrate ist und deshalb nochmal extra eingestellt werden soll. Kann aber auch sein dass LV ein anderes Protokoll (z.B. Hardware, XON/XOFF) haben will. Leider kann ich Dir zu LV intern nicht viel sagen da ich noch nicht damit gearbeitet habe. Probier doch einfach mal ein triviales Terminalprogramm wie Hyperterminal und programmiere das Netzgerät darüber. Ein Monitorprogramm für die serielle Schnittstelle gibt es. Habe ich erst letztens in Wer-weiss-was von gelesen. Da musst Du mal in "Software allgemein" schauen.

        Gruss

        Pit

      • Antwort von nach 23 Stunden hilfreich
        Nachtrag!!

        Hallo, Nein, LabView sendet keinen Zeilenvorschub mit
        (sichtbar mit CodeView) und desweiteren benötigt das Netzgerät
        auch keinen!!!
        ich habe mir gerade die Anleitung von Conrad gesaugt und musste auf Seite 41 Kap. 7 folgendes lesen: "...Dazu steht ein Befehlssatz von 6 Befehlen, die in ASCII codiert, mit CR abgeschlossen, übertragen werden. Das Datenformat beträgt 8 Datenbits, 1 Stoppbit, 1 Startbit, keine Parität."
        Ich folgere folgendes, deine Textdatei mit dem Befehlsstring hat vor EOF ein CR. Wenn Du nun die Datei über COPY an COM1 sendest wird dieses CR mit übertragen und es funktioniert. LV hingegen liest nur den String ohne das abschliessende CR aus deiner Datei. Ergo musst Du LV anweisen an den zu sendenden String ein CR anzuhängen. Das sollte dann funktionieren.

        Gruss

        Pit

        • Antwort von nach 3 Tagen hilfreich
          Re: Nachtrag!!

          Ich habe alles, worauf du mich hingewiesen hast überprüft:
          Baudrate des Gerätes: 9600;
          Einstellungen (Parität, Datenbits, Baudrate,... ok);
          Protokoll : alle probiert;
          Mit LabView: String-Übergabe: Bsp: V100CR
          trotzdem hat es nicht funktioniert;
          Frage: was bedeutet EOF?
          das monitoring-Programm habe ich nicht mehr gefungen!

          Gruß, L@her

          • Antwort von nach 3 Tagen 1 hilfreich
            Re^2: Nachtrag!!

            moings... Mit LabView: String-Übergabe: Bsp: V100CR
            aehm.... gemeint war ein [CR], das ist ein Carriage-
            Return, auf deutsch ein Wagenruecklauf, wird normalerweise durch
            die Return-Taste erzeugt, dabei wird der Cursor an den Zeilen-
            anfang gesetzt, meistens in Verbindung mit einem [LF],
            das ist ein Line-Feed und setzt den Cursor in die naechste Zeile... Frage: was bedeutet EOF?
            [EOF] ist die Abkuerzung fuer End-of-File, damit wird
            das Ende einer Datei markiert...

            Servutz
            Stephan

          • Antwort von nach 4 Tagen hilfreich
            Re^2: Nachtrag!!

            Hallo,

            ja so wie Stephan gesagt hat meinte ich das.
            Funktioniert es jetzt wenigstens?

            Gruss

            Pit

            • Antwort von nach 4 Tagen hilfreich
              Es funktioniert!!!

              Es funktioniert.
              Danke für eure Hinweise und Tips!!!

              Gruß L@her

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!