Simpliga Testo
Aŭtomatigo kun
tm_devices kaj Python
KIEL Gvidi
Simpligante Testaŭtomatigon Kun tm_ Aparatoj Kaj Python
KIEL Gvidi
Simpligante Testaŭtomatigon per tm_devices kaj Python
Inĝenieroj tra multaj industrioj uzas aŭtomatigon por etendi la kapablojn de siaj testiloj. Multaj inĝenieroj elektas la liberan programlingvon Python por plenumi tion. Estas multaj signifa advantages kiuj igas Python bonega programlingvo por aŭtomatigo:
- Verstileco
- Facila instrui kaj lerni
- Kodlegebleco
- Vaste haveblaj sciobazoj kaj moduloj
Estas du ĉefaj uzkazoj por aŭtomatigo:
- Rutinoj, kiuj imitas homan konduton por aŭtomatigi la antaŭan panelon kaj ŝpari tempon, ekz., aŭtomatigita konforme-testado.
Prefere ol sidiĝi ĉe la amplekso, aldonante taŭgajn mezurojn kaj noti la rezultojn ĉiufoje kiam vi bezonas testi novan parton, la inĝeniero disvolvas skripton, kiu faras ĉion tion kaj montras la rezulton. - Uzoj kiuj etendas la funkciecon de la instrumento; por ekzample: mezurado-dehakado, validigo aŭ kvalita certigo.
Aŭtomatigo permesas al la inĝeniero efektivigi kompleksajn testojn sen multaj el la malavantaĝoj enecaj al tiuj testoj. Ne necesas, ke funkciigisto agordu la amplekson kaj permane registri la rezultojn, kaj la testo povas esti farita same ĉiufoje.
Ĉi tiu gvidilo kovros tion, kion vi bezonas por komenci programadon en Python, inkluzive de la bazaĵoj de programaj interfacoj kaj kiel elŝuti kaj ruli eksan.ample.
Kio estas Programa Interfaco?
Programa interfaco (PI) estas limo aŭ aro de limoj inter du komputiksistemoj kiuj povas esti programitaj por efektivigi specifajn kondutojn. Por niaj celoj, ĝi estas la ponto inter la komputilo, kiu prizorgas ĉiun pecon de Tektronix-testekipaĵo, kaj la aplikaĵo skribita de fina uzanto. Por malvastigi ĉi tion eĉ plu, ĝi estas sof-komandoj kiuj povas esti senditaj malproksime al instrumento kiu tiam prilaboras tiujn komandojn kaj efektivigas respondan taskon. La PI-Stako (Figuro 1) montras la fluon de informoj de la mastro-regilo ĝis la instrumento. La aplika kodo skribita de la finuzanto difinas la konduton de la cela instrumento. Ĉi tio estas kutime skribita en unu el la evoluplatformoj popola en la industrio kiel Python, MATLAB, Lab.VIEW, C++ aŭ C#. Ĉi tiu aplikaĵo sendos datumojn per la formato SCPI (Normaj Komandoj por Programebla Instrumentado), kiu estas normo subtenata de plej multaj testaj kaj mezuraj ekipaĵoj. SCPI-komandoj ofte estas senditaj tra Virtual Instrument Software Architecture (VISA) tavolo, kiu kutimas faciligi la translokigon de datenoj inkludante kroman fortikecon (ekz., erarkontrolado) al la komunika protokolo. En kelkaj kazoj, aplikoj povas voki ŝoforon kiu tiam sendos unu aŭ plurajn SCPI-komandojn al la VISA-tavolo.Figuro 1. La stako de programa interfaco (PI) montras la fluon de informoj inter mastro-regilo kaj instrumento.
Kio estas la tm_devices Pako?
tm_devices estas aparato-administra pako evoluigita de Tektronix, kiu inkluzivas amason da komandoj kaj funkcioj por helpi uzantojn facile aŭtomatigi testojn pri Tektronix kaj Keithley-produktoj uzante la programlingvon Python. Ĝi povas esti uzata en la plej popularaj IDEoj por Python kaj subtenas kod-kompletigajn helpojn. Ĉi tiu pako faras kodigon kaj testan aŭtomatigon simpla kaj facila por inĝenieroj kun programaraj kapabloj de ajna nivelo. Instalado ankaŭ estas simpla kaj uzas pip, la pak-administran sistemon de Python.
Agordi vian Medion
Ĉi tiu sekcio gvidos vin tra la antaŭkondiĉoj kaj instalaĵoj por prepari vin fari evolulaboron kun tm_devices. Ĝi ankaŭ inkluzivas instrukciojn, kiuj subtenas virtualajn mediojn en Python (venvs) por faciligi viajn projektojn administri kaj konservi, precipe se vi nur provas ĉi tiun pakaĵon antaŭ ol fari ĝian uzadon.
Notu: Se vi havas medion sen rekta aliro al la interreto, vi devos modifi viajn paŝojn per la komandoj en la apendico. Se vi havas problemojn bonvolu afiŝi en la github-diskutoj por helpo.
Instalado kaj Antaŭkondiĉoj Finisview
- Instalu Python
a. Python ≥ 3.8 - PyCharm - Instalado de PyCharm, Komenco de projekto kaj instalado de tm_devices
- VSCode - Instalado de VSCode, Komenco de projekto kaj instalado de tm_devices
PyCharm Community (senpaga) eldono
PyCharm estas populara Python IDE uzata de programistoj tra ĉiuj industrioj. PyCharm havas integran unutestilon, kiu permesas al uzantoj fari testojn per file, klaso, metodo aŭ ĉiuj testoj ene de dosierujo. Kiel plej multaj modernaj IDE, ĝi havas formon de kodkompletigo, kiu ege rapidigas vian disvolviĝon super baza tekstredaktilo.
Ni trairos la instaladon de la komunuma eldono de PyCharm (senpaga), poste instali tm_devices en la IDE kaj starigi virtualan medion por disvolvi.
- Iru al https://www.jetbrains.com/pycharm/
- Rulumu preter PyCharm Professional al PyCharm Community Edition, alklaku elŝuti
- Vi devus povi daŭrigi nur la defaŭltajn instalajn paŝojn. Ni ne postulas ion unikan.
- Bonvenon al PyCharm!
- Nun vi devos krei novan projekton kaj certigi starigi virtualan medion. Klaku "Nova Projekto"
- Konfirmu vojon por projekto, certigu, ke "Virtualenv" estas elektita
- Malfermu terminalon. Se via view ne inkluzivas la etikeditan butonon ĉe la malsupra serĉo por ĉi tio:
- Konfirmu ke virtuala medio estas agordita per kontrolo de ( venv ) antaŭ la prompto en via terminalo
- Instalu pelilon de la terminalo
Tajpu: pip install tm_devices - Via terminalo devus esti senerara! Feliĉa hakado!
Vida Studio-Kodo
Visual Studio Code estas alia populara senpaga IDE, kiun programistoj de programoj tra ĉiuj industrioj uzas. Ĝi estas bonega por la plej multaj lingvoj kaj havas etendaĵojn por la plej multaj lingvoj, kiuj faras kodigon en ĉi tiu IDE tre oportuna kaj efika. Visual Studio Code disponigas IntelliSense kiu estas ekstreme utila ilo dum evoluado ĉar ĝi helpas en kodkompletigo, parametraj informoj kaj aliaj informoj pri objektoj kaj klasoj. Oportune, tm_devices subtenas kodkompletigon kiu priskribas la komandan arbon de la objektoj kaj klasoj.
Ni havas bonegan gvidilon pri la instalado de kaj Python kaj Visual Studio Code, inkluzive de informoj pri agordo de virtuala medio ĉi tie.
Example Kodo
En ĉi tiu sekcio ni paŝos tra pecoj de simpla kodo ekzample kaj reliefigi kelkajn necesajn komponantojn por uzi tm_-aparatojn efike.
ImportadojĈi tiuj du linioj estas kritikaj por la efika uzado de tm_devices. En la unua linio ni importas la DeviceManager. Ĉi tio pritraktos la kaldronkonekton kaj malkonekton de multoblaj aparatoklasoj.
En la dua linio ni importas specifan pelilon, ĉi-kaze la MSO5B.
Ni agordas kuntekstan administranton per DeviceManager:Kaj tiam kiam ni uzas la aparato-administranton kaj ŝoforon kune:
Ni povas instantiigi instrumenton kun specifa komandaro kiu kongruas kun ĝia modelo. Nur enigu la IP-adreson de via instrumento (ankaŭ aliaj VISA-adresoj funkcias).
Kun ĉi tiuj kvar linioj kompletaj, ni povas komenci verki signifan kaj specifan aŭtomatigon por la MSO5B!
Kodfragmentoj
Ni rigardu kelkajn simplajn agojn -
Agordante la Trigger-tipo al EdgeJen kiel vi aldonus kaj pridemandis pint-al-pintan mezuron sur CH1:
Se vi volus preni an amplitudmezurado sur CH2:
Uzante IntelliSense/Kodkompletigon
IntelliSense – La nomo de Mikrosofto por Kodkompletigo estas tre potenca trajto de IDE-oj, kiujn ni provis ekspluati kiel eble plej multe.
Unu el la kernaj baroj al aŭtomatigo per testaj kaj mezuraj aparatoj estas la SCPI-komandoaro. Ĝi estas datita strukturo kun sintakso ne vaste subtenata en la evolukomunumo.
Kion ni faris kun tm_devices estas krei aron da Python-komandoj por ĉiu SCPI-komando. Ĉi tio permesis al ni generi Python-kodon el ekzistanta komanda sintakso por eviti manan disvolviĝon de la ŝoforoj, kaj ankaŭ krei strukturon konatan al ekzistantaj SCPI-uzantoj. Ĝi ankaŭ mapas al la malsupra-nivela kodo, kiu povus postuli intencan sencimigon dum via programo-kreado. La strukturo de la Python-komandoj imitas la SCPI (aŭ en kelkaj Keithley-kazoj TSP) komandstrukturon do se vi konas SCPI vi konos ĉi tiujn.
Ĉi tio estas eksampdosiero pri kiel IntelliSense montras ĉiujn disponeblajn komandojn kun la antaŭe tajpita komando:
En la rulebla listo, kiu aperas post la punkto sur amplekso, ni povas vidi alfabetan liston de ampleksaj komandkategorioj:Elektante afg ni povas tiam vidi liston de AFG-kategorioj:
Fina komando skribita kun la helpo de IntelliSense:
Docstring Helpo
Dum vi kodas, aŭ dum vi legas la kodon de iu alia, vi povas ŝvebi super malsamaj partoj de la sintakso por akiri la specifan helpdokumentadon de tiu nivelo. Ju pli vi proksimiĝas al la plena komanda sintakso, des pli specifa ĝi fariĝos.Depende de viaj IDE-kondiĉoj vi povas montri kaj IntelliSense kaj docstring helpon samtempe.
Kun ĉi tiu gvidilo vi vidis kelkajn el la avantaĝoj de la python-ŝoforpakaĵo tm_devices de Tek kaj povas komenci vian aŭtomatigan vojaĝon. Kun la facila agordo, kodkompletigo kaj enkonstruita helpo vi povos lerni sen forlasi vian IDE, akceli vian disvolvan tempon kaj kodi kun pli alta fido.
Estas kontribuaj gvidlinioj en la Github-repo se vi volas plibonigi la pakaĵon. Estas multaj pli altnivelaj eksamples reliefigitaj en la dokumentado kaj ene de la pakaĵenhavo en la Eksamples dosierujo.
Ekstraj Rimedoj
tm_devices · PyPI – Paka ŝoforo elŝuto kaj informoj
tm_devices Github - Fontkodo, temo-spurado, kontribuo
tm_devices Github - Enreta Dokumentado
Solvado de problemoj
Ĝisdatigi pip estas kutime bona unua paŝo al solvi problemojn:
En via terminalo tajpu: Python.exe -m pip install -upgrade pip
Eraro: whl aspektas kiel a filenomo, sed file ne ekzistas AŬ .whl ne estas subtenata rado sur ĉi tiu platformo.
Solvo: Pip instalanta radon por ke ĝi rekonu la file formato.
En via fina stacio tipo: pip install wheel
Se vi bezonas instali radon eksterrete, vi povas sekvi similajn instrukciojn kiel Apendico A, sed ĝi postulas la elŝuton tar.gz anstataŭ la .whl. file.
Apendico A – Senreta Instalado de tm_devices
- En komputilo kun interreto, elŝutu la pakaĵon kune kun ĉiuj dependencajoj al la specifita vojo-loko uzante:
pip download –dest wheel setuptools tm_devices - Kopiu la files al via komputilo, kiu ne havas retaliron
- Poste, sekvu la instrukciojn de la ĉefa gvidilo por kiu ajn IDE vi uzas, sed interŝanĝu la instalan komandon por la jena:
pip install –no-index –find-links files> tm_devices
Kontaktinformoj:
Aŭstralio 1 800 709 465
Aŭstrio* 00800 2255 4835
Balkanoj, Israelo, Sudafriko kaj aliaj ISE-landoj +41 52 675 3777
Belgio* 00800 2255 4835
Brazilo +55 (11) 3530-8901
Kanado 1 800 833 9200
Centra Orienta Eŭropo / Baltio +41 52 675 3777
Mezeŭropo / Grekio +41 52 675 3777
Danio +45 80 88 1401
Finnlando +41 52 675 3777
Francio* 00800 2255 4835
Germanio* 00800 2255 4835
Honkongo 400 820 5835
Barato 000 800 650 1835
Indonezio 007 803 601 5249
Italio 00800 2255 4835
Japanio 81 (3) 6714 3086
Luksemburgio +41 52 675 3777
Malajzio 1 800 22 55835
Meksiko, Centra/Sudameriko kaj Karibio 52 (55) 88 69 35 25
Mezoriento, Azio kaj Nordafriko +41 52 675 3777
Nederlando* 00800 2255 4835
Nov-Zelando 0800 800 238
Norvegio 800 16098
Ĉina Popola Respubliko 400 820 5835
Filipinoj 1 800 1601 0077
Pollando +41 52 675 3777
Portugalio 80 08 12370
Korea Respubliko +82 2 565 1455
Rusio / CIS +7 (495) 6647564
Singapuro 800 6011 473
Sudafriko +41 52 675 3777
Hispanio* 00800 2255 4835
Svedio* 00800 2255 4835
Svislando* 00800 2255 4835
Tajvano 886 (2) 2656 6688
Tajlando 1 800 011 931
Unuiĝinta Reĝlando / Irlando* 00800 2255 4835
Usono 1 800 833 9200
Vjetnamio 12060128
* Eŭropa senpaga numero. Se ne
alirebla, voku: +41 52 675 3777
Rev. 02.2022
Trovu pli valorajn rimedojn ĉe TEK.COM
Kopirajto © Tektronix. Ĉiuj rajtoj rezervitaj. Tektronix-produktoj estas kovritaj de usonaj kaj eksterlandaj patentoj, eldonitaj kaj pritraktataj. Informoj en ĉi tiu eldonaĵo anstataŭas tion en ĉiuj antaŭe publikigitaj materialoj. Specifaj kaj prezŝanĝaj privilegioj rezervitaj. TEKTRONIX kaj TEK estas registritaj varmarkoj de Tektronix, Inc. Ĉiuj aliaj komercaj nomoj referencitaj estas la servaj markoj, varmarkoj aŭ registritaj varmarkoj de siaj respektivaj kompanioj.
052124 SBG 46W-74037-1
Dokumentoj/Rimedoj
![]() |
Tektronix Simpliganta Testaŭtomatigon Kun tm_ Aparatoj Kaj Python [pdf] Uzantogvidilo 48W-73878-1, Simplifying Test Automation With tm_ Devices And Python, Test Automation With tm_ Devices And Python, Automation With tm_ Devices And Python, tm_ Devices And Python, Devices And Python, Python |