Tektronix-LogoVereinfachender Test
Automatisierung mit
tm_devices und Python
ANLEITUNG Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python

Vereinfachen Sie die Testautomatisierung mit tm_ Devices und Python

ANLEITUNG
Vereinfachen Sie die Testautomatisierung mit tm_devices und Python
Ingenieure in vielen Branchen nutzen Automatisierung, um die Fähigkeiten ihrer Prüfgeräte zu erweitern. Viele Ingenieure entscheiden sich dafür für die freie Programmiersprache Python. Es gibt viele bedeutende Vorteiletages, die Python zu einer großartigen Programmiersprache für die Automatisierung machen:

  • Vielseitigkeit
  • Einfach zu lehren und zu lernen
  • Lesbarkeit des Codes
  • Weit verbreitete Wissensdatenbanken und Module

Es gibt zwei Hauptanwendungsfälle für die Automatisierung:

  • Routinen, die menschliches Verhalten nachahmen, um das Frontpanel zu automatisieren und Zeit zu sparen, z. B. automatisierte Compliance-Tests.
    Anstatt sich jedes Mal, wenn Sie ein neues Teil testen müssen, an das Oszilloskop zu setzen, entsprechende Messungen hinzuzufügen und die Ergebnisse aufzuschreiben, entwickelt der Ingenieur ein Skript, das all das erledigt und das Ergebnis anzeigt.
  • Verwendungsmöglichkeiten, die die Funktionalität des Instruments erweitern; zum Beispielample: Messprotokollierung, Validierung oder Qualitätssicherung.
    Die Automatisierung ermöglicht es dem Ingenieur, komplexe Tests ohne viele der mit diesen Tests verbundenen Nachteile durchzuführen. Es ist nicht erforderlich, dass ein Bediener das Oszilloskop einrichtet und die Ergebnisse manuell aufzeichnet, und der Test kann jedes Mal auf die gleiche Weise durchgeführt werden.
    In dieser Anleitung erfahren Sie, was Sie für den Einstieg in die Programmierung von Scopes in Python benötigen, einschließlich der Grundlagen programmgesteuerter Schnittstellen und dem Herunterladen und Ausführen eines Example.

Was ist eine Programmschnittstelle?

Eine programmatische Schnittstelle (PI) ist eine Grenze oder ein Satz von Grenzen zwischen zwei Computersystemen, die so programmiert werden können, dass sie bestimmte Verhaltensweisen ausführen. Für unsere Zwecke ist es die Brücke zwischen dem Computer, auf dem alle Tektronix-Testgeräte laufen, und der von einem Endbenutzer geschriebenen Anwendung. Um dies noch weiter einzugrenzen: Es handelt sich um Soft-Befehle, die aus der Ferne an ein Gerät gesendet werden können, das diese Befehle dann verarbeitet und eine entsprechende Aufgabe ausführt. Der PI-Stack (Abbildung 1) zeigt den Informationsfluss vom Host-Controller bis zum Gerät. Der vom Endbenutzer geschriebene Anwendungscode definiert das Verhalten des Zielinstruments. Dies wird normalerweise auf einer der in der Branche verbreiteten Entwicklungsplattformen wie Python, MATLAB oder Lab geschriebenVIEW, C++ oder C#. Diese Anwendung sendet Daten im SCPI-Format (Standard Commands for Programmable Instrumentation), einem Standard, der von den meisten Test- und Messgeräten unterstützt wird. SCPI-Befehle werden häufig über eine VISA-Schicht (Virtual Instrument Software Architecture) gesendet, die zur Erleichterung der Datenübertragung verwendet wird, indem dem Kommunikationsprotokoll zusätzliche Robustheit (z. B. Fehlerprüfung) hinzugefügt wird. In einigen Fällen rufen Anwendungen möglicherweise einen Treiber auf, der dann einen oder mehrere SCPI-Befehle an die VISA-Schicht sendet.Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – SchnittstelleAbbildung 1. Der Programmatic Interface (PI)-Stack zeigt den Informationsfluss zwischen einem Host-Controller und einem Instrument.

Was ist das tm_devices-Paket?

tm_devices ist ein von Tektronix entwickeltes Geräteverwaltungspaket, das eine Vielzahl von Befehlen und Funktionen enthält, mit denen Benutzer Tests für Tektronix- und Keithley-Produkte mithilfe der Programmiersprache Python einfach automatisieren können. Es kann in den gängigsten IDEs für Python verwendet werden und unterstützt Code-Vervollständigungshilfen. Dieses Paket macht die Codierung und Testautomatisierung für Ingenieure mit Softwarekenntnissen aller Niveaus einfach und unkompliziert. Die Installation ist ebenfalls einfach und verwendet pip, das Paketverwaltungssystem von Python.

Einrichten Ihrer Umgebung

Dieser Abschnitt führt Sie durch die Voraussetzungen und Installationen, um Sie auf die Entwicklungsarbeit mit tm_devices vorzubereiten. Es enthält außerdem Anweisungen zur Unterstützung virtueller Umgebungen in Python (venvs), um die Verwaltung und Wartung Ihrer Projekte zu vereinfachen, insbesondere wenn Sie dieses Paket nur ausprobieren, bevor Sie sich für die Verwendung entscheiden.
Notiz: Wenn Sie über eine Umgebung ohne direkten Zugang zum Internet verfügen, müssen Sie Ihre Schritte mithilfe der Befehle im Anhang ändern. Wenn Sie Probleme haben, können Sie diese gerne im posten Github-Diskussionen um Hilfe.

Installation und Voraussetzungen beendetview

  1. Installieren Sie Python
    A. Python ≥ 3.8
  2. PyCharm – PyCharm-Installation, Starten eines Projekts und tm_devices-Installation
  3. VSCode – VSCode-Installation, Starten eines Projekts und tm_devices-Installation

PyCharm Community (kostenlose) Edition
PyCharm ist eine beliebte Python-IDE, die von Softwareentwicklern in allen Branchen verwendet wird. PyCharm verfügt über einen integrierten Unit-Tester, mit dem Benutzer Tests ausführen können file, Klasse, Methode oder alle Tests innerhalb eines Ordners. Wie die meisten modernen IDEs verfügt es über eine Form der Code-Vervollständigung, die Ihre Entwicklung im Vergleich zu einem einfachen Texteditor enorm beschleunigt.
Wir werden die Installation der PyCharm Community Edition (kostenlos) durchgehen, anschließend tm_devices in der IDE installieren und eine virtuelle Umgebung für die Entwicklung einrichten.

  1. Gehe zu https://www.jetbrains.com/pycharm/
  2. Scrollen Sie über PyCharm Professional zur PyCharm Community Edition und klicken Sie auf „Herunterladen“.Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – PyCharm Community
  3. Sie sollten in der Lage sein, nur mit den Standardinstallationsschritten fortzufahren. Wir verlangen nichts Einzigartiges.
  4. Willkommen bei PyCharm!Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – PyCharm Community 1
  5. Jetzt müssen Sie ein neues Projekt erstellen und sicherstellen, dass eine virtuelle Umgebung eingerichtet wird. Klicken Sie auf „Neues Projekt“
  6. Bestätigen Sie den Pfad für das Projekt und stellen Sie sicher, dass „Virtualenv“ ausgewählt istTektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – PyCharm Community 2
  7. Öffnen Sie ein Terminal. Wenn dein view enthält nicht die beschriftete Schaltfläche unten. Suchen Sie danach:Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – PyCharm Community 3
  8. Bestätigen Sie, dass die virtuelle Umgebung eingerichtet ist, indem Sie vor der Eingabeaufforderung in Ihrem Terminal nach ( venv ) suchenTektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – PyCharm Community 4
  9. Installieren Sie den Treiber vom Terminal
    Geben Sie Folgendes ein: pip install tm_devicesTektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – PyCharm Community 5
  10. Ihr Terminal sollte fehlerfrei sein! Viel Spaß beim Hacken!

Visual Studio Code
Visual Studio Code ist eine weitere beliebte kostenlose IDE, die Softwareentwickler aus allen Branchen verwenden. Es eignet sich hervorragend für die meisten Sprachen und verfügt über Erweiterungen für die meisten Sprachen, die das Codieren in dieser IDE sehr bequem und effizient machen. Visual Studio Code bietet IntelliSense, ein äußerst nützliches Tool bei der Entwicklung, da es die Codevervollständigung, Parameterinformationen und andere Informationen zu Objekten und Klassen unterstützt. Praktischerweise unterstützt tm_devices die Codevervollständigung, die den Befehlsbaum der Objekte und Klassen beschreibt.
Wir haben eine hervorragende Anleitung zur Installation von Python- und Visual Studio-Code, einschließlich Informationen zur Einrichtung einer virtuellen Umgebung Hier.

Exampder Code

In diesem Abschnitt werden wir Teile eines einfachen Codes schrittweise durchgehen, zample und heben Sie einige notwendige Komponenten hervor, um tm_-Geräte effektiv zu nutzen.
ImporteTektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – ImporteDiese beiden Zeilen sind für die effektive Nutzung von tm_devices von entscheidender Bedeutung. In der ersten Zeile importieren wir den DeviceManager. Dadurch wird das einfache Verbinden und Trennen mehrerer Geräteklassen erledigt.
In der zweiten Zeile importieren wir einen bestimmten Treiber, in diesem Fall den MSO5B.
Wir richten einen Kontextmanager mit dem DeviceManager ein:Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Importe 1Und wenn wir dann den Gerätemanager und den Treiber zusammen verwenden:Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Importe 2

Wir können ein Instrument mit einem bestimmten Befehlssatz instanziieren, der seinem Modell entspricht. Geben Sie einfach die IP-Adresse Ihres Instruments ein (andere VISA-Adressen funktionieren auch).
Wenn diese vier Zeilen abgeschlossen sind, können wir mit dem Schreiben sinnvoller und spezifischer Automatisierung für das MSO5B beginnen!
Codeausschnitte
Werfen wir einen Blick auf ein paar einfache Aktionen –
Setzen Sie den Triggertyp auf KanteTektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Importe 3So würden Sie eine Spitze-zu-Spitze-Messung auf CH1 hinzufügen und abfragen:Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Importe 4Wenn Sie eine nehmen wollten ampBreitenmessung auf CH2:Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Importe 5

Verwenden von IntelliSense/Code-Vervollständigung

IntelliSense – Microsofts Name für Code Completion ist eine sehr leistungsstarke Funktion von IDEs, die wir so weit wie möglich auszunutzen versucht haben.
Eines der größten Hindernisse für die Automatisierung mit Test- und Messgeräten ist der SCPI-Befehlssatz. Es handelt sich um eine veraltete Struktur mit einer Syntax, die in der Entwicklergemeinschaft nicht allgemein unterstützt wird.
Mit tm_devices haben wir für jeden SCPI-Befehl einen Satz Python-Befehle erstellt. Dadurch konnten wir Python-Code aus der vorhandenen Befehlssyntax generieren, um die manuelle Entwicklung der Treiber zu vermeiden, und eine Struktur erstellen, die bestehenden SCPI-Benutzern vertraut ist. Es wird auch dem Code auf niedrigerer Ebene zugeordnet, der während der Programmerstellung möglicherweise ein absichtliches Debuggen erfordert. Die Struktur der Python-Befehle ahmt die Befehlsstruktur von SCPI (oder in einigen Keithley-Fällen TSP) nach. Wenn Sie also mit SCPI vertraut sind, werden Sie mit diesen vertraut sein.
Dies ist ein ExampHier erfahren Sie, wie IntelliSense alle mit dem zuvor eingegebenen Befehl verfügbaren Befehle anzeigt:
In der scrollbaren Liste, die nach dem Punkt auf Scope erscheint, sehen wir eine alphabetische Liste der Scope-Befehlskategorien:Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Code-VervollständigungWenn Sie „afg“ auswählen, können wir eine Liste der AFG-Kategorien sehen:Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Code Completion 1Letzter Befehl mit Hilfe von IntelliSense geschrieben:Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Abb

Docstring-Hilfe

Während Sie programmieren oder den Code einer anderen Person lesen, können Sie mit der Maus über verschiedene Teile der Syntax fahren, um die spezifische Hilfedokumentation dieser Ebene zu erhalten. Je näher Sie der vollständigen Befehlssyntax sind, desto spezifischer wird sie.Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Docstring-HilfeAbhängig von Ihren IDE-Bedingungen können Sie sowohl die IntelliSense- als auch die Docstring-Hilfe gleichzeitig anzeigen.Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Docstring-Hilfe 1Mit diesem Leitfaden haben Sie einige der Vorteile des Python-Treiberpakets tm_devices von Tek kennengelernt und können Ihre Automatisierungsreise beginnen. Dank der einfachen Einrichtung, der Code-Vervollständigung und der integrierten Hilfe können Sie lernen, ohne Ihre IDE zu verlassen, Ihre Entwicklungszeit verkürzen und mit größerer Sicherheit programmieren.
Wenn Sie das Paket verbessern möchten, gibt es im Github-Repo Beitragsrichtlinien. Es gibt viele fortgeschrittenere ExampDie in der Dokumentation und im Paketinhalt im Ex hervorgehobenen Dateienamples-Ordner.

Zusätzliche Ressourcen

tm_devices · PyPI – Pakettreiber-Download und Informationen
tm_devices Github – Quellcode, Problemverfolgung, Beitrag
tm_devices Github – Online-Dokumentation

Fehlerbehebung

Das Aktualisieren von pip ist normalerweise ein guter erster Schritt zur Fehlerbehebung:
Geben Sie in Ihrem Terminal Folgendes ein: Python.exe -m pip install -upgrade pip
Fehler: whl sieht aus wie ein fileName, aber file existiert nicht ODER .whl ist kein unterstütztes Rad auf dieser Plattform.Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python – Fehlerbehebung

Lösung: Installieren Sie das Rad so, dass es das erkennt file Format.
Geben Sie in Ihrem Terminal Folgendes ein: pip install wheel
Wenn Sie das Rad offline installieren müssen, können Sie ähnliche Anweisungen wie in Anhang A befolgen, es ist jedoch der Download von tar.gz anstelle der .whl erforderlich file.

Anhang A – Offline-Installation von tm_devices

  1. Laden Sie auf einem Computer mit Internet das Paket zusammen mit allen Abhängigkeiten in den angegebenen Pfad herunter, indem Sie Folgendes verwenden:
    pip download –dest Rad-Setuptools tm_devices
  2. Kopieren Sie die files auf Ihren Computer, der keinen Internetzugang hat
  3. Befolgen Sie dann die Anweisungen im Haupthandbuch für die von Ihnen verwendete IDE, tauschen Sie jedoch den Installationsbefehl gegen Folgendes aus:
    pip install –no-index –find-links files> tm_devices

Kontaktinformationen:
Australien 1 800 709 465
Österreich* 00800 2255 4835
Balkan, Israel, Südafrika und andere ISE-Länder +41 52 675 3777
Belgien* 00800 2255 4835
Brasilien +55 (11) 3530-8901
Kanada 1 800 833 9200
Mittelosteuropa / Baltikum +41 52 675 3777
Mitteleuropa / Griechenland +41 52 675 3777
Dänemark +45 80 88 1401
Finnland +41 52 675 3777
Frankreich* 00800 2255 4835
Deutschland* 00800 2255 4835
Hongkong 400 820 5835
Indien 000 800 650 1835
Indonesien 007 803 601 5249
Italien 00800 2255 4835
Japan 81 (3) 6714 3086
Luxemburg +41 52 675 3777
Malaysia 1 800 22 55835
Mexiko, Mittel-/Südamerika und Karibik 52 (55) 88 69 35 25
Mittlerer Osten, Asien und Nordafrika +41 52 675 3777
Niederlande* 00800 2255 4835
Neuseeland 0800 800 238
Norwegen 800 16098
Volksrepublik China 400 820 5835
Philippinen 1 800 1601 0077
Polen +41 52 675 3777
Portugal 80 08 12370
Republik Korea +82 2 565 1455
Russland / GUS +7 (495) 6647564
Singapur 800 6011 473
Südafrika +41 52 675 3777
Spanien* 00800 2255 4835
Schweden* 00800 2255 4835
Schweiz* 00800 2255 4835
Taiwan 886 (2) 2656 6688
Thailand 1 800 011 931
Vereinigtes Königreich / Irland* 00800 2255 4835
USA 1 800 833 9200
Vietnam 12060128
* Europäische gebührenfreie Nummer. Wenn nicht
erreichbar, Tel.: +41 52 675 3777
Nr. 02.2022

Weitere wertvolle Ressourcen finden Sie unter TEK.COM
Copyright © Tektronix. Alle Rechte vorbehalten. Tektronix-Produkte sind durch US-amerikanische und ausländische Patente geschützt, ausgestellt und angemeldet. Die Informationen in dieser Veröffentlichung ersetzen die in allen zuvor veröffentlichten Materialien. Spezifikations- und Preisänderungen vorbehalten. TEKTRONIX und TEK sind eingetragene Warenzeichen von Tektronix, Inc. Alle anderen erwähnten Handelsnamen sind Dienstleistungsmarken, Warenzeichen oder eingetragene Warenzeichen der jeweiligen Unternehmen.
052124 SBG 46W-74037-1

Tektronix-Logo

Dokumente / Ressourcen

Tektronix vereinfacht die Testautomatisierung mit tm_ Devices und Python [pdf] Benutzerhandbuch
48W-73878-1, Vereinfachen der Testautomatisierung mit tm_ Devices und Python, Testautomatisierung mit tm_ Devices und Python, Automatisierung mit tm_ Devices und Python, tm_ Devices und Python, Geräte und Python, Python

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *