Emulacja drukarki fiskalnej

Każdy administrator w firmie, która generuje dokumenty fiskalne prędzej czy później będzie potrzebował przetestowania komunikacji między systemem sprzedażowym, a a drukarką fiskalną. Uciążliwe, a czasem niemożliwe jest testowanie czegokolwiek na produkcyjnym stanowisku, gdzie odbywa się już sprzedaż fiskalna. Ciężko również zdemontować zafiskalizowaną już drukarkę do testów na własnym sprzęcie. Chociażby z powodu tego, że sprzęt jest fiskalny, czy aktualnie wykorzystywany do sprzedaży.

Nasuwa się pytanie, czy da się taką drukarkę fiskalną zwirtualizować (emulować)? W tym momencie z pomocą przychodzi strona vatowiec.pl Znalazłem na niej oprogramowanie DFemul. Można je pobrać ze strony producenta lub tutaj:

Emulację można zrealizować na trzy sposoby sposoby:

Pierwszy sposób z dwoma komputerami pominę.

Drugi sposób to: komputer z dwoma portami COM, które łączymy kablem null modem. Na jednym z nich uruchamiamy program DFemul i „zamienia się” on w drukarkę fiskalną, a na drugim uruchamiamy program, na którym chcemy przetestować komunikację z drukarką fiskalną. Porty łączymy fizycznym kablem null modem.

Trzeci sposób (ten, który ja wybrałem) to pominięcie kabla null modem oraz fizycznych portów COM i zainstalowanie kolejnego emulatora, który doda do systemu wirtualne porty com oraz połączy je wirtualnie.

Posłuży nam do tego program com0com, który można pobrać ze strony Sourceforge lub tutaj:

Instalujemy program com0com i uruchamiamy go. Następnie dodajemy parę portów z za pomocą przycisku „Add Pair” i klikamy „Apply”

Warto tutaj zwrócić uwagę by porty nie miały zbyt wysokich numerów np. COM120 czy COM230, ponieważ niektóre programy sprzedażowe czy sterowniki nie obsługują takich numerów. W moim przypadku będzie to port COM6 i COM7.

Kolej teraz na wspomniany program DFemul, po instalacji w katalogu z programem znajduje się plik DFemul.ini możemy do niego przekopiować interesujące nas wiersze z pliku z DFemul_przyklad.ini. Moja przykładowa konfiguracja wygląda tak:

[Sprzet]
Jezyk=PL
Port=COM7
Predkosc=9600
TrybFiskalny=TAK
[Praca]
Kasjer=0
Kasa=001
PoczatekPracy=2022-03-30,09:25
IloscParagonow=4
IloscAnulowanych=0
Sprzedaz=0.00
NrParagonu=4
[Transakcja]
TOT_A=0.00
TOT_B=0.00
TOT_C=0.00
TOT_D=0.00
TOT_E=0.00
TOT_F=0.00
TOT_G=0.00

Ustawiłem parametry tak, by drukarka fiskalna była uruchomiona na porcie COM7 z prędkością 9600 oraz symulowała tryb fiskalny. Po zweryfikowaniu parametrów, uruchamiam DFemul.exe i klikam start.

Skoro drukarka to COM7 a ten port mamy „połączony” wirtualnym kablem z COM6, to w programie sprzedażowym ustawiamy komunikację z COM6.

Testy przeprowadzałem na programie Comarch ERP XL po odpowiedniej konfiguracji program zwraca informację o podłączonej prawidłowo drukarce fiskalnej:

Dodam jeszcze, że w katalogu z programem DFemul znajduje się plik log.txt – jest on bardzo pomocny w weryfikacji poleceń (rozkazów) jakie program sprzedażowy przekazuje do drukarki fiskalnej.

Koniec 🙂

Jeżeli pomogłem to Postaw mi kawę na buycoffee.to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *