Modulul electronic fiscal (III)

by donpedro

În acest număr vom prezenta o serie de aspecte legate de soluţiile adoptate pentru realizarea software-ului ce rulează în modulul fiscal.
Acesta este conceput să răspundă la interogaţiile lansate de software-ul ce rulează în PC şi să gestioneze independent resursele interne ale modulului. Un protocol special de comunicaţie între PC şi modulul fiscal a fost creat în acest sens. Protocolul este format dintr-o comandă (interogare) lansată de PC, organizată sub forma unui preambul ce conţine caractere ASCII prin care se identifică comanda şi numărul de caractere ce sunt transmise, respectiv corpul propriu-zis al comenzii în care se regăsesc datele emise şi postambulul ce conţine suma de control a mesajului şi terminatorul acestuia. La interogarea PC-ului, modulul fiscal răspunde cu un mesaj format din aceleaşi elemente (preambul, corp mesaj, postambul). Comanda este acceptată de către modul doar dacă numărul de caractere receptat este identic cu cel specificat în preambul şi, respectiv, dacă suma de control calculată la recepţie este identică cu cea transmisă. În caz de eroare, mesajul transmis către PC conţine elemente care permit identificarea acesteia. Software-ul ce rulează în PC urmează să ţină seama de respectiva semnalizare şi să genereze în mod corespunzător următoarele comenzi. Mesajul de răspuns al modulului oferă informaţii referitoare la efectuarea comenzii primite şi la starea modulului în urma acesteia. Protocolul mai are o caracteristică legată de faptul că răspunsul modulului este aşteptat un timp limitat de către PC, depăşirea acestuia conducând la semnalizarea unei erori de comunicaţie.
Primele acţiuni întreprinse după aplicarea tensiunii de alimentare sunt legate de iniţializarea modulului. Astfel, sunt programate circuitele I/O locale, este verificată integritatea modulului, inclusiv prezenţa (în stare de funcţionare) a memoriei fiscale şi, respectiv, prezenţa perifericelor ataşate (imprimanta şi display-ul). Mai mult, este identificat şi tipul perifericelor conectate, modulul putând lucra cu mai multe variante de imprimante, respectiv display-uri. Starea perifericelor este memorată şi transmisă la PC cu ocazia primei comenzi lansate de către acesta. Funcţie de prezenţa perifericelor o serie de alte comenzi vor fi sau nu permise. O altă comandă lansată de PC vizează apariţia anterioară a evenimentelor de reset (aşa cum au fost specificate într-un număr anterior, în conformitate cu legislaţia). În cazul apariţiei evenimentelor de reset urmează o tratare corespunzătoare cu reintroducerea ultimelor date.
Tot printre primele comenzi transmise de PC este şi cea referitoare la deschiderea unei sesiuni de lucru, cu stabilirea gradului utilizatorului şi introducerea parolei acestuia. Software-ul permite mai multe nivele de utilizatori cu accese la diferite tipuri de comenzi ale modulului. După deschiderea unei sesiuni de lucru modulul intră într-o buclă de aşteptare a următoarelor comenzi care este urmată de execuţia acesteia şi oferirea răspunsului.
Comenzile acceptate se împart în două clase şi anume cele legate de programarea modulului, respectiv cele legate de lucrul normal cu acesta. Comenzile pentru programarea modulului sunt acceptate doar în sesiunile de lucru deschise de utilizatorii aflaţi pe nivele superioare (administratori, raportori, service). În cadrul lucrului normal se pot deosebi comenzi accesate de utilizatorii obişnuiţi (operatori), respectiv comenzi legate de realizarea rapoartelor de lucru la care au acces doar utilizatorii privilegiaţi.
Detalii despre comenzile lansate de PC vom oferi în numărul următor al ziarului.

Prof. dr. ing. Gheorghe Şerban
Universitatea din Piteşti
Facultatea de Electronică şi Elecromecanică – Catedra de Electronică
e-mail: serban@electra.upit.ro

S-ar putea să vă placă și