Seadme halduri. Pikendada MISi seadmetele

Seadme halduri. Pikendada MISi seadmetele
Automatiseeritud meditsiinikeskuses kasutatakse mitmeid erinevaid seadmeid, mille toimimist peab juhtima meditsiiniline teabe süsteem (MITS), samuti seadmeid, mis ei võta vastu käske, kuid peavad edastama oma töö tulemused MITS-ile. Kuid kõik seadmed omavad erinevaid ühendusvõimalusi (USB, RS-232, Ethernet jne) ja suhtlemisviise. Kõigi nende toetamine MITS-is on praktiliselt võimatu, mistõttu on välja töötatud tarkvarakiht DeviceManager (DM), mis pakub MITS-ile ühtset liidest seadmete ülesannete määramiseks ja tulemuste saamiseks.

Seadme halduri. Pikendada MISi seadmetele
Süsteemi DM rikkevastupidavuse suurendamiseks jagati see mitmeks programmiks, mis on paigaldatud meditsiinikeskuse arvutitesse. DM jaguneb põhiprogrammiks ja pluginakomplektiks, mis teostavad suhtlemist konkreetse seadmega ja edastavad andmed MITS-ile. Alloleval joonisel on kujutatud DeviceManageri, MITS-i ja seadmete suhtluse üldstruktuur.

Seadme halduri. Pikendada MISi seadmetele
MITS-i ja DeviceManageri suhtluse struktuuris on näidatud 3 pluginate töövarianti:

  1. Plugin ei saa MIS-ilt mingeid andmeid ja saadab seadme andmed, mis on muudetud arusaadavasse vormingusse (vastab ülaltoodud joonisel seadmele tüübi 3).
  2. Plugin saab MIS-ilt lühikese (täitmise ajaga) ülesande, näiteks printimise printerisse või pildi skaneerimise, täidab selle ja saadab tulemuse vastusena päringule (vastab ülaltoodud joonisel seadmele tüübi 1).
  3. Plugin saab MIS-ilt pikaajalise ülesande, näiteks läbi viia uuringu või mõõta näitajaid, ja saadab vastuseks ülesande vastuvõtu staatuse (ülesande esitamisel võidakse teha tagasilükkamine, kui päringus on viga). Pärast ülesande täitmist teisendatakse tulemused arusaadavasse vormingusse ja laaditakse alla vastavatesse liidestesse (vastab ülaltoodud joonisel seadmele tüübi 2).

Peaprogramm DM käivitab, initsialiseerib, taaskäivitab juhuslike seiskamiste (kukkumiste) korral ja lõpetab kõik pistikprogrammid, kui tööd lõpetatakse. Iga arvuti pistikprogrammide koosseis on oma, käivitatakse ainult vajalikud, mis on määratud seadetes.

Iga pistikprogramm on iseseisev programm, mis suhtleb põhiprogrammiga. See määratlemine võimaldab tagada stabiilsemat tööd, kuna pistikprogrammide ja peaprogrammi iseseisvus aitab vigade korral vältida tõrkeid (kui esineb kriitiline viga, mis põhjustab pistikprogrammi krahhi, ei mõjuta see teisi pistikprogramme ega põhiprogrammi). Üks pistikprogramm töötab teatud tüüpi seadmetega (tihti sama mudeliga), samas kui osa pistikprogrammidest võib suhelda ainult ühe seadmega, teised aga mitmega. Tüüpi seadmete ühendamiseks ühe DM-iga käivitatakse mitu eksemplari ühest pistikprogrammist.

Seadme halduri. Pikendada MISi seadmetele
DMi arendamiseks kasutati Qt tööriistakomplekti, kuna see võimaldab enamikul juhtudel abstraktiseerida konkreetsest operatsioonisüsteemist. See võimaldas toetada Windowsi, Linuxi ja MacOS-põhiste arvutite ning Raspberry ühe plaadi jaoks. Ainus piirang operatsioonisüsteemi valimisel pistikprogrammide arenduses on konkreetse seadme jaoks vajalike draiverite ja/või erikoodi olemasolu.

Pluginide ja pea vaheline suhtlus toimub pidevalt aktiivse QLocalSocket'i kaudu, mille nimi on konkreetse plugina eksemplar ja mis põhineb meie loodud protokollil. Protokolli rakendamine mõlemal pool on vormistatud dünaamilise teegina, mis võimaldab arendada mõningaid pluginaid ka teiste ettevõtete poolt, ilma et täielikult paljastataks koostöö pea funktsioonide osas. Kohaliku soketi sisemine loogika võimaldab peal kohe teada saada langusest katkestusmärguande kaudu. Kui selline märk on aktiveeritud, käivitub probleemne plugin uuesti, mis võimaldab kriitilisi olukordi leebemalt lahendada.

MIS ja DM vaheline suhtlemine otsustati rajada HTTP protokolli alusel, kuna MIS töötab veebiserveri baasil Web-server, kus on lihtsam saatma ja vastu võtma päringuid antud protokolli kaudu. Samuti on võimalik eristada probleeme, mis võivad tekkida seadmete ülesande seadmisel või täitmisel vastuskoode põhjal.

järgmistes artiklites vaadeldakse mõningate diagnostikakeskuse kabinetide näitel DM-i ja mõnede pluginate tööd.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster