A következő címkéjű bejegyzések mutatása: Windows. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: Windows. Összes bejegyzés megjelenítése

2020. szeptember 9., szerda

Műszer vezérlés 1. - A kezdetek

Konvergencia

Ez a szó jut eszembe, amikor erre a projectre gondolok.

Úgy érzem, hogy ez az a pont ahol a műhely építés, műszer gyűjtés, mérő interfész (GP-IB) építés és mérés erőfeszítéseim összekapcsolódnak, hogy valami magasabb szintű képességet produkáljanak a dolgok amikkel rendelkezem.

Hol is kezdődött?

Gyerekkoromban audio cuccokat építettem. Később (nem kis kihagyás után) újraindult ez a hobbi, az volt a terv, hogy folytatom a munkát az audio elektronikán. Nem volt mérőeszközöm (egy döglődő digitális multimétert leszámítva). Építeni akartam, ahelyett, hogy veszek valamit. Ez térített el a digitális elektronika irányába.

Később rengeteg műszert vettem (kattant idióta). Egy ponton vettem egy HP 8903B audio analizátort, hogy képes legyek grafikonokat rajzolni az erősítők képességeiről. A gond ott volt, hogy a XY rögzítőt csatlakoztatni számomra, egy igencsak túlhaladott megoldás lett volna. Ahhoz, hogy számítógépre kösd, meg szükséged van egy interfészre. Nem voltam elégedett a jelenleg kapható GP-IB interfészekkel, itt született meg a saját tervezésű GP-IB csatolóm.

Később kerestem vezérlő szoftvert a HP 8903B-hez, és nem szerettem amit találtam. Ezen túl még az is a fejemben volt, hogy más műszereimet is hozzákössem a PChez, miután más ötelteim is vannak, nem csak az audio analizátor vezérlése. Néhány kísérlet után megszületett a "Virtual Instrument" projectem.

Két év után, rengeteg szenvedéssel, újrakezdéssel és újratervezéssel, úgy tűnik, a rendszer elkezdett működni.

A koncepció:

Valami rugalmas megoldást akartam, aminek a használata, ugyanakkor nem igyényel programozási ismereteket. Valami olyasmit akartam, ami mérési sorozatokhoz használható, és működik a saját cuccaim nagy részével, kompatibilis sokféle kommunikációs interfésszel. Az egész rendszernek beépülő modulokon kell alapulnia, a jövőbeli fejleszthetőség érdekében.

Létrehoztam pár objektum típust a fentiekhez:

Vezérlő (controller):

Valami ami az egészet viszi a hátán. Elindítja a mérési sorozatot, esetleg még valami alapadatot is produkál. Egyenlőre ezek készültek el:

- Folyamatos vezérlő (continuous controller): Csak lefuttatja a méréseket egymás után, majd újra és újra, amíg meg nem állítod. Ez a szokásos működési módja a legtöbb műszernek, mint pl. a multimétereknek.

- Single shot vezérlő (képtelen vagyok értelmes magyar nevet találni neki): Lefuttat egyetlen mérést, majd megáll.

- Változó vezérlő (variable controller): Beállítható a mérési sorozatokhoz. Ad egy vagy lineáris, vagy logaritmikus forrás adat sorozatot. Eredetileg a HP8903-ra gondolva készült. Az első kísérletekben logaritmikus frekvencia forrásként használtam a beépített szinusz generátorhoz.

Műszer (instrument):

Eszköz (tipikusan műszer), ami mér valamit. Képes a láncban korábbi mérés eredményét használni, és/vagy mérési eredményt produkálni a láncban utána lévőknek.

Eddig két műszer típus készült el: HP8903 Audio Analizátor, HP3478A 5,5 digites multiméter (a többi folyamatban)

A műszerek minden esetben külső (szoftver) trigger üzemmódban működnek. Az ok: a fenti szoftver vezérlők intézik a mérést és nem a műszer belső vezérlése.

Szűrő (Filter):

Eredetileg arra terveztem, hogy eredményeket lehessen velük szűrni, matematikai számításokat végezni, adatokat konvertálni. A fejlesztés közben kiderült, hogy ehhez hasonló funkciókra, a műszerek között is szükség van. Rájöttem, hogy a szűrő plug-in-ek külön tartása semmilyen hozzáadott értékkel sem rendelkezik.

A szűrő funkciótól meg fogok szabadulni és a szűrőket műszerként fogom létrehozni.

Cél (target):

Valami ami meg tud jeleníteni, vagy el tud menteni mért eredményeket. Jelenleg két cél eszköz érhető el:

- Digitális megjelenítő: ki tudja írni a mért értéket, továbbá minimum, maximum és átlag értéket is kijelez, változtatható helyiértékkel (pontossággal)

- Grafikon megjelenítő: A mért értéksorozatot grafikonként jeleníti meg, több különböző mérési sorozat megjelenítésére alkalmas, lineáris vagy logaritmikus skálát használva (még nincs teljesen kész)

Kapcsolatok (connections):

Ez nem része a mérési láncnak. Ez a műszerek és a PC közötti kommunikációs interfész. Ami jelenleg elérhető:

- AvrGPIB - Az én saját tervezésű GPIB csatolóm (a fejlesztésről írtam pár cikket korábban)

- IVI VISA - Az iparági szabvány csatoló. Én a Keysight szoftver könyvtárával és egy Keysight USB/GPIB csatolóval próbáltam. Ez egyenlőre még eléggé instabil. További fejlesztés szükséges.

- Soros - Ezt meg is valósítottam meg nem is. Az AvrGPIB ezt használja mint legalsó szoftver réteg, de közvetlenül egyenlőre próbáltam, így ilyenkor lehetnek vele gondok.

Tehát, itt tartok jelenleg. Kipróbáltam a HP 3478A-val:

Majd később a HP 8903B-vel is:

Ez csak egy váltakozó feszültségű szint mérés, a kimenet és a bemenet közvetlenül összekötve, 20-20000Hz-es pásztázás, 1V jelszint. Sajnos ezen látható némi hiba:

Némi módosítással a grafikon (még mindig nem végleges):

Látszik egy 2% körüli hiba. A műszer némi javításra szorul (minimum a táp kondenzátorok cseréjére).

Folytatni akarom a fejlesztést, hozzáadva további műszerek támogatását. Ezen túl is rengeteg ötletem van a program továbbfejlesztésére.

A kód C#.Net-ben készült Visual Studio 2019-el. A kód itt található:

https://gitlab.com/suf/suf-electronics-VirtualInstrument

Bárki akinek tetszik a project, van szabadideje, némi programozási tudása, és szeretne segíteni a fejlesztésben, jelentkezzen nálam, minden segítséget szívesen fogadok.


2013. október 30., szerda

Lemezkarbantartó - Vicc Microsoft módra

Az utóbbi időben több helyen is küzdök a szabad hely hiányával a gépeimen. A Hyper-V-n a sok gép miatt, a saját asztali gépemen a kicsi SSD miatt, az Amazon EC2-ben a költségek miatt. Azt vettem észre, hogy a Microsoft igencsak hanyagul bánik a rendszerköteten felhasznált hellyel. Felesleges logokból, performance log mentésekből, update backupokból, hibás logméret korlátokból lazán össze tud jönni több tíz gigabyte.
Vannak dolgok amiknek a takarítására megvannak a módszereim, mint pl. A SoftwareDistribution mappa. Vannak viszont olyan helyek mint pl. A WinSxS amit nem ilyen egyszerű kipucolni.
Most éppen jókor jött ez a cikk:
Ezen felbátorodva elkezdtem pucolni, de nem csak a klienseimen, hanem a szervereken is. Ez utóbbiból az első ami a kezembe került az az Exchange 2013-as gépem volt ami úgy gyártott közel 70gigás rendszerkötetet, hogy be se lett élesbe állítva. A Disk Cleanup Wizard-dal meg a saját ötleteimmel ki is pucoltam vagy 30 giga cuccot róla.
Ezek után jött a DC. Keresem a gombot, sehol. Megnézem a hivatkozott KB cikket, keresem az eszköz parancssoros elérését (cleanmgr) a gépen, sehol.
Rakjam fel a Desktop Experience-et, hogy ezt az egy szerencsétlen toolt futtatni tudjam? (Az Exchange-nek prerequsite, tehát ott azért találtam meg)
Ez egy vicc, tehát nem lehet szemetet takarítani az "Ink and Handwriting Support" nélkül.
Remek. Gratulálok Microsoft.

2013. augusztus 31., szombat

Amazon Elastic Cloud - első benyomások

Mostanában elég sokat piszkálom a fenn nevezett cuccot. Egyenlőre nem vagyunk barátok.
Első benyomások:
+ Egyre inkább tetszik a koncepció, hogy pár dolláros óradíjjért akkora vasat gyárthatok magamnak amekkorát akarok. Tesztkörnyezethez piszok jó megoldás
- A felület kicsit kripli, egy rakás dolgot csak idiótán lehet megoldani. A virtualizációs környezetekhez képest fordított logikával
- Összerakott kész gépen nem lehet a belső hálózatos IP címet lecserélni. Hozzáadni lehet pluszban, belül lehet állítani, de az eredetileg amazon által allokált cím az marad
- Nincs gép konzol. Ez a windowsnál igen jó ötlet. Ha elírod az IP címet és nem tudod mi volt a hibás bejegyzés, ha elszúrod az RDP konfigot, ha a gép valamiért nem bootol, stb. Esélyed sincs, hogy rendbe szedd, de még arról se lesz infód, hogy mi a baja (vártam másfél órát egy w2k8 startra, mert frissítéseket konfigurált és nem láttam belőle semmit, azt hittem már megdöglött, pedig nem)
- Van snapshot, de a VSS-ről azt se tudják, hogy mi az. A konzisztens snapshot folyamat szerintük: lecsatolod a gépről a kötetet a gépről menet közben, megcsinálod a snapshotot, majd visszacsatolod. Lécci, csináld meg ezt egyszer egy éles Exchange store alatt!!! :-)

Na egyenlőre ennyi, de még barátkozunk.