„Digitális multiméter vezérlése mérésleírás” változatai közötti eltérés

A Fizipedia wikiből
(Új oldal, tartalma: „Category:Mérési adatgyűjtés és feldolgozás == Bevezetés == A mérési gyakorlat célja a [http://www.goodwill.com.tw Goodwill] GDM-8246 típusú általános fe…”)
 
44. sor: 44. sor:
 
| rowspan="2"|Automatikus méréshatárváltás
 
| rowspan="2"|Automatikus méréshatárváltás
 
|bekapcsolása
 
|bekapcsolása
|:CONF:AUT 1
+
| :CONF:AUT 1
 
|
 
|
 
|-
 
|-
 
|kikapcsolása
 
|kikapcsolása
|:CONF:AUT 0
+
| :CONF:AUT 0
 
|
 
|
 
|-  
 
|-  
 +
| colspan="2" | Automatikus méréshatár lekérdezése
 +
| :CONF:AUT ?
 +
| TODO
 +
|-
 +
| rowspan="3" | DC Voltmérés
 +
| Auto méréshatár
 +
| :CONF:VOLT:DC 0
 +
|
 +
|-
 +
| 0.5V méréshatár
 +
| :CONF:VOLT:DC 0.5
 +
|
 +
|-
 +
| 5V méréshatár
 +
| :CONF:VOLT:DC 5
 +
|
 +
|-
 +
| rowspan="3" | Ohmmérés
 +
| Auto méréshatár
 +
| :CONF:RES 0
 +
|
 +
|-
 +
| 500Ohm méréshatár
 +
| :CONF:RES 0.5
 +
|
 +
|-
 +
| 5kOhm méréshatár
 +
| :CONF:RES 5
 +
|
 
|}
 
|}
 +
 +
A mért eredményt a multiméter Volt, illetve kOhm egységekben szolgáltatja.
 +
Az utasításokat újsor karakterrel kell lezárni, ezért célszerű a Serial.WriteLine(string) metódus használata. A műszer által visszaküldött értéket a Serial.ReadLine() függvénnyel olvashatjuk be. 
 +
 +
== Feladatok ==
 +
 +
A cél egy olyan grafikus felület, amely lehetővé teszi a multiméter két funkciójának, az egyenfeszültség- (DCV), valamint az ellenállásmérésnek kezelését. A kész program kijelzi, az idő függvényében ábrázolja, valamint elmenti a műszertől kapott adatokat.
 +
 +
A mérőprogramot a következőek szerint építsük fel:
 +
# Hozzuk létre azt a programrészletet, mely a kommunikáciért felelős, és teszteljük azzal, hogy egy gombnyomásra kiírjuk a műszer által beolvasott értéket! A mérőműszer és a soros port inicializálását a program betöltődésekor végezzük el: az alapértelmezett üzemmód legyen a feszültségmérés automatikus méréshatárral;
 +
# Tegyük a kiolvasást automatizálttá, azaz a kommunikációt és a kiírást végezzük egy Timer által meghatározott -változtatható- időközönként;
 +
# Adjunk lehetőséget a két szükséges üzemmód közötti változtatásra például két nyomógomb segítségével! Ügyeljünk arra, hogy a Timer event által futtatott kommunikáció összeakadhat más event portkezelésével, ezért az üzemmódváltást csak a következő Timer event végezze el! Erre egy módszer két globális logikai változó használata, melyeket a gombok lenyomása állít be és állapotuk meghatározza, hogy szeretnénk-e megváltoztatni az üzemmódot és ha igen, melyik üzemmód legyen aktív. Ekkor a változókat a Timer eventben megvizsgálva eldönthetjük, hogy szükséges-e a műszert átállítani;
 +
# Hozzuk létre a lemezre mentéshez szükséges struktúrákat: az állomány tartalmazza a mérés kezdete óta eltelt időt, valamint a mért mennyiség értékét és mértékegységét! A program felületén legyen lehetőség a mentést felfüggeszteni, majd újraindítani (ezt megtehetjük CheckBox, vagy két nyomógomb segítségével);
 +
# Ábrázoljuk a mért értékeket! Ügyeljünk arra, hogy üzemmódváltásnál ürítsük ki a régi tartalmat a grafikonról!
 +
# Tegyünk fel három gombot, amellyel lehetőség van a méréshatár váltására: DCV üzemmódban ezek legyenek rendre: 0.5V, 5V, Auto. Ellenállásmérés módban: 500Ohm, 5kOhm, Auto. A méréshatár váltásánál is ügyeljünk az üzemmódváltásnál leírtakra!
 +
# Végül tegyük szebbé a kiírást és ábrázolást: Jelenítsük meg az aktuális mértékegységet a mért érték mögött és a grafikon tengelyén!
 +
 +
A mérésről készített jegyzőkönyv lényegében egy használati utasítás az elkészült felülethez. Ismertessük a megvalósított funkciókat, a grafikus felület kezelését, valamint részletesen térjünk ki az olyan megoldásokra, amelyek nem a fentiekben megfogalmazott felépítést követik! A jegyzőkönyvhöz csatoljuk a mérőprogram forráskódját!

A lap 2011. február 23., 23:58-kori változata

Tartalomjegyzék

Bevezetés

A mérési gyakorlat célja a Goodwill GDM-8246 típusú általános felhasználású digitális multiméter (DMM) megismerése és automatizált vezérlése.

A mérőeszköz kezelése

A műszer rajza az ábrán található. Az előlapi elsődleges kijelző által mutatott értéket dolgozzuk fel a számítógéppel. A gombok szerepét teljes egészében a mérőprogram grafikus felülete veszi át. A hátlapon található az RS232, valamint a hálózati csatlakozó. A multimétert a soros porton szövegként kiküldött utasításokkal vezérelhetjük. Ezek közül több utasításra (például mérési adat lekérdezése) az eszköz választ ad, amit a soros porton keresztül tudunk beolvasni.

Soros kommunikáció adatai

A számítógépen a soros portot a következő beállításokkal kell használni:

  • Port name="COM2"
  • Baud rate=9600
  • Data bits=8
  • Stop bits=1
  • Paritás nincs.

Parancskészlet

Az alábbi táblázatban felsoroljuk a feladatok megoldásához használható parancskészletet. Az első oszlopban található a végrehajtott művelet. A második oszlopban a kiküldött utasítást találjuk.

Operation Command syntax Return value
Műszerazonosító lekérdezése *idn? TODO
Alaphelyzetbe állítás *cls
Elsődleges kijelző lekérdezése  :VAL? TODO
Automatikus méréshatárváltás bekapcsolása  :CONF:AUT 1
kikapcsolása  :CONF:AUT 0
Automatikus méréshatár lekérdezése  :CONF:AUT ? TODO
DC Voltmérés Auto méréshatár  :CONF:VOLT:DC 0
0.5V méréshatár  :CONF:VOLT:DC 0.5
5V méréshatár  :CONF:VOLT:DC 5
Ohmmérés Auto méréshatár  :CONF:RES 0
500Ohm méréshatár  :CONF:RES 0.5
5kOhm méréshatár  :CONF:RES 5

A mért eredményt a multiméter Volt, illetve kOhm egységekben szolgáltatja. Az utasításokat újsor karakterrel kell lezárni, ezért célszerű a Serial.WriteLine(string) metódus használata. A műszer által visszaküldött értéket a Serial.ReadLine() függvénnyel olvashatjuk be.

Feladatok

A cél egy olyan grafikus felület, amely lehetővé teszi a multiméter két funkciójának, az egyenfeszültség- (DCV), valamint az ellenállásmérésnek kezelését. A kész program kijelzi, az idő függvényében ábrázolja, valamint elmenti a műszertől kapott adatokat.

A mérőprogramot a következőek szerint építsük fel:

  1. Hozzuk létre azt a programrészletet, mely a kommunikáciért felelős, és teszteljük azzal, hogy egy gombnyomásra kiírjuk a műszer által beolvasott értéket! A mérőműszer és a soros port inicializálását a program betöltődésekor végezzük el: az alapértelmezett üzemmód legyen a feszültségmérés automatikus méréshatárral;
  2. Tegyük a kiolvasást automatizálttá, azaz a kommunikációt és a kiírást végezzük egy Timer által meghatározott -változtatható- időközönként;
  3. Adjunk lehetőséget a két szükséges üzemmód közötti változtatásra például két nyomógomb segítségével! Ügyeljünk arra, hogy a Timer event által futtatott kommunikáció összeakadhat más event portkezelésével, ezért az üzemmódváltást csak a következő Timer event végezze el! Erre egy módszer két globális logikai változó használata, melyeket a gombok lenyomása állít be és állapotuk meghatározza, hogy szeretnénk-e megváltoztatni az üzemmódot és ha igen, melyik üzemmód legyen aktív. Ekkor a változókat a Timer eventben megvizsgálva eldönthetjük, hogy szükséges-e a műszert átállítani;
  4. Hozzuk létre a lemezre mentéshez szükséges struktúrákat: az állomány tartalmazza a mérés kezdete óta eltelt időt, valamint a mért mennyiség értékét és mértékegységét! A program felületén legyen lehetőség a mentést felfüggeszteni, majd újraindítani (ezt megtehetjük CheckBox, vagy két nyomógomb segítségével);
  5. Ábrázoljuk a mért értékeket! Ügyeljünk arra, hogy üzemmódváltásnál ürítsük ki a régi tartalmat a grafikonról!
  6. Tegyünk fel három gombot, amellyel lehetőség van a méréshatár váltására: DCV üzemmódban ezek legyenek rendre: 0.5V, 5V, Auto. Ellenállásmérés módban: 500Ohm, 5kOhm, Auto. A méréshatár váltásánál is ügyeljünk az üzemmódváltásnál leírtakra!
  7. Végül tegyük szebbé a kiírást és ábrázolást: Jelenítsük meg az aktuális mértékegységet a mért érték mögött és a grafikon tengelyén!

A mérésről készített jegyzőkönyv lényegében egy használati utasítás az elkészült felülethez. Ismertessük a megvalósított funkciókat, a grafikus felület kezelését, valamint részletesen térjünk ki az olyan megoldásokra, amelyek nem a fentiekben megfogalmazott felépítést követik! A jegyzőkönyvhöz csatoljuk a mérőprogram forráskódját!