de Virgil Pogăceanu Automatele de vânzări, jocurile electronice, kioskurile, automatele pentru parcare sau vânzări bilete sunt tot mai răspândite. Sunt de foarte multe tipuri și modele. Din dorința de a...

Protocoale și Interfețe


de Virgil Pogăceanu

Automatele de vânzări, jocurile electronice, kioskurile, automatele pentru parcare sau vânzări bilete sunt tot mai răspândite. Sunt de foarte multe tipuri și modele. Din dorința de a ușura înțelegerea multitudinii de termeni și noțiuni noi, ne propunem o rubrică în care să lămurim unii termeni.

Pentru a ușura prezentarea unor termeni vom orienta discuția spre un anume segment, cel al vendingului, al automatelor de vânzare.

Un automat de vânzare este un sistem care asigură vânzarea unor produse sau servicii și încasarea contravalorii acestora. Automatul asigură condițiile necesare păstrării și dacă este cazul prepară, din ingrediente adecvate, produsele oferite spre vânzare. În unele cazuri automatul poate comunica sau solicita date de la un server aflat la distanță.

Un automat de vânzare este realizat în jurul unui echipament numit controler care  conduce întreaga funcționare a automatului respectiv. Această funcționare implică culegerea datelor de intrare (de la senzori, tastatură, acceptare mijloace de plată), transmiterea comenzilor la diferitele ieșiri (motoare, imprimantă, lumini, plată rest, etc), efectuarea de prelucrări și înmagazinare date (plăți, livrări, tranzacții efectuate, etc), comunicare cu un eventual server aflat la distanță (date despre stoc, confirmări de tranzacții, alarme, etc). Toate echipamentele legate la controler sunt numite periferice. Un controler poate fi o placă cu componente electronice dedicată unui automat sau o platformă PC care este o soluție mult mai flexibilă.

Legătura dintre controler și periferice se realizează printr-o interfața specifică unei anumite comunicări. Sunt interfețe mai simple sau mai complicate, care necesită cuplaj galvanic sau separare galvanică, cuplare optoelectronică, fibră de sticla, etc. Interfața în sine este mediul prin care se face transferul de date, de informații, cu comenzi și culegere de date.

În comunicarea între periferie și controler se folosește un protocol. Acesta este dicționarul de comenzi și de răspunsuri date pe care ambele părți. Un periferic și un controler îl interpretează în același fel. Unele elemente simple, de exemplu un senzor de ușa deschisă; e un senzor “Da” sau “Nu”, nu necesită protocol. Deja pentru a controla aprinderea luminii la anumite  intervale orare și stingerea luminii în perioada când nu este necesară, vorbim de un proces mai complicat și atunci apare necesitatea unui limbaj, unui alt mod de comunicare. La automatele simple, protocolul este folosit doar pentru dialogul cu sistemele de plată. La automatele mai noi agregatul frigorific sau luminile lucrează folosind un protocol specific.

Interfețele sunt considerate în principiu de două mari categorii: electromecanice și seriale în care vorbim mai mult sau mai puțin de o informație trimisă printr-un fir, de apariția unei tensiuni sau secvențe de impulsuri.

Cele mai cunoscute interfețe electromecanice sunt interfețele paralele care nu sunt altceva decât niște fire care se leagă între controler și periferie, de obicei un acceptor de monedă. Ulterior lucrurile au evoluat. Acceptorul de monedă face mici socoteli și adună valoarea monedelor recunoscute, când ajunge la valoare acumulată ce egalează un preț transmite informația iar automatul execută operația de livrare a produsului sau serviciului. Acest tip de acceptor se mai numește totalizator adună valoarea monedelor și dă semnalul că prețul a fost atins. Amintim câteva astfel de interfețe: paralel simplu, totalizator cu 1, 2, 4, 6 sau 10 prețuri.

A doua mare categorie de interfețe sunt interfețele seriale care în principiu sunt utilizate aproape în exclusivitate astăzi, în tot ce înseamnă industrie. O interfață serială transmite date secvențial, o informație după alta. De obicei (dar nu exclusiv) se folosesc trei fire: un transmit, un receive și un ground, practic prin aceste fire are loc comunicarea dintre echipamente. La interfața cctalk se folosește un fir “data” bidirecțional. Prin aceste fire se transmit semnale de tip “1” și “0”, între controler și periferic. Secvența de “1” și “0” formează pachete similar cu bytes din IT. Acești bytes transferă informații în conformitate cu o convenție, numită protocol.

În cazul în care se definește un anumit mod de comunicare, de obicei se stabilesc o interfața, număr de fire utilizate, nivele de semnal folosite, frecvența, durata și întârzierea acceptată în transferul de date și un protocol, toate specifice. Uneori se specifică și tensiunea de alimentare, care se asigură pe alte fire.

Protocolul în sine este dicționarul pe baza căruia comunică controlerul cu orice echipament periferic. În cadrul protocolului sunt definite tipurile de periferice ce pot fi controlate, secvențele de comenzi și răspunsuri specifice fiecărui periferic (acceptor de monede, agregat frigorific, validator de bancnote, etc). Un periferic, la o comandă primită, este obligat să dea doar un anume răspuns. De exemplu, la comanda X poate răspunde doar cu răspunsul A. Orice comunicare într-un sens sau altul este realizată astfel ca să existe certitudinea corectitudinii informației.

Un exemplu banal. La pornirea automatului la care este conectat un validator de bancnote, controlerul începe o procedură de inițializare (reseteaza bus-ul, interoghează pe bus pentru a afla ce periferice sunt conectate și ce știu să facă), apoi permite validatorului să valideze anumite bancnote. În momentul în care în validator se introduce o bancnotă, acesta o recunoaște și în acest moment validatorul îi  spune controlerului “am validat” o bancnotă de “1 Ron”, “ce fac cu ea?”. Controlerul în funcție de parametrii de funcționare a automatului  ia decizia: returnează clientului (creează un credit prea mare și nu poate da restul), o ține în escrow sau o pune în cutia de valori. Returnează bancnota pentru că aparatul nu poate să îndeplinească tranzacția pe care o vrea clientul și dă banii înapoi, escrow înseamnă că o țin în atenție (nici nu o returnez, nici nu o introduc în cutia de bani) pentru că nu sunt sigur că reușesc să-i îndeplinesc tranzacția sau o pun în cutia de valori pentru că am livrat marfa.

Amintim doar câteva din interfețele și protocoalele seriale folosite:

-          în vending: Executive, BDV, MDB/ICP, BATA, VCCS, HII, MSH, CCNET, cctalk, GFI;

-          în gaming: id003, DBP, pulse, FL-LIP, FL-BDG2.

Unele sunt specifice unui anumit producător de echipamente, altele sunt general utilizate în diferite industrii.

Informațiile privind funcționarea unui automat sunt regăsite prin culegerea datelor de audit. Acestea includ încasările, restul plătit, produsele vândute, stocurile rămase și alte date similare. Culegerea acestor date se face prin interfețe și protocoale de audit, specific acestei activități. Amintim doar câteva pentru exemplificare: interfața DEX/UCS, cea optică și protocoalele BDV-002, EVA-DTS, US VIDTS, DDCMP sunt doar unele din cele mai mult folosite.

Trebuie reținut faptul că standardizarea se impune în toate domeniile Vending, Transportation, Fare Collection, Parking, Ticketing, Gaming, Stand Alone Retail. Există numeroși producători de automate, de sisteme de plată și de accesorii și interconectarea acestora se poate face doar prin respectarea riguroasă a unor standarde.

Informații detaliate se pot găsi pe:

http://www.vending.org/technical/MDB_3.0.pdf;

http://www.vending-europe.eu/eva/home.html;

http://www.cashcode.com/;

http://www.nri.de/en.html;