Hallo,
ich möchte eine RS 232 Schnittstelle direkt programmieren. In der LabVIEW Hilfe habe ich auch Hinweise darauf gefunden, dass es möglich ist die Leitungen RTS, DTR und TxD direkt zu setzen, aber leider habe ich nicht gefunden wie ich das mache.
Ich benötige ein spezielles Handshake, da auf der anderen Seite eine selbstgebaute Peripherie sitzt, die normale RS 232 Protokolle nicht verarbeiten kann.
Ich brauche eine Leitung, die quasi den Clock sendet, eine für die Daten und eine dritte auf der während des Sendens eine 0 und sonst eine 1 liegt.
Vielen Dank für Hilfe.
MfG Stefan
<div align="left">Hallo, Stefan,
schau mal unter
diesem Link nach, das sollte hoffentlich weiterhelfen.
MfG
Jens</div>
Hi Jens,
Danke für den Link. Ich hatte vorher schon versucht was über die Suche zu finden, aber leider diesen Artikel nicht gefunden.
Dann muss ich mir wohl gedanken machen wie ich mit zwei Leitungen auskomme.
MfG Stefan
Hi nochmal,
bei mir läuft dieses Programm leider nicht. Wenn ich Rts oder Dtr setzen will, bekomme ich folgende Fehlermeldung:
> Error -1073807302 occurred at Property Node (arg 1) in Controller Steuerung mit PDA (test).vi
>
> Possible reason(s):
>
> VISA: (Hex 0xBFFF003A) Unable to start operation because setup is invalid (due to attributes being set to an > inconsistent state).
Hat jemand eine Ahnung woran das liegen kann?
MfG Stefan
<div align="left">Hallo, Stefan,
klingt im ersten Moment so, als ob du die serielle Schnittstelle falsch initialisiert hast (Ist aber nur ein Schuß in Blaue).
Noch ein Nachtrag zu meinem ersten Beitrag: Ich hab mal in den NI-LabVIEW-Beispielen folgendes VI gefunden:
[
attachment=2481]
Vielleicht hilft das noch zusätzlich weiter.
MfG
Jens</div>
Hi Jens,
da kommt der gleiche Fehler. Ich habe auch gerade nochmal die neueste Visa Runtime installiert, hilft auch nichts.
Was meinst Du mit Schnittstelle falsch initialisiert? Muss / Kann ich da auch was außerhalb von LabVIEW machen oder meinst Du das "Configure Port" aus LabVIEW? Da hab ich einfach die Einstellungen aus dem anderen VI von dem Link den Du geschickt hast übernommen. Also quasi alles auf default.
MfG Stefan
<div align="left">Hallo, Stefan,
National Instruments erzählt zu deinem Fehlercode -1073807302:
Unable to start operation because setup is invalid (due to attributes being set to an inconsistent state).
Sieht also schon so aus, als ob du beim "Configure Port" irgendwelche falschen Parameter setzt.
Meine bisherige Erfahrung mit RS232 ist, das es natürlich wichtig ist, das die beiden Seiten mit den richtigen Parametern gesetzt werden: Also, am "Configure Port" muss natürlich der richtige COM-Port ausgewählt werden, und es ist natürlich wichtig, die korrekte baud-Rate, Datenbits, Stopbits, Parität usw. auszuwählen.
Es ist übrigens egal, wie in der Windows-Systemsteuerung die Parameter des COM-Ports eingestellt sind, LabVIEW initialisiert den Port völlig neu.
Ich hoffe, das hilft etwas weiter, ansonsten musst du wohl mal dein VI bzw. einen Screenshot hier hochladen.
MfG
Jens</div>
Hi Jens,
ich habe keine Ahnung, was ich getan habe, aber heute morgen war die Fehler Meldung weg. Allerdings funktioniert es trotzdem nicht.
Wenn ich RTS und DTR in LabVIEW setze, ändert sich nichts an den Ausgängen.
Meine Peripherie sieht ja nur die beiden Leitungen RTS und DTR. Die restlichen Leitungen sind nicht verbunden, also floating, kann das ein Problem sein?
Ich habe mein VI mal angehängt.
Zur Erklärung: Aus den Einstellungen die man auf dem Frontpanel machen kann wird ein 8 Bit Wort erstellt das dann Bit für Bit an RTS gesendet werden soll. Auf DTR soll ein Clocksignal gesendet werden, mit dessen negativer Flanke die Peripherie das Bit an RTS übernimmt.
Die Vier Kanäle sind alle quasi identisch, ich habe sie nur aus Faulheit viermal kopiert.
MfG Stefan
' schrieb:Wenn ich RTS und DTR in LabVIEW setze, ändert sich nichts an den Ausgängen.
<div align="left"> Hallo!
Hab mir dein VI angesehen.
ASRL10::INSTR ist die Parallele Schnittstelle!!!
Du steuert wahrscheinlich die falsche an.
ASRL1 bis ASRL9 sind die seriellen Ports.
Aber sonst: Interessantes VI. Was machst du damit? vielleicht gibt es ja schon eine andere Lösung. Das sieht mir schwer nach einer Kommunikation mir einem gerät aus, dass keine 12 V Spannungsversorgung hat und sich nicht wirklich an einen RS232- Standard hält.
Ist das eine synchrone Übertragung?
</div>
<div align="left">Hallo, Stefan,
stimme meinem Vorschreiber zu, ASRL10::INSTR ist die parallele Schnittstelle.
Und zu deinen Ausgängen, also die Masse als 0-Referenz würde ich schon auch anschließen, wie soll sonst die Änderung der Spannung an deinen Ausgängen RTS und DTR erkannt werden?
MfG
Jens</div>