Forum: Projekte & Code Messinstrumente - SCPI für USB und LAN (Windows)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter D. (fenstergucker)


Angehängte Dateien:

Lesenswert?

Ich habe ein Programm in PureBasic für Windows geschrieben, mit dem man 
SCPI-Kommandos an Messinstrumente mit USBTMC-, LXI- oder 
Raw-TCP-Verbindung senden kann. Das Programm ist aus Interesse 
enstanden, wie die Steuerung von Messinstrumenten funktioniert. Darum 
wird auch keine VISA-Installation benötigt, allerdings der Microsoft 
WinUSB-Treiber, wenn man USBTMC-Instrumente ansprechen will.

https://peter.dreisiebner.at/messinstrumente

Im Moment kann man nur SCPI-Kommandos senden, andere Funktionen sind 
geplant. Getestet habe ich nur mit meinen eigenen Instrumenten, die sind 
auf der Webseite unten aufgelistet. Ansonst habe ich keine Rückmeldung, 
kann also sein, dass es bei jemand anderen gar nicht funktioniert.
Es gibt auch eine Hilfeseite mit kurzer Erklärung, und die Sprache des 
Programms kann in den Einstellungen auf Deutsch geändert werden.

Die Oberfläche ist altbacken und verwendet das Multi Document Interface 
(MDI). Wobei aber z.B. das SCPI-Fenster auch eigenständig geöffnet 
werden kann.

Hier ist eine Stichwortliste zu dem Programm:
- Betriebssystem Windows XP bis 10.
- Keine Installation notwendig, entpacken in ein Verzeichnis mit 
Schreibrechten.
- Es werden nirgends ungefragt Daten gespeichert, Registry, 
Tempverzeichnis, usw.
- Die Oberfläche ist skalierbar für HiDPI, ist aber wenig getestet.
- Es können beliebig viele Instrumente gleichzeitig verwendet werden.
- Fehlermeldungen werden im Log-Fenster ausgegeben.
- Beim Suchen nach Instrumenten im Netzwerk werden UDP-Broadcast Pakete 
gesendet, an Port 111, 5025 und 50000. Eine Firewall wird wahrscheinlich 
anschlagen, man kann Instrumente auch manuell hinzufügen.
- SCPI-Kommandos können in Dateien gespeichert und geladen werden.
- Man kann binäre Daten mithilfe einer Datei senden.

Vielleicht hat jemand Bedarf an den Programm bzw. Tool, mehr ist es ja 
noch nicht. Für die weiteren Funktionen wird es noch dauern, und die 
sind vorerst nur für meine Instrumente geplant. Aber die SCPI-Kommandos 
sollten für viele Instrumente verwendbar sein.

Rückmeldungen sind gerne willkommen.

Peter

von Peter D. (fenstergucker)


Lesenswert?

Ich habe das Programm etwas erweitert. Es werden die Fensterpositionen 
gespeichert und wiederhergestellt. Man kann den 'Arbeitsbereich' 
speichern und laden, ist im Menü "Fenster". Wie gehabt können die 
Fenster auch separat geöffnet werden, wenn beim Öffnen die Strg-Taste 
gedrückt wird.
Die geöffneten MDI-Client-Fenster lassen sich in einen freien Bereich 
einpassen.

Es gibt aber Probleme, wenn mehrere Bildschirme mit unterschiedlicher 
Skalierung verwendet werden. Da werden die Positionen nicht 
wiederhergestellt, die Fenster werden dann am Hauptbildschirm angezeigt.

Es ist jetzt auch das Einlesen, Anzeigen und Speichern eines 
Bildschirmfotos vom Instrument möglich. Die Funktionen werden noch 
erweitert, für automatisch einlesen, andere Farbdarstellung, usw.
Für die unterstützten Instrumente gibt es Konfigurationsdateien im 
Verzeichnis 'Instrument'. Man kann selbst solche Dateien erstellen, oder 
mir die genaue Bezeichnung des Instruments schicken. Dazu benötige ich 
auch die Ausgabe vom SCPI-Kommando '*IDN?'. Vorallem die ersten zwei 
Felder von Hersteller und Modellbezeichnug. Diese Angaben werden für die 
Erkennung des Instruments und der richtigen Konfigurationsdatei 
benötigt.

Mich würde interessieren, ob sich auch Siglent-Instrumente z.B. im 
Netzwerk finden und ansprechen lassen. Vielleicht kann das jemand 
ausprobieren und hier berichten.

Peter

von Voodoo (Gast)


Lesenswert?

Nettes Spielzeug.
Finde ich an sich nicht schlecht so etwas zum lernen zu machen. 
Allerdings werde ich es nicht mit anderen Geräten Testen da es eine 
Windows Lösung ist und ich meine Messrechner mit Linux per SSH 
anspreche.
Ich benutze das pure python visa Backend der pyVisa Bibliothek um 
Hersteller unabhängig zu bleiben. So etwas wie du gemacht hast würde 
mich eher mit Flask gebaut interessieren. Bisher nutze ich für so etwas 
einfach die Kommandozeile. Ich habe Messgeräte Klassen geschrieben denen 
man einfach eine Liste an Befehlen geben kann. Tut das gleiche nur eben 
ohne GUI. Ich mache das allerdings auch nicht zum vergnügen sondern um 
vorwärts zu kommen. Nachdem ich jetzt für verschiedene Projekte und 
Messaufbauten Verschiedenen GUI Frameworks durch habe bin ich der 
Ansicht das Webbasiert das beste ist. Da bei mir Messungen auch schon 
mal länger dauern könnte ich dann am Telefon kontrollieren ob alles 
läuft ;-)

von Peter D. (fenstergucker)


Angehängte Dateien:

Lesenswert?

Es ist jetzt möglich bei der Bildschirmfoto-Funktion, Optionen für die 
Steuerung des Instruments auszuwählen. Damit kann z.B. der Single-Modus 
gestartet werden, auf ein Ereignis gewartet, und danch das 
Bildschirmfoto eingelesen und gespeichert werden. Es lässt sich auch 
automatisch ausführen. Getestet habe ich nur mit dem Rigol DS1000Z und 
dem RTB2000. Die entsprechenden SCPI-Kommandos sind aber für alle 
unterstützten Instrumente in den Konfigurationdateien gespeichert.

https://peter.dreisiebner.at/messinstrumente/

Peter

: Bearbeitet durch User
von F. M. (foxmulder)


Lesenswert?

Seeehr hübsch, vielen Dank.

von Peter D. (fenstergucker)


Lesenswert?

Eine serielle Verbindung zu den Instrumenten funktioniert jetzt auch. 
Bei dem Hameg HM2008 kann man den Bildschirmspeicher auslesen und als 
Bild speichern.

Peter

von Peter D. (fenstergucker)


Lesenswert?

Für das Hameg HM2008 und den Rigol Oszilloskopen DS/MSO1000Z und 
DS/MSO2000A ist es jetzt möglich, die eingelesenen Messkurvendaten zu 
speichern. Mit der Messkurve-Funktion können die analogen und digitalen 
Kanäle manuell oder automatisch eingelesen werden. Speichern kann man 
die Daten als CSV- oder Binärdatei pro Kanal. Das Anzeigen der 
Messkurven ist noch nicht möglich.
Das Einlesen und Speichern der digitalen Kanäle konnte ich für das 
MSO1000Z nicht testen.

https://peter.dreisiebner.at/messinstrumente/

Peter

von Peter D. (fenstergucker)


Lesenswert?

Für das R&S RTB2000 und das Siglent SDS2000X Plus, ist es jetzt 
ebenfalls möglich die Messkurvendaten der analogen und digitalen Kanäle 
als CSV-Datei zu speichern. Das Anzeigen ist immer noch nicht möglich, 
daran arbeite ich als nächstes.

Beim RTB2000 kann man die 8 Bit und 10 Bit Daten einlesen. Aber es fehlt 
z.B. noch die richtige Verarbeitung der Envelope-Darstellung, da werden 
die Daten falsch gespeichert. Ich habe auch noch nicht viel getestet.

LXI-Instrumente werden nicht immer im Netzwerk automatisch gefunden, 
wenn die LXI-Suche aktiviert ist. Dann kann man die Instrumente manuell 
als LXI-Instrument hinzufügen, das Programm merkt sich das für den 
nächsten Start.
Wenn jemand das Problem hat, wäre es nett wenn mir die Log-Datei (Menü 
'Help'->'Log...') per E-Mail zugeschickt wird. Die Adresse ist im 
About-Dialog vorhanden.

Beim manuellen hinzufügen sollte die Beschreibung genau sein, damit die 
Vektor-Icons angezeigt werden. z.B. für das Siglent funktioniert 
"Siglent SDS2354 Plus".

Peter

von Klaus H. (nikolaus10)


Lesenswert?

Danke fuer die Mühe.
Bitte weitermachen.

Gruesse

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.