Įrenginių tvarkytuvė. Išplėskite MIS į įrenginius

Įrenginių tvarkytuvė. Išplėskite MIS į įrenginius
Automatizuotame medicinos centre naudojama daug įvairių prietaisų, kurių veikimą turi valdyti medicininė informacinė sistema (MIS), taip pat įrenginiai, kurie nepriima komandų, tačiau turi perduoti savo darbo rezultatus į MIS. Tačiau visi įrenginiai turi skirtingas prijungimo galimybes (USB, RS-232, Ethernet ir kt.) ir sąveikos su jais būdus. Visų jų palaikyti MIS beveik neįmanoma, todėl buvo sukurtas „DeviceManager“ (DM) programinis sluoksnis, suteikiantis vieną MIS sąsają, skirtą įrenginiams priskirti užduotis ir gauti rezultatus.

Įrenginių tvarkytuvė. Išplėskite MIS į įrenginius
Siekiant padidinti sistemos atsparumą gedimams, DM buvo padalintas į programų, esančių medicinos centro kompiuteriuose, rinkinį. DM yra padalintas į pagrindinę programą ir įskiepių rinkinį, kuris sąveikauja su konkrečiu įrenginiu ir siunčia duomenis į MIS. Toliau pateiktame paveikslėlyje parodyta apibendrinta sąveikos su DeviceManager, MIS ir įrenginiais struktūra.

Įrenginių tvarkytuvė. Išplėskite MIS į įrenginius
MIS ir DeviceManager sąveikos struktūra rodo 3 papildinių parinktis:

  1. Įskiepis negauna jokių duomenų iš MIS ir siunčia duomenis, konvertuotus į jam suprantamą formatą iš įrenginio (atitinka 3 įrenginio tipą aukščiau esančiame paveikslėlyje).
  2. Papildinys iš MIS gauna trumpą (pagal vykdymo laiką) užduotį, pavyzdžiui, spausdina spausdintuvu arba nuskaito vaizdą, ją vykdo ir išsiunčia rezultatą atsakydamas į užklausą (atitinka 1 įrenginio tipą aukščiau esančiame paveikslėlyje ).
  3. Įskiepis iš MIS gauna ilgalaikę užduotį, pavyzdžiui, atlikti apklausą ar išmatuoti rodiklius, o atsakydamas išsiunčia užduoties priėmimo būseną (jei užklausoje yra klaida, užduotis gali būti atmesta). Atlikus užduotį, rezultatai konvertuojami į MIS suprantamą formatą ir įkeliami į jų tipą atitinkančias sąsajas (atitinka 2 įrenginio tipą aukščiau esančiame paveikslėlyje).

Pagrindinė DM programa paleidžiama, inicijuojama, paleidžiama iš naujo netikėto sustojimo (strigimo) atveju ir nutraukia visus įskiepius išjungus. Įskiepių sudėtis kiekviename kompiuteryje yra skirtinga, paleidžiami tik būtini, kurie nurodyti nustatymuose.

Kiekvienas papildinys yra nepriklausoma programa, kuri sąveikauja su pagrindine programa. Šis papildinio apibrėžimas leidžia užtikrinti stabilesnį veikimą dėl visų įskiepių egzempliorių ir galvos nepriklausomybės klaidų tvarkymo požiūriu (jei įvyksta kritinė klaida, dėl kurios įskiepis sugenda, tai neturės įtakos kitiems papildiniams ir galvutei) . Vienas įskiepis leidžia dirbti su vieno tipo įrenginiais (dažnai to paties modelio), kai kurie įskiepiai gali sąveikauti tik su vienu įrenginiu, o kiti gali sąveikauti su keliais. Norėdami prijungti kelis to paties tipo įrenginius prie vieno DM, paleiskite kelis to paties papildinio egzempliorius.

Įrenginių tvarkytuvė. Išplėskite MIS į įrenginius
Qt įrankių rinkinys buvo naudojamas kuriant DM, nes jis daugeliu atvejų leidžia mums abstrahuotis nuo konkrečios operacinės sistemos. Tai leido palaikyti darbą su kompiuteriais, pagrįstais „Windows“, „Linux“ ir „MacOS“, taip pat „Raspberry“ vienos plokštės įrenginiais. Vienintelis apribojimas pasirenkant operacinę sistemą kuriant papildinius yra tvarkyklių ir (arba) specialios programinės įrangos prieinamumas konkrečiam įrenginiui.

Papildinių ir galvos sąveika vyksta per nuolat aktyvų QLocalSocket su konkretaus papildinio egzemplioriaus pavadinimu, pagal mūsų sukurtą protokolą. Abiejų pusių komunikacijos protokolo įgyvendinimas buvo sukurtas kaip dinamiška biblioteka, kuri leido sukurti kai kuriuos kitų įmonių papildinius, visiškai neatskleidžiant sąveikos su galva. Vidinė vietinio lizdo logika leidžia galvai iš karto sužinoti apie kritimą naudojant ryšio nutraukimo signalą. Suveikus tokiam signalui, probleminis įskiepis paleidžiamas iš naujo, o tai leidžia neskausmingiau susidoroti su kritinėmis situacijomis.

Buvo nuspręsta MIS ir DM sąveiką kurti remiantis HTTP protokolu, nes MIS veikia žiniatinklio serveryje, o tai palengvina užklausų siuntimą ir priėmimą naudojant šį protokolą. Taip pat galima atskirti problemas, kurios gali kilti nustatant ar atliekant užduotis su įrenginiais pagal atsako kodus.

Tolesniuose straipsniuose, naudojant kelių diagnostikos centro patalpų pavyzdį, bus nagrinėjamas DM ir kai kurių priedų veikimas.

Šaltinis: www.habr.com

Добавить комментарий