Tektronix-logoVereenvoudigde test
Automatisering met
tm_devices en Python
DOE-HET-ZELFGIDS Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python

Vereenvoudig testautomatisering met tm_ Devices en Python

DOE-HET-ZELFGIDS
Vereenvoudig testautomatisering met tm_devices en Python
Ingenieurs in veel sectoren gebruiken automatisering om de mogelijkheden van hun testinstrumenten uit te breiden. Veel ingenieurs kiezen hiervoor de gratis programmeertaal Python. Er zijn veel belangrijke voordelentages die Python tot een geweldige programmeertaal voor automatisering maken:

  • Veelzijdigheid
  • Gemakkelijk te onderwijzen en te leren
  • Code leesbaarheid
  • Breed beschikbare kennisbanken en modules

Er zijn twee belangrijke gebruiksscenario’s voor automatisering:

  • Routines die menselijk gedrag nabootsen om het voorpaneel te automatiseren en tijd te besparen, bijvoorbeeld geautomatiseerde nalevingstesten.
    In plaats van aan de scoop te gaan zitten, de juiste metingen toe te voegen en de resultaten op te schrijven elke keer dat u een nieuw onderdeel moet testen, ontwikkelt de ingenieur een script dat dat allemaal doet en het resultaat weergeeft.
  • Toepassingen die de functionaliteit van het instrument uitbreiden; bijvoorbeeldample: het loggen van metingen, validatie of kwaliteitsborging.
    Automatisering stelt de ingenieur in staat complexe tests uit te voeren zonder veel van de nadelen die inherent zijn aan die tests. Er is geen operator nodig om de scoop in te stellen en de resultaten handmatig vast te leggen, en de test kan elke keer op dezelfde manier worden uitgevoerd.
    Deze handleiding behandelt wat u nodig heeft om aan de slag te gaan met het programmeren van scopes in Python, inclusief de basisprincipes van programmatische interfaces en hoe u een ex-programma downloadt en uitvoertampik.

Wat is een programmatische interface?

Een programmatische interface (PI) is een grens of een reeks grenzen tussen twee computersystemen die kunnen worden geprogrammeerd om specifiek gedrag uit te voeren. Voor onze doeleinden is het de brug tussen de computer waarop elk Tektronix-testapparaat draait, en de applicatie die door een eindgebruiker is geschreven. Om dit nog verder te beperken, zijn het zachte commando's die op afstand naar een instrument kunnen worden verzonden, dat deze commando's vervolgens verwerkt en een overeenkomstige taak uitvoert. De PI Stack (Afbeelding 1) toont de informatiestroom van de hostcontroller naar het instrument. De door de eindgebruiker geschreven applicatiecode definieert het gedrag van het doelinstrument. Dit wordt meestal geschreven in een van de populaire ontwikkelingsplatforms in de branche, zoals Python, MATLAB, LabVIEW, C++ of C#. Deze applicatie verzendt gegevens met behulp van het SCPI-formaat (Standard Commands for Programmable Instrumentation), een standaard die door de meeste test- en meetapparatuur wordt ondersteund. SCPI-opdrachten worden vaak verzonden via een Virtual Instrument Software Architecture (VISA)-laag, die wordt gebruikt om de overdracht van gegevens te vergemakkelijken door extra robuustheid (bijvoorbeeld foutcontrole) aan het communicatieprotocol toe te voegen. In sommige gevallen kunnen toepassingen een stuurprogramma aanroepen, dat vervolgens een of meer SCPI-opdrachten naar de VISA-laag verzendt.Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - InterfaceFiguur 1. De programmatische interface (PI)-stack toont de informatiestroom tussen een hostcontroller en een instrument.

Wat is het tm_devices-pakket?

tm_devices is een apparaatbeheerpakket ontwikkeld door Tektronix dat een groot aantal opdrachten en functies bevat waarmee gebruikers eenvoudig tests op Tektronix- en Keithley-producten kunnen automatiseren met behulp van de programmeertaal Python. Het kan worden gebruikt in de meest populaire IDE's voor Python en ondersteunt hulpmiddelen voor het voltooien van code. Dit pakket maakt coderen en testautomatisering eenvoudig en gemakkelijk voor engineers met softwarevaardigheden van elk niveau. De installatie is ook eenvoudig en maakt gebruik van pip, het pakketbeheersysteem van Python.

Uw omgeving instellen

In deze sectie wordt u door de vereisten en installaties geleid om u voor te bereiden op ontwikkelingswerk met tm_devices. Het bevat ook instructies die virtuele omgevingen in Python (venvs) ondersteunen om uw projecten eenvoudiger te beheren en te onderhouden, vooral als u dit pakket alleen maar uitprobeert voordat u zich ertoe verbindt het te gebruiken.
Opmerking: Als u een omgeving heeft zonder directe toegang tot internet, moet u uw stappen aanpassen met behulp van de opdrachten in de bijlage. Als u problemen ondervindt, kunt u een bericht plaatsen in de github-discussies voor hulp.

Installatie en vereisten voltooidview

  1. Python installeren
    A. Python ≥ 3.8
  2. PyCharm - PyCharm-installatie, een project starten en tm_devices-installatie
  3. VSCode – VSCode-installatie, een project starten en tm_devices-installatie

PyCharm Community (gratis) editie
PyCharm is een populaire Python IDE die wordt gebruikt door softwareontwikkelaars in alle sectoren. PyCharm heeft een geïntegreerde unit-tester waarmee gebruikers tests kunnen uitvoeren file, klasse, methode of alle tests in een map. Net als de meeste moderne IDE's heeft het een vorm van codeaanvulling die je ontwikkeling enorm versnelt ten opzichte van een eenvoudige teksteditor.
We zullen de installatie van de PyCharm community-editie (gratis) doorlopen, gevolgd door het installeren van tm_devices in de IDE en het opzetten van een virtuele omgeving om in te ontwikkelen.

  1. Ga naar https://www.jetbrains.com/pycharm/
  2. Blader langs PyCharm Professional naar PyCharm Community Edition en klik op downloadenTektronix vereenvoudigt testautomatisering met tm_ Devices en Python - PyCharm Community
  3. U zou verder moeten kunnen gaan met alleen de standaardinstallatiestappen. Wij hebben niets unieks nodig.
  4. Welkom bij PyCharm!Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - PyCharm Community 1
  5. Nu moet u een nieuw project maken en ervoor zorgen dat u een virtuele omgeving opzet. Klik op “Nieuw project”
  6. Bevestig het pad voor het project, zorg ervoor dat “Virtualenv” is geselecteerdTektronix vereenvoudigt testautomatisering met tm_ Devices en Python - PyCharm Community 2
  7. Open een terminal. Als jouw view bevat niet de gelabelde knop onderaan, kijk hiervoor:Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - PyCharm Community 3
  8. Bevestig dat de virtuele omgeving is ingesteld door te controleren op ( venv ) vóór de prompt in uw terminalTektronix vereenvoudigt testautomatisering met tm_ Devices en Python - PyCharm Community 4
  9. Installeer het stuurprogramma vanaf de terminal
    Type: pip install tm_devicesTektronix vereenvoudigt testautomatisering met tm_ Devices en Python - PyCharm Community 5
  10. Uw terminal moet foutloos zijn! Veel hackplezier!

Visual Studio-code
Visual Studio Code is een andere populaire gratis IDE die softwareontwikkelaars in alle sectoren gebruiken. Het is geweldig voor de meeste talen en heeft extensies voor de meeste talen die het coderen in deze IDE erg handig en efficiënt maken. Visual Studio Code biedt IntelliSense, een uiterst nuttig hulpmiddel bij het ontwikkelen, omdat het helpt bij het voltooien van de code, parameterinformatie en andere informatie over objecten en klassen. Handig genoeg ondersteunt tm_devices het aanvullen van code die de opdrachtboom van de objecten en klassen beschrijft.
We hebben een uitstekende handleiding voor de installatie van zowel Python als Visual Studio Code, inclusief informatie over het instellen van een virtuele omgeving hier.

Exampde code

In deze sectie zullen we stukjes van een eenvoudige code doorlopen, bijvoorbeeldample en markeer enkele noodzakelijke componenten om tm_ devices effectief te gebruiken.
ImportenTektronix vereenvoudigt testautomatisering met tm_ Devices en Python - importDeze twee regels zijn van cruciaal belang voor het effectieve gebruik van tm_devices. In de eerste regel importeren we de DeviceManager. Hiermee wordt het standaard verbinden en ontkoppelen van meerdere apparaatklassen afgehandeld.
In de tweede regel importeren we een specifieke driver, in dit geval de MSO5B.
We stellen een contextmanager in met de DeviceManager:Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - import 1En als we dan apparaatbeheer en stuurprogramma samen gebruiken:Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - import 2

We kunnen een instrument instantiëren met een specifieke commandoset die overeenkomt met zijn model. Voer gewoon het IP-adres van uw instrument in (andere VISA-adressen werken ook).
Nu deze vier regels compleet zijn, kunnen we beginnen met het schrijven van betekenisvolle en specifieke automatisering voor de MSO5B!
Codefragmenten
Laten we een paar eenvoudige acties bekijken:
Het triggertype instellen op EdgeTektronix vereenvoudigt testautomatisering met tm_ Devices en Python - import 3Zo kunt u een piek-tot-piek-meting op CH1 toevoegen en opvragen:Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - import 4Als je een ampbreedtegraadmeting op CH2:Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - import 5

IntelliSense/Code-voltooiing gebruiken

IntelliSense – Microsoft's naam voor Code Completion is een zeer krachtige functie van IDE's die we zoveel mogelijk hebben geprobeerd te exploiteren.
Een van de belangrijkste obstakels voor automatisering met test- en meetapparatuur is de SCPI-commandoset. Het is een gedateerde structuur waarvan de syntaxis niet breed wordt ondersteund in de ontwikkelingsgemeenschap.
Wat we met tm_devices hebben gedaan, is een set Python-opdrachten maken voor elke SCPI-opdracht. Hierdoor konden we Python-code genereren op basis van de bestaande opdrachtsyntaxis om handmatige ontwikkeling van de stuurprogramma's te voorkomen, en een structuur creëren die bekend is bij bestaande SCPI-gebruikers. Het verwijst ook naar de code op een lager niveau waarvoor mogelijk opzettelijke foutopsporing nodig is tijdens het maken van uw programma. De structuur van de Python-commando's bootst de SCPI (of in sommige Keithley-gevallen TSP) commandostructuur na, dus als u bekend bent met SCPI, zult u hiermee bekend zijn.
Dit is een exampbestand over hoe IntelliSense alle beschikbare opdrachten toont met de eerder getypte opdracht:
In de schuifbare lijst die na de punt op scope verschijnt, kunnen we een alfabetische lijst met scope-opdrachtcategorieën zien:Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - CodevoltooiingAls u afg kiest, kunnen we vervolgens een lijst met AFG-categorieën zien:Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - Codevoltooiing 1Laatste opdracht geschreven met behulp van IntelliSense:Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - Afb

Docstring-hulp

Terwijl u codeert, of terwijl u de code van iemand anders leest, kunt u over verschillende delen van de syntaxis bewegen om de specifieke helpdocumentatie van dat niveau te krijgen. Hoe dichter u bij de volledige syntaxis van de opdracht komt, hoe specifieker deze wordt.Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - Docstring HelpAfhankelijk van uw IDE-voorwaarden kunt u tegelijkertijd IntelliSense- en docstring-help weergeven.Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - Docstring Help 1Met deze handleiding heeft u enkele van de voordelen van Tek's Python-stuurprogrammapakket tm_devices gezien en kunt u uw automatiseringsreis beginnen. Dankzij de eenvoudige installatie, het voltooien van de code en de ingebouwde hulp kunt u leren zonder uw IDE te verlaten, uw ontwikkeltijd versnellen en met meer vertrouwen coderen.
Er zijn bijdragerichtlijnen in de Github-repository als u het pakket wilt verbeteren. Er zijn tal van meer geavanceerde exampbestanden gemarkeerd in de documentatie en binnen de pakketinhoud in de Examples map.

Extra middelen

tm_devices · PyPI – Download en informatie over pakketstuurprogramma's
tm_devices Github – Broncode, probleemtracking, bijdrage
tm_devices Github – Online documentatie

Probleemoplossing

Het upgraden van pip is meestal een goede eerste stap naar het oplossen van problemen:
In je terminaltype: Python.exe -m pip install -upgrade pip
Fout: whl ziet eruit als een filenaam, maar file bestaat niet OF .whl is geen ondersteund wiel op dit platform.Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python - Probleemoplossing

Oplossing: Pip installeert het wiel zodat het de file formaat.
In uw terminaltype: pip install wheel
Als u Wheel offline moet installeren, kunt u soortgelijke instructies volgen als bijlage A, maar hiervoor is de download tar.gz vereist in plaats van de .whl file.

Bijlage A – Offline installatie van tm_devices

  1. Download op een computer met internet het pakket samen met alle afhankelijkheden naar de opgegeven padlocatie met behulp van:
    pip download –dest wielsetuptools tm_devices
  2. Kopieer de files naar uw computer die geen internettoegang heeft
  3. Volg daarna de instructies uit de hoofdgids voor welke IDE u ook gebruikt, maar verwissel de installatieopdracht voor het volgende:
    pip install –no-index –find-links files> tm_apparaten

Contactgegevens:
Australië 1 800 709 465
Oostenrijk* 00800 2255 4835
Balkan, Israël, Zuid-Afrika en andere ISE-landen +41 52 675 3777
België* 00800 2255 4835
Brazilië +55 (11) 3530-8901
Canada 1 800
Centraal-Oost-Europa / Baltische staten +41 52 675 3777
Centraal-Europa / Griekenland +41 52 675 3777
Denemarken +45 80 88 1401
Finland +41 52 675 3777
Frankrijk* 00800 2255 4835
Duitsland* 00800 2255 4835
Hongkong 400 820 5835
India 000 800 650 1835
Indonesië 007 803 601 5249
Italië 00800
Japan 81 (3) 6714 3086
Luxemburg +41 52 675 3777
Maleisië 1 800 22 55835
Mexico, Midden-/Zuid-Amerika en het Caribisch gebied 52 (55) 88 69 35 25
Midden-Oosten, Azië en Noord-Afrika +41 52 675 3777
Nederland* 00800 2255 4835
Nieuw-Zeeland 0800 800 238
Noorwegen 800 16098
Volksrepubliek China 400 820 5835
Filippijnen 1 800 1601 0077
Polen +41 52 675 3777
Portugal 80
Republiek Korea +82 2 565 1455
Rusland / GOS +7 (495) 6647564
Singapore 800 6011 473
Zuid-Afrika +41 52 675 3777
Spanje* 00800 2255 4835
Zweden* 00800 2255 4835
Zwitserland* 00800 2255 4835
Taiwan 886 (2) 2656 6688
Thailand 1 800 011 931
Verenigd Koninkrijk / Ierland* 00800 2255 4835
VS 1 800 833 9200
Vietnam12060128
* Europees gratis nummer. Als niet
bereikbaar, bel: +41 52 675 3777
Rev. 02.2022

Vind meer waardevolle bronnen op TEK.COM
Auteursrecht © Tektronix. Alle rechten voorbehouden. Tektronix-producten vallen onder Amerikaanse en buitenlandse patenten, uitgegeven en aangevraagd. De informatie in deze publicatie vervangt die in al het eerder gepubliceerde materiaal. Specificatie- en prijswijzigingsprivileges voorbehouden. TEKTRONIX en TEK zijn gedeponeerde handelsmerken van Tektronix, Inc. Alle andere handelsnamen waarnaar wordt verwezen, zijn de dienstmerken, handelsmerken of gedeponeerde handelsmerken van hun respectieve bedrijven.
052124SBG 46W-74037-1

Tektronix-logo

Documenten / Bronnen

Tektronix vereenvoudigt testautomatisering met tm_ Devices en Python [pdf] Gebruikershandleiding
48W-73878-1, Vereenvoudiging van testautomatisering met tm_ Devices en Python, Testautomatisering met tm_ Devices en Python, Automatisering met tm_ Devices en Python, tm_ Devices en Python, Apparaten en Python, Python

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *