Promotic

Komunikacja z czytnikami kodów kreskowych w systemie PROMOTIC

Czytniki kodów kreskowych mogą być podłączone do komputera na kilka sposobów:
- przy pomocy łącza szeregowego
- przy pomocy interfejsu USB
- sieciowo (Ethernet lub WiFi)


W praktyce najczęściej stosuje się połaczenie czytnika z komputerem na łączu szeregowym. Jeżeli czytnik jest podłączony przy pomocy klasycznego interfejsu RS232 wtedy w systemie PROMOTIC można zastosować driver komunikacyjny PmChar w trybie Slave, kiedy to aplikacja PROMOTIC będzie oczekiwać odczyt kodu kreskowego z czytnika.

Jeżeli czytnik został podłączony przy pomocy interfejsu USB, wtedy w SO Windows jest on najczęściej rozpoznawany jako urządzenie HID . To znaczy, że czytnik zachowuje się jako standardowe urządzenie typu klawiatura. Z punktu widzenia systemu PROMOTIC można czytniki w takim trybie użytkować, ale z praktycznego punktu widzenia jest taki sposób bardzo uciążliwy. Powodem jest fakt, że aby system PROMOTIC "odczytał" kod z czytnika w takim trybie musi w aplikacji zostać fokus ustawiony na Pmg obiekt, do którego można zapisywać tekst (np. obiekt PmgString w trybie edycji lub obiekt PmgWEdit). To znaczy, że przed każdym odczytem użytkownik aplikacji musi ustawić fokus na taki Pmg obiekt. W innym przypadku aplikacja PROMOTIC nie jest w stanie odebrać odczytywany kod. Problem ten można rozwiązać, jeżeli w danym urządzeniu istnieje driver komunikacyjny, który w SO Windows wytworzy wirtualny port szeregowy. Jeżeli taki driver jest do dyspozycji, wtedy można z takiego czytnika odczytywać kody bez względu na to, czy dowolny Pmg obiekt posiada fokus czy nie.

Oprócz czytników z wyjściem łacza szeregowego są do dyspozycji również sieciowe czytniki (Ethernet, WiFi). Czytniki te zazwyczaj są urządzeniami intelligentnymi, które można zaprogramować. Z takiego powodu możliwość zastosowania takich czytników wykracza poza zakres tej dokumentacji, ponieważ sposób przekazywania danych z czytników do aplikacji może znacznie się różnić w zależności od typu.
© MICROSYS, spol. s r.o.