Súlyszerver

A RoolWikiBÓL

(Változatok közti eltérés)
2011. május 23., 11:37 változat (szerkesztés)
192.168.1.158 (Vita)
(Működés)
← Előző változtatások
2011. május 23., 11:37 változat (szerkesztés) (undo)
192.168.1.158 (Vita)
(Működés)
Következő változtatások →
65. sor: 65. sor:
* ''monitor'': a kliens kéri a mérlegtől érkező összes súlyt * ''monitor'': a kliens kéri a mérlegtől érkező összes súlyt
* ''clear'': megszünteti a kliens ''watch'' és ''monitor'' kéréseit * ''clear'': megszünteti a kliens ''watch'' és ''monitor'' kéréseit
-* ''stop'': megszünteti az a kliens ''ask, ''watch'' és ''monitor'' kéréseit+* ''stop'': megszünteti a kliens ''ask, ''watch'' és ''monitor'' kéréseit
* ''stat'': a mérlegszerver mérlegekkel, kérésekkel kapcsolatos állapotáról kérhetünk információt * ''stat'': a mérlegszerver mérlegekkel, kérésekkel kapcsolatos állapotáról kérhetünk információt

2011. május 23., 11:37 változat

A program célja a hagyományos soros portokon elérhető mérlegekkel való kapcsolattartás, a mért súlyok adatbázisba naplózása, valamint a mért súlyok hálózaton való elérése a mérlegek neve alapján. Mindezt Windows rendszereken, szolgáltatásként megvalósítva.

A program funkcióinak megfelelően a monitorozó képernyő fő részei:

Tartalomjegyzék

A hálózati szolgáltatás eléréséhez szükséges adatok, valamint a szolgáltatást indító-leállító nyomógomb

Itt látható a Súlyszerver szolgáltatás elérésének címe, portja. A cím tájékoztató jellegű. Mivel esetleg több címen is elérhető a szerver. (Például a vezetékes és vezeték nélküli kapcsolatnak is saját egyedi címe van.) A nyomógomb segítségével leállítható, elindítható a szolgáltatás hálózati elérése. A program indulásakor a hálózati elérés automatikusan elindul. Ha mégsem annak leggyakrabban az alábbi két oka lehet:

  • a súlyok naplózásához nem elérhető az adatbázis
  • az operációs rendszer tűzfal programja nem engedélyezi a Súlyszerver számára az hálózati elérést


A súlyok naplózásához szükséges adatbázis elérési adatok

Minden mért súlyt rögzítünk PostgreSQL adatbázisban. Ha nem érhető el az adatbázis, vagy elérhető, de a naplózás mégis sikertelen, akkor a kliensek sem kapják meg a mért értéket. A szükséges paraméterek közül a felhasználó neve és jelszava nem módosítható.


Soros portok és jellemzőik

A soros portok táblázatban a gépben lévő soros portok látszanak. Amelyik porton elérhető a használni kívánt mérleg, annál be kell állítani a következő jellemzőket

  • a mérleg nevét
  • a mérleg típusát (az befolyásolja, hogy a mérlegtől kapott adatokból hogyan állítható elő a súly)
  • az időzítést: ennyi ezredmásodpercenként a Súlyszerver automatikusan lekérdezi a mérlegtől a súlyt. A javasolt beállítás szerint üresen marad ez az oszlop, és a mérleg van úgy beállítva, hogy folyamatosan küldje az aktuális súlyt.
  • a soros port jellemzőit: baud ráta, paritás, adat és stopbitek száma

A többi oszlopban az aktuális adatok láthatók:

  • Mérleg Id: a mérleg adatbázisbeli azonosítója. Akkor válik láthatóvá, ha a monitorozást a nyomógombbal indítjuk (és elérhető az adatbázis)
  • Monitor: a monitorozás állapotát jelzi (kezdetben üres, ekkor sincs monitorozás)
  • Státusz: a soros portra kapcsolt eszköz állapotát jelzi (az üres azt jelzi, hogy nem történt az eszköz állapotában változás, tehát lehet akár be- vagy kikapcsolt állapotban is)
  • Üzenet: a mérleg felől érkezett üzenet látszik, azaz ha a mérleg típusát helyesen választottuk ki, akkor a legutóbb beérkezett súly. Ha üres, akkor még nem érkezett a mérlegtől adat. Amennyiben helytelenül választottuk ki a mérleg típusát, akkor itt 0 lesz miután jött üzenet a mérlegtől.


Nyomógombok a portok táblázat alatt

  • Mentés

A regisztrációs adatbázisba menti a működéshez szükséges adatokat:

    • adatbázis elérési adatok. Ezen adatok minden mentéskor tárolásra kerülnek, és az új adatokkal a Súlyszerver újra megpróbál csatlakozni az adatbázishoz.
    • aktuális sorban szereplő soros port adatok. Ehhez a portok táblázatnak kell az aktuális elemnek lennie. Ha a kurzor máshol van - a port táblázaton kívül -, akkor egyetlen port adat sem kerül elmentésre. A port adat mentéséről egy felugró üzenet tájékoztat.
  • Monitorozás

A mérlegek közül elindítja annak a monitorozását, melyet a kurzor kijelöl. (Előtte érdemes a mérleg nevére klikkelni)

  • Súly lekérés

Ha a kiválasztott mérleg monitorozása el van indítva, akkor a mérlegnek küld egy súlykérés üzenetet, melyre a mérleg az aktuális mért súllyal fog válaszolni.

A monitorozás és súly lekérés funkciókra a tesztelés miatt lehet szükség.


Súlyszerver belső naplózás

Súlyszerver működéséről szolgáltat információt. A Napló jelölőnégyzettel ki-bekapcsolható az üzenetek megjelenítése. Az üzenetek kimásolhatók, törölhetők. Nem javasolt a folyamatos naplózás az üzenetek időnkénti törlése nélkül, mert ha a napló mérete nagyon megnő (néhány ezer sor), akkor lassúvá válik az újabb üzenetek megjelenítése. Normál esetben nem szükséges a naplózás bekapcsolása. Ennek inkább a hibakereséskor van jelentősége.


Működés

Ha korábban az összes szükséges adatot beállítottuk, akkor a Súlyszerver induláskor

  • megjeleníti ezeket
  • csatlakozik az adatbázishoz
  • készen áll a kliensek kapcsolatainak fogadására
  • készen áll a mérlegek kezelésére
  • a belső naplózás kikapcsolt állapotban van

Amikor a mérlegenkénti az első kérés beérkezik, akkor indul a mérleg monitorozása. Ha több kérés is érkezik ugyanattól a klienstől míg a mérleg válasza megérkezne, a kliens akkor csak egyetlen választ fog kapni. A mérleg monitorozása ezután folyamatos, akkor is ha több kérés egyáltalán nem érkezik. A súlyszerver egy adott mérleghez többféle kérést is fogad:

  • ask: a kliens így - a következőként beérkező - aktuális súlyt kéri
  • watch: a kliens kéri az összes, mások által ask kérésére adott választ (mások által kért súlyokat kéri)
  • monitor: a kliens kéri a mérlegtől érkező összes súlyt
  • clear: megszünteti a kliens watch és monitor kéréseit
  • stop: megszünteti a kliens ask, watch és monitor kéréseit
  • stat: a mérlegszerver mérlegekkel, kérésekkel kapcsolatos állapotáról kérhetünk információt
Személyes eszközök