LabVIEWForum.de
Schnittstellenbefehl mit Visamodulen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Schnittstellenbefehl mit Visamodulen (/Thread-Schnittstellenbefehl-mit-Visamodulen)

Seiten: 1 2


Schnittstellenbefehl mit Visamodulen - Fumik - 02.09.2011 15:00

Hallo,
ich arbeite mit LabVIEW 7.1.
Ich würde gerne einen Befehl auf eine USB-Schnittstelle senden (COM10).
Das geht normalerweise einfach über die Visamodule.
Leider bekomme ich bei diesem Versuch immer eine Fehlermeldung (Fehler:1073807298).
Also habe ich über die Eigenschaftsknoten die Schnittstelleneigenschaften festgelegt.
Wie kann ich jetzt diesen Befehl senden ohne wieder die IO-Fehlermeldung zu erhalten?
Der Befehl laut Hersteller ist zB.: MSEL=125

Danke für eure Hilfe.


RE: Schnittstellenbefehl mit Visamodulen - Y-P - 03.09.2011 07:28

1. Schau' Dir mal das Bsp. "Serial Write and Read.vi" aus dem Examplefinder an.
2. Wenn das nicht geht, dann schau' mal dort: http://digital.ni.com/public.nsf/allkb/0C2ABA463217342686256E2E006DF187
3. Und schließe Deine Schnittstellen Property Nodes seriell an (durchverbunden) und nicht parallel.

Gruß Markus


RE: Schnittstellenbefehl mit Visamodulen - Fumik - 06.09.2011 12:17

Meine Version von LabVIEW verarbeitet die Schnittstelleneigenschaften parellel oder seriel.
Ich kann nur keinen Befehl senden. Ich habe das Beispiel-VI "basic_serial_write_and_read.vi"
geöffnet, mein Gerät eingeschaltet und versucht einen Befehl auf die Schnittstelle zu senden:
Es kam immer wieder die selbe Fehlermeldung: I/O-Fehler (siehe erster Eintrag hier).
Nun hab ich herausgefunden, dass mein Gerät wohl die Protokolle nicht unterstützt. Klar, wenn
es nicht versteht, was ich von ihm will.
Ich werde nun mit der Datei "systemexec.vi" versuchen den Befehl in das Verzeichnis des
externen Programms zu senden.
Dazu habe ich eine Frage: Im Anhang sind Screenshots des externene Programms.
Wie gebe ich das Verzeichnis für den Schrittmodus (dort soll der Wert geändert werden)
ein? Ich weiß sehr wohl, wie man externe Programme öffnet, nur nicht, wie ich exakt auf
Schnittstelle X unter MSEL den Wert änder.
Leider konnten mir weder die Leute aus dem Support von NI ein passendes Beispiel senden,
noch der Hersteller der externen Software.
Könnt ihr mir helfen?
[attachment=35686]


RE: Schnittstellenbefehl mit Visamodulen - Y-P - 06.09.2011 12:24

Das geht nicht so einfach. Da musst Du wahrscheinlich schon über ActiveX oder .NET zugreifen.

Gruß Markus


RE: Schnittstellenbefehl mit Visamodulen - Schwand - 06.09.2011 12:54

Du hast in deinem Programm zumindest auf den Screenshots die VISA-Schnittstelle gar nicht geöffnet, kA ob das ein Muss ist, aber vielleicht liegst ja daran...

Ansonsten kannst du ja auch noch mal hier schauen


RE: Schnittstellenbefehl mit Visamodulen - Fumik - 06.09.2011 14:20

Hi Markus,
danke für deine schnelle Antwort.
Ich habe mich mit ActiveX versucht und
mir das "Slideshow.vi" als Beispiel genommen und verschiedene Dinge ausprobiert.
Allerdings weiß ich nicht, wie ich das Programm damit im Hintergrund öffne und den Befehl sende.
Gibt es da irgendeine Lösung für mein Problem?
Kannst du mir helfen, Markus?
Danke


RE: Schnittstellenbefehl mit Visamodulen - Y-P - 06.09.2011 16:10

Eine Lösung gibt es für jedes Problem.
Ich kann Dir aber ohne das Programm leider auch nicht weiterhelfen.

Einfacher ist es nochmal genau zu schauen, was Dein "externes" Programm sendet (mit irgendeinem Port-Sniffer) und das dann in LabVIEW einfach nachzubilden. Da bist Du bestimmt schneller, als wenn Du das direkt über das andere Programm (per ActiveX,...) machst.

Gruß Markus

(06.09.2011 14:20 )Fumik schrieb:  Gibt es da irgendeine Lösung für mein Problem?
Kannst du mir helfen, Markus?



RE: Schnittstellenbefehl mit Visamodulen - Fumik - 07.09.2011 13:28

Hi Markus,
ich habe mir das Programm Device Moniring Studio installiert und de Datenverkehr
zur Schnittstelle aufgezeichnet. Leider kann ich damit nichts anfangen.
Ich habe dennoch ein Screenshot davon in den Anhang geladen.
Um 14:24:08 Uhr habe ich innerhalb der externen Software den Wert MSEL auf 128
gesezt. Es erschienen jeweils (lesen und senden) 3 "Einträge" (siehe Anhang).
Stehen die Hexadezimalzahlen je Zeile für MSEL (1ter "Eintrag") 128 (2ter) und set (3ter)?
Ich habe so etwas leider noch nicht gemacht.
Danke für deine Hilfe


RE: Schnittstellenbefehl mit Visamodulen - Y-P - 07.09.2011 13:55

Mist. Das sieht irgendwie codiert aus. Blink
Kannst Du vom Hersteller das Protokoll besorgen?

Gruß Markus


RE: Schnittstellenbefehl mit Visamodulen - illuminus - 07.09.2011 14:05

Sieht aber mehr nach Binär-Protokoll aus und nicht nach ASCII. da kommst du mit MSL=128\n nicht weiter.
Kann es sein, dass im der Doku irgend was von Modus rtu steht?

Gruß