Forum: PC-Programmierung NI-Visa Lizenz


von M. M. (blackcow)


Lesenswert?

Angenommen ich will ein Oszilloskop von einem C++ Programm aus über 
Ethernet steuern. Da gibt es ja diese standardisierten SCPI Befehle. 
Dann gibt es auch noch NI-VISA. Ich bin da lizenzrechtlich nicht so ganz 
durchgestiegen. Wenn die Software verkauft wird, muss ich dann 
Lizenzgebühren an NI zahlen. Und wenn ja, ist es möglich/vernünftig die 
Kommunikation über Ethernet mit SCPI Befehlen selber zu programmieren?

von Mitlesa (Gast)


Lesenswert?

M. M. schrieb:
> ist es möglich/vernünftig die
> Kommunikation über Ethernet mit SCPI Befehlen selber zu programmieren?

Ich mache das seit Jahren so.

Du brauchst kein VISA.

SCPI besteht darin Kommando-Strings an ein Messgerät zu senden
und/oder Daten vom Mesgerät zu empfangen. Es ist schnittstellen-
unabhängig, d.h. SCPI Datenverkehr kann über alle möglichen
Schnittstellen passieren. Über welche es möglich ist hängt vom
Gerät ab.

Zum Steuern über LAN (oder z.B. Serial) öffnet man eine TCP-
Verbindung als Client und schickt darüber einfach LF-delimited
Strings (LF dient als Separator für einzelne Kommandos).
Empfangen von Datenstrings funktioniert auf dem gleichen Socket.

Oft scheitert die TCP-Verbindung daran den richtigen Port zu
verwenden, er ist bei Messgeräten oft 5025. Das müsste aber aus
dem Handbuch des Gerätes zu entnehmen sein.

Noch Fragen? Ja man muss sich halt mit der Socket-Programmierung
auseinandersetzen, das ist der Preis der VISA-Freiheit.

von Thomas (Gast)


Lesenswert?

ich verwende pyVisa um Geräte über python und visa mit usb anzusteuern, 
geht wohl aber auch über Ethernet. Is gratis verfügbar, weiß aber nicht 
wie das mit lizenz funktioniert schau mal auf deren Seite.

von M. M. (blackcow)


Lesenswert?

Ah, vielen Dank für die Hilfe! Dann werde ich wohl direkt SCPI Kommandos 
senden.

von Dirk B. (dirkb2)


Lesenswert?

SCPI ist ein Befehlssatz, um Messgeräte mit ähnlichen Eigenschaften über 
dieselben Befehle anzusprechen.


VISA ist eine Herstellerübergreifende Bibliothek, um verschiedene 
Messgeräte mit unterschiedliche Schnittstellen über die gleiche Art 
anzusprechen.

Auch über verschiedene Rechner hinweg.

von Sven B. (scummos)


Lesenswert?

Für Ethernet würde ich das auch einfach von Hand machen. Ist wirklich 
kein Hexenwerk und ich glaube nichtmal, dass eine Bibliothek so 
Komplexität wie Disconnects etc. sinnvoll abstrahieren und damit 
vereinfachen kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.