Poenostavljeni test
Avtomatizacija z
tm_devices in Python
NAVODILA ZA UPORABO
Poenostavitev avtomatizacije testiranja z napravami tm_ in Pythonom
NAVODILA ZA UPORABO
Poenostavitev testne avtomatizacije s tm_devices in Python
Inženirji v mnogih panogah uporabljajo avtomatizacijo za razširitev zmogljivosti svojih testnih instrumentov. Mnogi inženirji izberejo brezplačen programski jezik Python, da to dosežejo. Obstaja veliko pomembnih napredkovtagzaradi katerih je Python odličen programski jezik za avtomatizacijo:
- Vsestranskost
- Enostaven za poučevanje in učenje
- Berljivost kode
- Široko dostopne baze znanja in moduli
Obstajata dva glavna primera uporabe avtomatizacije:
- Rutine, ki posnemajo človeško vedenje za avtomatizacijo sprednje plošče in prihranek časa, npr. avtomatizirano testiranje skladnosti.
Namesto da bi se usedel za daljnogled, dodal ustrezne meritve in zapisal rezultate vsakič, ko morate preizkusiti nov del, inženir razvije skript, ki naredi vse to in prikaže rezultat. - Uporaba, ki razširi funkcionalnost instrumenta; nprample: beleženje meritev, validacija ali zagotavljanje kakovosti.
Avtomatizacija inženirju omogoča izvajanje zapletenih testov brez številnih slabosti, ki so značilne za te teste. Operaterju ni treba nastavljati daljnogleda in ročno beležiti rezultatov, test pa je mogoče vsakič izvesti na enak način.
Ta vodnik bo pokrival, kaj potrebujete za začetek programiranja obsegov v Pythonu, vključno z osnovami programskih vmesnikov in kako prenesti in zagnati example.
Kaj je programski vmesnik?
Programski vmesnik (PI) je meja ali niz meja med dvema računalniškima sistemoma, ki ju je mogoče programirati za izvajanje določenih vedenj. Za naše namene je to most med računalnikom, ki poganja vsak del Tektronixove preskusne opreme, in aplikacijo, ki jo je napisal končni uporabnik. Da bi to še bolj zožili, so ukazi sof, ki jih je mogoče na daljavo poslati instrumentu, ki nato obdela te ukaze in izvede ustrezno nalogo. Sklad PI (slika 1) prikazuje tok informacij od gostiteljskega krmilnika do instrumenta. Aplikacijska koda, ki jo napiše končni uporabnik, določa obnašanje ciljnega instrumenta. To je običajno napisano v eni od priljubljenih razvojnih platform v industriji, kot so Python, MATLAB, LabVIEW, C++ ali C#. Ta aplikacija bo pošiljala podatke z uporabo formata Standard Commands for Programmable Instrumentation (SCPI), ki je standard, ki ga podpira večina preskusne in merilne opreme. Ukazi SCPI so pogosto poslani prek sloja Virtual Instrument Software Architecture (VISA), ki se uporablja za olajšanje prenosa podatkov z vključitvijo dodatne robustnosti (npr. preverjanje napak) v komunikacijski protokol. V nekaterih primerih lahko aplikacije pokličejo gonilnik, ki nato pošlje enega ali več ukazov SCPI na plast VISA.Slika 1. Sklad programskega vmesnika (PI) prikazuje pretok informacij med gostiteljskim krmilnikom in instrumentom.
Kaj je paket tm_devices?
tm_devices je paket za upravljanje naprav, ki ga je razvil Tektronix in vključuje množico ukazov in funkcij, ki uporabnikom pomagajo pri preprosti avtomatizaciji testov izdelkov Tektronix in Keithley z uporabo programskega jezika Python. Uporablja se lahko v najbolj priljubljenih IDE-jih za Python in podpira pomoč pri dokončanju kode. S tem paketom je avtomatizacija kodiranja in testiranja preprosta in enostavna za inženirje z znanjem programske opreme katere koli stopnje. Namestitev je tudi preprosta in uporablja pip, Pythonov sistem za upravljanje paketov.
Nastavitev vašega okolja
Ta razdelek vas bo vodil skozi predpogoje in namestitve za pripravo na razvojno delo s tm_devices. Vključuje tudi navodila, ki podpirajo virtualna okolja v Pythonu (venvs), da olajšajo upravljanje in vzdrževanje vaših projektov, še posebej, če ta paket šele preizkušate, preden se zavežete njegovi uporabi.
Opomba: Če imate okolje brez neposrednega dostopa do interneta, boste morali spremeniti svoje korake z uporabo ukazov v dodatku. Če imate težave, jih lahko objavite v github razprave za pomoč.
Namestitev in predpogoji so končaniview
- Namestite Python
a. Python ≥ 3.8 - PyCharm – namestitev PyCharm, zagon projekta in namestitev tm_devices
- VSCode – namestitev VSCode, zagon projekta in namestitev tm_devices
PyCharm Community (brezplačna) izdaja
PyCharm je priljubljen Python IDE, ki ga uporabljajo razvijalci programske opreme v vseh panogah. PyCharm ima vgrajen tester enot, ki uporabnikom omogoča izvajanje testov file, razred, metoda ali vsi testi v mapi. Kot večina sodobnih IDE-jev ima obliko dokončanja kode, ki izjemno pospeši vaš razvoj v primerjavi z osnovnim urejevalnikom besedil.
Sprehodili se bomo skozi namestitveno izdajo skupnosti PyCharm (brezplačno), sledila bo namestitev tm_devices v IDE in nastavitev virtualnega okolja za razvoj.
- Pojdi na https://www.jetbrains.com/pycharm/
- Pomaknite se mimo PyCharm Professional do PyCharm Community Edition, kliknite prenos
- Nadaljevati bi morali samo s privzetimi koraki namestitve. Ne potrebujemo ničesar edinstvenega.
- Dobrodošli v PyCharm!
- Zdaj boste morali ustvariti nov projekt in zagotoviti nastavitev virtualnega okolja. Kliknite »Nov projekt«
- Potrdite pot za projekt, preverite, ali je izbrano »Virtualenv «
- Odprite terminal. Če tvoj view ne vključuje označenega gumba na dnu, poiščite tole:
- Potrdite, da je virtualno okolje nastavljeno, tako da preverite ( venv ) pred pozivom v vašem terminalu
- Namestite gonilnik s terminala
Tip: pip install tm_devices - Vaš terminal bi moral biti brez napak! Veselo hekanje!
Koda Visual Studio
Visual Studio Code je še en priljubljen brezplačen IDE, ki ga uporabljajo razvijalci programske opreme v vseh panogah. Odličen je za večino jezikov in ima razširitve za večino jezikov, zaradi katerih je kodiranje v tem IDE zelo priročno in učinkovito. Visual Studio Code ponuja IntelliSense, ki je izjemno uporabno orodje pri razvoju, saj pomaga pri dokončanju kode, informacijah o parametrih in drugih informacijah v zvezi s predmeti in razredi. Priročno tm_devices podpira dokončanje kode, ki opisuje ukazno drevo objektov in razredov.
Imamo odličen vodnik za namestitev kode Python in Visual Studio Code, vključno z informacijami o nastavitvi virtualnega okolja tukaj.
Example koda
V tem razdelku bomo korakali skozi dele preproste kode, nprample in poudarite nekatere potrebne komponente za učinkovito uporabo naprav tm_.
UvoziTi dve vrstici sta ključni za učinkovito uporabo tm_devices. V prvi vrstici uvozimo DeviceManager. To bo obravnavalo standardno povezovanje in odklop več razredov naprav.
V drugi vrstici uvozimo določen gonilnik, v tem primeru MSO5B.
Z DeviceManagerjem nastavimo upravitelja konteksta:In potem, ko skupaj uporabljamo upravitelja naprav in gonilnik:
Instanciiramo lahko instrument z določenim naborom ukazov, ki ustreza njegovemu modelu. Samo vnesite naslov IP vašega instrumenta (delujejo tudi drugi naslovi VISA).
Ko so te štiri vrstice dokončane, lahko začnemo pisati smiselno in specifično avtomatizacijo za MSO5B!
Delčki kode
Oglejmo si nekaj preprostih dejanj –
Nastavitev vrste sprožilca na EdgeTukaj je opisano, kako bi dodali in zahtevali meritev od vrha do vrha na CH1:
Če bi želeli vzeti ampmerjenje litude na CH2:
Uporaba IntelliSense/dopolnjevanja kode
IntelliSense – Microsoftovo ime za dokončanje kode je zelo zmogljiva lastnost IDE-ja, ki smo jo poskušali čim bolj izkoristiti.
Ena glavnih ovir za avtomatizacijo s testnimi in merilnimi napravami je nabor ukazov SCPI. To je zastarela struktura s sintakso, ki v razvojni skupnosti ni široko podprta.
S tm_devices smo ustvarili niz ukazov Python za vsak ukaz SCPI. To nam je omogočilo ustvarjanje kode Python iz obstoječe sintakse ukazov, da bi se izognili ročnemu razvoju gonilnikov, ter ustvarili strukturo, ki je poznana obstoječim uporabnikom SCPI. Prav tako se preslika v kodo nižje ravni, ki lahko zahteva namerno odpravljanje napak med ustvarjanjem programa. Struktura ukazov Python posnema strukturo ukazov SCPI (ali v nekaterih primerih Keithley TSP), tako da, če ste seznanjeni s SCPI, boste seznanjeni z njimi.
To je bivšiampkako IntelliSense prikaže vse ukaze, ki so na voljo s predhodno vnesenim ukazom:
Na pomičnem seznamu, ki se prikaže za piko na obsegu, lahko vidimo abecedni seznam kategorij ukazov obsega:Če izberemo afg, lahko vidimo seznam kategorij AFG:
Končni ukaz, napisan s pomočjo IntelliSense:
Pomoč za Docstring
Ko kodirate ali berete kodo nekoga drugega, se lahko premaknete nad različne dele sintakse, da dobite dokumentacijo pomoči za to raven. Bližje kot ste polni sintaksi ukaza, bolj natančen bo.Odvisno od pogojev vašega IDE lahko hkrati prikažete pomoč IntelliSense in niza dokumentov.
S tem priročnikom ste videli nekaj prednosti Tekovega paketa gonilnikov za python tm_devices in lahko začnete svojo pot avtomatizacije. Z enostavno nastavitvijo, dokončanjem kode in vgrajeno pomočjo se boste lahko učili, ne da bi zapustili IDE, pospešili razvojni čas in kodirali z večjo samozavestjo.
Če želite izboljšati paket, so v Github repo smernice za prispevke. Obstaja veliko naprednejših bivšihamppoudarjene v dokumentaciji in znotraj vsebine paketa v Exampmapa les.
Dodatni viri
tm_devices · PyPI – Prenos gonilnika paketa in informacije
tm_devices Github – Izvorna koda, sledenje težavam, prispevek
tm_devices Github – spletna dokumentacija
Odpravljanje težav
Nadgradnja pipa je običajno dober prvi korak k odpravljanju težav:
V vaš terminal vnesite: Python.exe -m pip install -upgrade pip
Napaka: whl izgleda kot a fileime, ampak file ne obstaja ALI .whl ni podprto kolo na tej platformi.
Rešitev: Pip namestite kolo, tako da prepozna file format.
V vašem terminalu vnesite: pip install wheel
Če želite namestiti wheel brez povezave, lahko sledite podobnim navodilom kot v dodatku A, vendar zahteva prenos tar.gz namesto .whl file.
Dodatek A – Namestitev tm_devices brez povezave
- V računalniku z internetom prenesite paket skupaj z vsemi odvisnostmi na določeno lokacijo poti z uporabo:
prenos pip –dest wheel setuptools tm_devices - Kopiraj files na vaš računalnik, ki nima dostopa do interneta
- Nato sledite navodilom iz glavnega vodnika za kateri koli IDE, ki ga uporabljate, vendar zamenjajte ukaz za namestitev z naslednjim:
pip install –no-index –find-links files> tm_devices
Kontaktni podatki:
Avstralija 1 800 709 465
Avstrija* 00800 2255 4835
Balkan, Izrael, Južna Afrika in druge države ISE +41 52 675 3777
Belgija* 00800 2255 4835
Brazilija +55 (11) 3530-8901
Kanada 1 800 833 9200
Srednja vzhodna Evropa / Baltik +41 52 675 3777
Srednja Evropa / Grčija +41 52 675 3777
Danska +45 80 88 1401
Finska +41 52 675 3777
Francija* 00800 2255 4835
Nemčija* 00800 2255 4835
Hongkong 400 820 5835
Indija 000 800 650 1835
Indonezija 007 803 601 5249
Italija 00800 2255 4835
Japonska 81 (3) 6714 3086
Luksemburg +41 52 675 3777
Malezija 1 800 22 55835
Mehika, Srednja/Južna Amerika in Karibi 52 (55) 88 69 35 25
Bližnji vzhod, Azija in Severna Afrika +41 52 675 3777
Nizozemska* 00800 2255 4835
Nova Zelandija 0800 800 238
Norveška 800 16098
Ljudska republika Kitajska 400 820 5835
Filipini 1 800 1601 0077
Poljska +41 52 675 3777
Portugalska 80 08 12370
Republika Koreja +82 2 565 1455
Rusija/SND +7 (495) 6647564
Singapur 800 6011 473
Južna Afrika +41 52 675 3777
Španija* 00800 2255 4835
Švedska* 00800 2255 4835
Švica* 00800 2255 4835
Tajvan 886 (2) 2656 6688
Tajska 1 800 011 931
Združeno kraljestvo/Irska* 00800 2255 4835
ZDA 1 800 833 9200
Vietnam 12060128
* Evropska brezplačna številka. Če ne
dostopen, pokličite: +41 52 675 3777
Rev. 02.2022
Več dragocenih virov poiščite na TEK.COM
Avtorske pravice © Tektronix. Vse pravice pridržane. Izdelke Tektronix zajemajo ameriški in tuji patenti, izdani in v postopku v postopku. Informacije v tej publikaciji nadomeščajo vse v prej objavljenem gradivu. Pridržujejo se pravice in specifikacije. TEKTRONIX in TEK sta registrirani blagovni znamki podjetja Tektronix, Inc. Vsa druga omenjena trgovska imena so storitvene znamke, blagovne znamke ali registrirane blagovne znamke njihovih podjetij.
052124 SBG 46W-74037-1
Dokumenti / Viri
![]() |
Tektronix poenostavlja avtomatizacijo testiranja z napravami tm_ in Pythonom [pdf] Uporabniški priročnik 48W-73878-1, Poenostavitev preizkusne avtomatizacije s tm_ Devices in Python, Testna avtomatizacija s tm_ Devices in Python, Avtomatizacija s tm_ Devices in Python, tm_ Devices in Python, Naprave in Python, Python |