DIY Electronic projects

Full Version: EEZ Studio
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Evo nakon dugo vremena i letimičnih najava da mogu objaviti da je prva za javnost upotrebljiva verzija (M1) EEZ studia kompletirana i dostupna za Linux, Mac i Win. Pokušati ću ovdje kroz više postova, i pitanja koja vjerujem da će se pojaviti objasniti što je do sad napravljeno i što se namjerava napraviti.
Ukratko riječ je o modularnom grafičkom alatu koji se počeo oblikovati kako bi se ubrzao razvoj HMI za EEZ H24005. To predstavlja prvi važan modul koji se naziva EEZ Studio project editor ili ukratko ESP što ću u nastavku koristiti. Kako se EEZ H24005 počeo razvijati tako je bilo sve jasnije da sa u Arduino IDE ugrađenom serijskom konzolom (Serial monitor) nije najpraktičnije komunicirati niti testirati sve što se htjelo pokriti sa SCPI komandama. Vrlo frustirajući su se pokazali sljedeći nedostaci takve komunikacije: nepostojanje "makroa"/skripti za slanje sekvenci i history koji je nestajao zatvaranjem Arduino IDE. No, u dnevnom radu pokazalo se da ništa bolja situacija nije ni kod komunikacije sa Rigolovim MSO/DSO: da bi mu se pristupilo trebalo je instalirati aplikaciju koju nude samo za Windowse (od kojeg sam se maknuo prije dosta godina). To malo što sam i vidio nije nudilo recimo lako skidanje screenshot-ova, prebacivanje "raw" podataka iz memorije, o history aktivnosti da ni ne govorim. Iz tog razloga počelo se razvijati drugi važan modul: EEZ Studio Workbench ili ukratko ESW.
U nastavku ću se koncentrirati više na ESW zato što je bi on mogao biti od koristi onima koji imaju neki SCPI instrument, ako ništa neki Rigolov MSO/DSO serije 1000 koji čini se da su dosta popularni.

*****************

Instalacija

Za instalaciju je potrebno otići na GitHub i izabrati paket za vaš OS. Prilikom prve instalacije EEZ Studio će kreirati sve što mu je potrebno i uz to instalirati tzv. instrument extensions za EEZ uređaje i softverski simulator i za različite Rigolove 1000 MSO/DSO.
Nakon što pokrenete EEZ Studio pojaviti će vam se početna (home) stranica na kojoj su prikazana tri instalirana instrumenta. Povratak na ovu stranicu moguće je u bilo kojem trenutku preko istoimene opcije/ikone gore lijevo.

[Image: vczFq07.png]

Brisanje i dodavanje  instrumenta

Instrumenti koji vam ne trebaju mogu se jednostavno pobrisati: kliknite na instrument, a na desni klik će se pojaviti opcija Delete. Pobrisani instrument ide u "trash" koji se pojavljuje gore desno kao Deleted instruments. Tamo možete permanentno ukloniti instrument i sve što se radilo sa njime, dakle oprez sa permanentnim brisanjem instrumenta kojeg stvarno koristite.

[Image: cSkLUJV.png]

Opcija Add instrument gore desno omogućuje dodavanje instrumenta za koji postoji instrument extension. Tada se otvara izbor sa svim instaliranim ekstenzijama:

[Image: I2CgxIU.png]

Za primjer možemo dodati Rigol DS1074Z-S koji će se pojaviti na početnoj stranici.

[Image: zAmPFEh.png]

S desne strane se za izabrani instrument prikazuju osnove informacije, načini spajanja koje podržava ESW u ovoj verziji i ima ih instrument i njegov history (dnevnik rada).

Instrument seansa/sesija

Ako želimo nešto raditi sa instrumentom trebamo ga selektirati i opcijom Open SCPI terminal ili duplim klikom na instrument otvoriti će se novi prozor. ESW podržava rad s više instrumenata, pa će za svaki instrument otvoriti novi prozor:

[Image: tDuiQyw.png]

Obratite za početak pažnju na sljedeće opcije i sekcije:
  • Na vrhu imamo informaciju kojem instrumentu seansa pripada i koji je status konekcije.
  • Na samom dnu prikazuju se "shortcutovi" koji se definirani za instrument. Oni mogu doći sa instrument ekstenzijom, a može ih korisnik i sam definirati.
  • Ako za instrument postoji SCPI help on će se moći prikazati izborom plave opcije "?" dolje lijevo.
  • Pri dnu se nalazi i komandna linija koja je aktivna samo kada postoji i aktivna konekcija na instrument.

Krenimo sa konektiranjem na instrument. U slučaju Rigola podržana je trenutno samo eternet konekcija. Rigol je izabrao nestandardni port 5555 (umjesto 5025) pa će ga skupa sa IP adresu (kod mene je to 192.168.10.124) trebati navesti u formi koja će se pojaviti kad izaberemo opciju Connect:

[Image: J6NoSrv.png]

Nakon prvog uspješnog spajanja dobiti ćemo sljedeće:

[Image: y0cUOje.png]

[Image: QJ195Jj.png]

Prijetite da je komandna linija sada aktivna i da se status konekcije u vrhu promijenio. Tamo možemo vidjeti osnovne podatke o konekciji (IP adresa, port) i pojavljuje se informacija koja je dobivena od instrumenta slanjem standardnog upita za identifikaciju *IDN?
Također se može vidjeti da je sva interakcija "timestamped" i sve to ide u history instrumenta. Bez daljnjeg okolišanja, već smo spremni za skupljanje podataka sa Rigola i to na dva načina za što smo pripremili "shortcutove": Screenshot i Waveform data. Isti su pridruženi funkcijskim tipkama F2 i F3 (ovo je sve programabilno!) ili se mogu kliknuti sa mišem. Najtrivijalniji i najbrži način sakupljanja podataka je svakako screenshot, evo jedan primjer sa uključena dva kanala:

[Image: cK0HCQB.png]

Odnosno još jednom, ali bez forme za prikaz konekcije koja mi je ostala kada sam tražio koja mu je IP adresa:

[Image: y0cUOje.png]

Primljeni prikaz ekrana može se spremiti na disk, u clipboard i može mu se dodati neki komentar. Ovo zadnje se pokazalo od izuzetne važnosti. Uz malo discipline, a to je da odmah na pravom mjestu napišete što ste snimili, moći ćete se lako kasnije vratiti i po sadržaju komentara pretraživati bazu svih pohranjenih snimaka! Evo primjer dodavanja komentara (koristi se treća ikona ispod same slike):

[Image: ZQpEMpu.png]

Kada je komentar potvrđen pojavljuje se ispod slike, gdje se može naknadno editirati ili pobrisati.

[Image: oWacljw.png]

Za kraj ovog uvoda da vidimo što bi mogli dobiti korištenjem Waveform data shortkey-a. Za razliku od prethodnog (koji kako se može vidjeti koristi Rigolovu SCPI upit DISP: DATA?) ovdje se koristi niz komandi kojima se skidaju "raw" podaci za uključene kanale i svaki pohranjuje u svoju datoteku. U ovisnosti o broju aktivnih kanala i vremenske baze broj uzoraka po kanalu može varirati. O svemu tome je vođeno računa, tj. da se osigura da sve što u Rigolovoj memoriji postoji može biti i preneseno. Kao u prethodnom slučaju dovoljno je kliknuti na tu opciju u dnu ili izabrati pridruženu mu F3 tipku i imati dobiti ćemo sljedeće:

[Image: EiONZyJ.png]

Ova operacija može trajati, jer Rigol ima vrlo konačnu brzinu slanja podataka i uz to nije u stanju poslati sve odjednom pa ga treba gurkati da to šalje u fragmentima. U našem slučaju iz moguće je vidjeti da je sampling rate bio 500 MS/s i da nam je pohranio 1 200 000 uzoraka po kanalu što odgovara 1.14 Mb. Kao i u prethodnom slučaju moguće je komentirati svaku snimku, a sada imamo mogućnost i da malo bolje pogledamo primljene podatke. Klik na grafikon i on će se povećati preko cijelog prozora:

[Image: 6i5mSuy.png]

Configure opcija opcija otvara formu sa informacijama koje je skripa prikupila za dotično mjerenje:

[Image: IGTqMsc.png]

Ako vam nedostaje crna pozadina koju imate na Rigolu, izaberite je kao na slici u nastavku. To je globalna opcija i koristiti će se kod prikaza svih ostalih grafikona.

[Image: oNYJ3Mu.png]

Uzorke sada možemo po volji zumirati u jednu ili drugu stranu, gdje se kao početni način prikazivanja koristi tzv. min-max (sada zumirano):

[Image: Pz26a2u.png]

Rigol, kao vjerujem i drugi koriste razne manipulacije, da slika na ekranu izgleda bliža analognoj, no kada se dobiju sirovi podaci i provuku kroz ESW to je sasvim druga priča. ESW zasad nudi još u nastavku prikazani average i gradually i jasno svi oni pokazuju koliko je u stvari grubo mjerenje ovakvim uređajem (jer sve pokušava napraviti sa 256 razina svog 8-bitnog A/D konvertera!).

[Image: 561QW9F.png]

[Image: JFs1kAz.png]

Povećavati se (zoom-in) može raditi ali ne u beskonačnost, odnosno ne preko granice pojedinog uzorka nakon čega svaki uzorak postaje kvantizirana kuglica sa repićem prema nuli za bolju indikaciju da se ispod toga nema što interpolirati i uljepšavati:

[Image: mtzaHhL.png]

Na ovako prikupljenim podacima sada bi se mogle vršiti različite matematičke operacije, koje i sam Rigol radi koliko može u "realnom vremenu". Sve to vjerujem da ćemo vremenom moći dodati i ovdje.
Za kraj da samo još prikažem što stoji iza prije spomenute SCPI help opcije:

[Image: PewelV6.png]

Tu imate čitav Rigolov manual sa SCPI komandama, koji je moguće pretraživati i u komandnu liniju direktno kopirati sadržaj komandi. Prilikom potvrde komanda će se izvršiti i instrument će vratiti odgovor (u prvom slučaju je to bila greška jer je nedostajao broj kanala Smile). Evo još jedna slika kada je poslana komanda ACQuire:MDEPth? za dobivanje informacije o postavljenom broju uzoraka i onda upit da li je kanal 1 prikazan:

[Image: pXV08WJ.png]

Kada ste završili sa radom, iskoristite opciju Disconnect na vrhu i ta akcija će također biti zabilježena na kraju seanse (uz informaciju o njenom trajanju):

[Image: N65AL9L.png]

Vjerujem da će ovaj kratki uvod biti dovoljno inspirativan da neki od vas pokušaju probati EEZ Studio i javiti svoje dojmove. Naravno, u sljedećim danima ću pokušati obraditi i ostale naprednije opcije koje bi mogle biti od koristi u svakodnevnom radu.
ts+react+electron, sudeci po screenshotovima ovo izgleda daleko bolje nego prosecna komercijalna aplikacija, svaka cast za trud umece i istrajnost,
Big Grin
Prasimix, svaka čast! Ja ću probati ovih dana pa javim utiske. Smile
(05-01-2018, 07:01 AM)progster Wrote: [ -> ]Prasimix, svaka čast! Ja ću probati ovih dana pa javim utiske. Smile

Unaprijed veliko hvala. Ideja je da se u 5 minuta postavi funkcionalna komunikacija sa instrumentom, ako ne bude tako onda nismo uspjeli. Javi svakako ako negdje zapne.
I ja cu probati, samo da vidim kako da dodam DS2xxx ...
Ovaj software sam cekao, nema za OS X skoro nista na tu temu Smile
(05-01-2018, 11:31 AM)mikikg Wrote: [ -> ]I ja cu probati, samo da vidim kako da dodam DS2xxx ...
Ovaj software sam cekao, nema za OS X skoro nista na tu temu Smile

Izaberi najbliži iz serije 1000 (DSO, MSO sa ili bez signal generatora, itd.). Ako je Rigol bio iole dosljedan onda bi modeli iz različitih serija, a sličnih funkcija trebali imati iste SCPI komande. Ako ništa drugo skidanje screenshotova DISP: DATA? (stavljam razmak jer mi ubacuje smajli) bi trebalo raditi.
@prasimix, lepo odradjeno, nema sta (bar ovo sto sam na blic bacio pogled), code deluje cisto Smile

Pitanje, nisam video na brzinu, kako ide komunikacija sa samim uredjajem, tj. da li ima neki pre-requirements tipa da mora na masini biti NI-VISA ili IVI Visa drajver neki?
(05-01-2018, 01:53 PM)vsavic Wrote: [ -> ]Pitanje, nisam video na brzinu, kako ide komunikacija sa samim uredjajem, tj. da li ima neki pre-requirements tipa da mora na masini biti NI-VISA ili IVI Visa drajver neki?

Hvala, u prikazanom slučaju nije potreban nikakav middleware, sve ide po običnom telnetu! Šteta je ne probati Smile.
(05-01-2018, 02:04 PM)prasimix Wrote: [ -> ]
(05-01-2018, 01:53 PM)vsavic Wrote: [ -> ]Pitanje, nisam video na brzinu, kako ide komunikacija sa samim uredjajem, tj. da li ima neki pre-requirements tipa da mora na masini biti NI-VISA ili IVI Visa drajver neki?

Hvala, u prikazanom slučaju nije potreban nikakav middleware, sve ide po običnom telnetu! Šteta je ne probati Smile.

Cool Smile
Definiranje naziva instrumenta i seanse

Prezentirati ću još neke funkcije ESW. Krenimo od promjene naziva instrumenta kojeg imamo na Home page. Kod prvog konektiranja, ESW će za naziv uzeti informacije dobivene od instrumenta, što može izgledati nepraktično. To se jednostavno promjeni tako da u polje Label upišete tekst po želji:

[Image: A0kAfRg.png]

Idemo sada započeti još jednu seansu/sesiju sa tim istim Rigolom i umjesto Calendar taba izaberimo sa desne stane Sessions list tab. Tu sada imamo mogućnost da imenujemo seansu, ponovno iz razloga da kasnije kada budemo pretraživali lakše dođemo do traženih podataka:

[Image: dDEQ5yd.png]

"Hover" preko retka seanse i pojaviti će nam se olovka koja otvara novu formu:

[Image: DZPH1Fd.png]

Dodavanje podataka u seansu

Za vrijeme seanse nije nužno da svi podaci stignu sa instrumenta na koji smo spojeni. ESW trenutno omogućuje i dodavanje sljedećeg:
  • Proizvoljni tekst/komentar
  • Datoteka sa diska
  • Spajanje više grafova u novi graf

**************************

Za dodavanje komentara treba izabrati ikonu gore desno kada će se otvoriti nova upisna forma:

[Image: TvP347J.png]

U komentaru može postojati i link na neki vanjski sadržaj do kojeg će se moći doći jednim klikom:

[Image: ImvXahX.jpg]

**************************

Kod dodavanja datoteke s diska ako je ista recimo prepoznata kao slika, ESW će prikazati i njezin preview:

[Image: 3cZhv8k.png]

Korištenjem ove opcije moguće je importirati u seansu i neko mjerenje koje je bilo na disku (netko vam ga je poslao, eksportan je iz drugog instrumenta, itd.):

[Image: iZp2WyC.png]

**************************

Spajanje grafova omogućuje kompilaciju podataka iz više mjerenja, za to je potrebno izabrati Add chart opciju gore desno:

[Image: N90YA6v.png]

... kada će se prikazati lista svih grafova skinutih sa tog instrumenta, iz koje se može izabrati one koji nas zanimaju da ih vidimo zajedno:

[Image: xKQw7bW.png]

Izbor se potvrđuje sa Add chart kada će se na kraj seanse pojaviti novi graf:

[Image: w33JJYG.png]

Sada možemo vidjeti i da Configure ovakvog grafa sadrži podatke za sve grafove (tu recimo možete promijeniti Label u nešto prikladnije):

[Image: fUYJn2R.png]

Pretraživanje seansi

Za kraj možemo vidjeti i što je trenutno moguće kada je u pitanju pretraživanje sadržaja seanse. Pretraživanje je krajnje jednostavno: potrebno je upisati par slova traženog pojma i rezultati će se izlistati:

[Image: 6L5YL1R.png]

... ili kada je traženi pojam unutar naziva "itema":

[Image: e9VwNM4.png]

Ako nam pretraživanje nije potrebno odnosno prikaz pripadajućih tabova s desne strane to se može sakriti izborom ikone krajnje gore desno.
Navesti ću i par naprednih opcija vezanih za instrument seansu.

Skriptiranje

ESW omogućuje kreiranje dvije vrste skripti: tekstualnih i javascript kod (do liste skripti se dolazi klikom na istoimenu ikonu s lijeve strane). Prve se mogu koristiti kada je instrumentu potrebno poslati znanu sekvencu SCPI komandi, recimo skidanje prikaza ekrana:

[Image: qcSxtQr.png]

U slučaju transfera podataka iz Rigolove memorije koristi se Javascript kodiranje gdje se koristi varijable, postoji programska logika i koriste se višestruke SCPI komande kao i mogućnost da se za vrijeme transfera prikaže status na ekranu. Slobodno možete po tome petljati (prije napravite ipak kopiju ako negdje zapne da imate verziju koja zasad izgleda da radi):

[Image: JbFt2Qt.png]

Shortcuts

Kako je već rečeno, shortcuts mogu doći sa instrument ekstenzijom ali korisnik može i sad definirati svoje. Njihova lista je dohvatljiva preko istoimene ikone s lijeve strane:

[Image: CsmJb8M.png]

Ako želite dodati svoj izaberite opciju Add shortcut. Evo jedan primjer novog koji bi trebao aktivirati self-test (komanda *TST?). Kod definiranja tipke (ovdje F10) dovoljno je istu pritisnuti. Ako ne želimo da shortcut ima tipku (već je samo dohvatljiv iz menija na dnu prozora seanse) može se pobrisati sa tipkom "x". Neke tipke su namjerno onemogućene (recimo F11, Del, kursorske, i sl.):

[Image: 09ieBCL.png]

Nakon što se doda postaje vidljiv i u prozoru seanse:

[Image: 1ZnQn9A.png]

U gore navedenom primjeru izabrana je grupa "My group" koja nije default, već je naknadno dodana, budući je shortcutove moguće grupirati. Za rad sa grupama postoji opcija Show groups. Za povratak na shortcuts koristiti opciju Show shortcuts.
Bravo!
Kratka napomena jer je bilo takvih pitanja: EEZ Studio za pristup Rigolu preko eterneta ne zahtjeva nikakav dodatni middleware/driver poput VISA, IVI itd. Dovoljno je uštekati kabel, vidjeti na kojoj je IP adresi Rigol i istu iskoristiti za uspostavljanje konekcije!
Svaka čast Prasimix!
Nemam reči! Svaka čast Prasimix! Nadam se da ću uskoro uspeti da isprobam tvoj softver, imam RIGOL DS1104Z (1074 upgrade na FW1104).
Hvala svima još jednom, vjerujem da će netko uskoro biti u prilici i poslati neka pitanja, primjedbe i sugestije vezano za korištenje. U dosadašnjem kratkom prikazu ESW komponente nije do kraja objašnjeno gdje se podaci koji su sakupljeni u radu sa instrumentima spremaju. Rečeno je da idu u SQL bazu (SQLite), kreira se automatski prilikom prvog pokretanja, a njezina lokacija se može pronaći pod Settings tabom dolje lijevo na Home page ESW:

[Image: I7ijA1g.png]

Dakle, ako radite backup svojih podataka onda ili dodajte path do baze u backup "scheduler" ili možete jednostavno bazu (storage.db ili kako je već nazovete) premjestiti tamo gdje inače držite važne podatke. Isto tako moguće je na ovaj način importirati tuđu bazu ili neku svoju drugu kopiju. U slučaju promjene baze trebati će napraviti restart za što postoji istoimena opcija.

Kad smo kod Settings-a isti trenutno ne omogućuje puno toga: osim definiranja baze moguće je postaviti "locale". To je način da recimo američki datetime format zamijenite nekim normalnim Smile.
Prasimix, brzinski sam pokušao da se zakačim na moj Rigol, ali sam imao problem sa komandom da prikažem bilo šta sa uređaja. Komande RUN/STOP rade, ali nikako da bilo šta povučem sa uređaja.
Moja pretpostavka je da je možda do FW verzije koju imam u Rigolu "00.04.03.SP1"

Code:
05/04/2018 7:49:11 PM created
05/04/2018 7:49:27 PM connected:
05/04/2018 7:49:27 PM request: *IDN?
05/04/2018 7:49:27 PM answer: RIGOL TECHNOLOGIES,DS1104Z,DS1ZA163354260,00.04.03.SP1
05/04/2018 7:49:38 PM request: RUN
05/04/2018 7:49:41 PM script: {"name":"Waveform data","type":"JavaScript","done":false}
05/04/2018 7:49:48 PM request: STOP DISP:DATA?
05/04/2018 7:49:48 PM answer: command error
05/04/2018 7:49:51 PM request: RUN
05/04/2018 7:49:53 PM request: STOP DISP:DATA?
05/04/2018 7:49:53 PM answer: command error
05/04/2018 7:50:43 PM script: {"name":"Waveform data","type":"JavaScript","done":false}
05/04/2018 7:53:10 PM Test001

05/04/2018 7:53:15 PM script: {"name":"Waveform data","type":"JavaScript","done":false}
05/04/2018 7:53:31 PM request: STOP
05/04/2018 7:53:33 PM request: RUN
05/04/2018 7:57:11 PM disconnected: 7 mins, 44 secs
(05-06-2018, 10:16 AM)npejcic Wrote: [ -> ]Prasimix, brzinski sam pokušao da se zakačim na moj Rigol, ali sam imao problem sa komandom da prikažem bilo šta sa uređaja. Komande RUN/STOP rade, ali nikako da bilo šta povučem sa uređaja.
Moja pretpostavka je da je možda do FW verzije koju imam u Rigolu "00.04.03.SP1"

Code:
05/04/2018 7:49:11 PM created
05/04/2018 7:49:27 PM connected:
05/04/2018 7:49:27 PM request: *IDN?
05/04/2018 7:49:27 PM answer: RIGOL TECHNOLOGIES,DS1104Z,DS1ZA163354260,00.04.03.SP1
05/04/2018 7:49:38 PM request: RUN
05/04/2018 7:49:41 PM script: {"name":"Waveform data","type":"JavaScript","done":false}
05/04/2018 7:49:48 PM request: STOP DISP:DATA?
05/04/2018 7:49:48 PM answer: command error
05/04/2018 7:49:51 PM request: RUN
05/04/2018 7:49:53 PM request: STOP DISP:DATA?
05/04/2018 7:49:53 PM answer: command error
05/04/2018 7:50:43 PM script: {"name":"Waveform data","type":"JavaScript","done":false}
05/04/2018 7:53:10 PM Test001

05/04/2018 7:53:15 PM script: {"name":"Waveform data","type":"JavaScript","done":false}
05/04/2018 7:53:31 PM request: STOP
05/04/2018 7:53:33 PM request: RUN
05/04/2018 7:57:11 PM disconnected: 7 mins, 44 secs

Probaj sam upisati samo disp:data?
To bi trebalo za početak skinuti screenshot
Da, to je rešenje.
Dugme ScreenShoot šalje i komandu STOP:


Code:
05/06/2018 11:53:44 AM
STOP
DISP:DATA?
05/06/2018 11:53:45 AM
command error

Ova ručno uneta radi kako treba:
05/06/2018 11:53:51 AM
DISP:DATA?
Izbacio sam iz skripte komandu STOP i sada dugme radi kako treba.
Hvala.
Pages: 1 2