RFID IND Modbus
Przegląd
Ostrzeżenie
Instrukcja ma zastosowanie wyłącznie od wersji oprogramowania v1.34 wzwyż. Firma Inveo nie gwarantuje zgodności informacji zawartych w niniejszym dokumencie z wcześniejszymi wersjami oprogramowania.
Przeznaczenie urządzenia
RFID IND Modbus to przemysłowy czytnik tagów, który cechuje się solidną obudową klasy IP65, zapewniającą ochronę przed pyłem i wodą. Wbudowany moduł RS485 umożliwia bezproblemową komunikację z urządzeniem nadrzędnym (master), do którego przesyłane są kody odczytane z kart RFID.
Dodatkowo, dzięki wykorzystaniu protokołu modbus RTU, użytkownik ma kontrolę nad dwoma przekaźnikami, które mogą zostać wykorzystane do sterowania różnymi urządzeniami, oraz nad dwoma wejściami cyfrowymi, które pozwalają na monitorowanie stanu innych urządzeń. Konfiguracja urządzenia jest możliwa za pomocą portu USB.
Changelog
1.0 25 marca 2025
- Wersja oprogramowania v1.34
Budowa urządzenia
Dane techniczne
| Parametr | Wartość |
|---|---|
| Zasilanie | 12-24V DC |
| Pobór mocy | Max 0,5W (~40mA @ 12V) |
| Transpondery | RFID IND Modbus występuje w następujących wersjach: Mif: Wersja obsługująca transpondery Mifare Classic®, Mifare Plus® (UID), Mifare DESFire® (UID) 13,56MHz Uni: Obsługuje transpondery Unique 125kHz HT2: Transpondery HITAG 2 125kHz |
| Wejścia | - Liczba wejść: 2 - Typ wejścia: zwierne (NO) |
| Wyjścia | - Liczba wyjść: 2 - Typ wyjścia: przekaźnikowe NO, - Maksymalne obciążenie: 1A @ 30V DC |
| Komunikacja | - Port RS485, Modbus RTU - Port USB typu B do konfiguracji urządzenia |
| Klasa obudowy | IP65 |
Ze względu na różnorodność instalacji oraz zróżnicowane potrzeby instalatorów urządzenie nie posiada żadnych otworów montażowych w obudowie. Otwory należy wykonać we własnym zakresie w tylnej części obudowy, w dowolnym miejscu – nie ma to wpływu na zachowanie gwarancji. Należy pamiętać o zastosowaniu odpowiedniego przepustu kablowego w celu zachowania szczelności.
Wymiary
Opis złącz
- USB – Port USB (używany do konfiguracji urzązenia),
- OUT1, OUT2 – Wyjścia przekaźników 1 oraz 2,
- IN1, IN2 – Wejścia ogólnego przeznaczenia 1 oraz 2,
- 12-24VDC – Złącze zasilania modułu,
- RS485 – Złącze RS485 - Modbus,
- Boot/Rst – Zwarcie pinów przed włączeniem zasilania spowoduje przejście modułu w tryb bootloader'a.
Sposób podłączenia wejść
Wyjścia OUT1 i OUT2 mogą działać w dwóch trybach:
- Tryb PWR – Zworki konfiguracyjne ustawione w pozycji 2-3 (patrz rysunek poniżej). W tym trybie, po aktywacji przekaźnika na wyjściu pojawi się napięcie zasilania czytnika np. 12V C. Jeśli czytnik będzie zasilany z 24V DC to pojawi się napięcie 24V DC.
Ostrzeżenie
Jeżeli czytnik nie ma podłączonego zasilania przez wejście zasilania to napięcie do wyjść OUT1 i OUT2 nie będzie dostarczane.
- Tryb Normally Open – Zworki ustawione w pozycji 1-2 (patrz rysunek poniżej). W tym trybie wymagane jest podłączenie zewnętrznego źródła zasilania.
Sygnalizacja
Urządzenie jest wyposażone w 3 diody sygnalizujące stan pracy modułu oraz w sygnalizator dźwiękowy informujący o przyłożeniu tagu.
Diody LED mogą być wyłączone lub reagować na odczytanie TAG’u.
Sygnalizator dźwiękowy może zostać wyłączony lub może generować sygnał po odczytaniu TAG’u RFID.
| Nazwa | Opis | Kolor |
|---|---|---|
| POWER | Zasilanie modułu | Zielony |
| Status 1 | Czerwony | |
| Status 2 | Sygnalizacja odczytu tagu | Zielony |
WAŻNE – Rozpoznawanie wersji urządzenia
Ostrzeżenie
Czytniki RFID IND Modbus w wersji v2 obsługiwane są przez program Inveo RFID Config. Urządzenia w wersji v1 należy konfigurować oprogramowaniem RFID U1 M1 Config. Aby określić wersję urządzenia:
- Otwórz obudowę,
- W dolnej lub prawej części płytki drukowanej zlokalizuj oznaczenie:
RFID-IND-x1-xx oznacza wersję v1
RFID-LFHF1-xx – wersja czytnika v2.
Moduł w wersji v1
Moduł w wersji v2
Konfiguracja urządzenia w wersji v1
Urządzenia w wersji v1 należy konfigurować oprogramowaniem RFID U1 M1 Config.
Po zainstalowaniu programu konfiguracyjnego i uruchomieniu go, należy podłączyć kabel USB do komputera i modułu (w takim wypadku zewnętrzne zasilanie modułu nie jest wymagane – urządzenie zasilane jest przez port USB).
Pierwsza linijka programu wyświetla informacje o wersji programu konfiguracyjnego – PC version, wersji oprogramowania czytnika – RFID Software oraz wersji sprzętowej czytnika RFID Hardware.
Informacje w niej zawarte informują także użytkownika o fakcie podłączenia czytnika do komputera.
Wyjścia
Czytnik wyposażony jest w 2 wyjścia przekaźnikowe. Każde wyjście może być programowane oddzielnie.
- Mode – Pole określa tryb pracy wyjścia. Do wyboru są następujące opcje:
- Disable – Sterowanie wyjściem jest wyłączone,
- Bistable – Tryb bistabilny,
- Astable – Po włączeniu kanału przekaźnik cyklicznie zwiera i rozwiera styki w określonych odstępach czasu (paramter Time on) na określony czas (Time off),
- Time – Tryb jednokrotnego załączenia wyjścia, w którym wyjście zostaje załączone na określony czas (parametr Time on) po upływie określonego czasu (parametr Time off),
- Time On – Czas określający jak długo przekaźnik będzie włączony (wykorzystywany w trybach Toggle oraz One-pulse),
- Time Off – Czas określający jak długo przekaźnik będzie wyłączony (wykorzystywany w trybach Toggle oraz One-pulse),
- Active Relay on Card – Aktywuje przekaźnik po odczycie karty przez czytnik,
- State – Wyświetla aktualny stan kanału przekaźnikowego (żółty prostokąt - załączony, czarny - wyłączony) oraz daje użytkownikowi możliwość ręcznej aktywacji.
Wejścia
Pola State INPUT 1 oraz State INPUT 2 wyświetlają aktualny stan kanału wejściowego. Gdy prostokąt jest podświetlony na żółto, wejście jest pobudzone. Czarny prostokąt oznacza, że wyjście jest nieaktywne.
Diody LED i sygnalizator dźwiękowy
Oprogramowanie pozwala na dostosowanie ustawień sygnalizacji dźwiękowej i wizualnej.
Dla buzzera i wskaźników LED, dostępne są dwie opcje:
- OFF – Buzzer/LED wyłączony,
- ON – Sygnalizacja dźwiękowa/wizualna w momencie odczytania TAG’u.
| Nazwa | Opis |
|---|---|
| LED 1 | W podstawowej konfiguracji, dioda informująca o poprawnym odczycie karty. Dioda koloru czerwonego |
| LED 2 | W podstawowej konfiguracji, dioda informująca o poprawnym odczycie karty. Dioda koloru zielonego |
Informacja
Niezależnie od ustawionych opcji, istnieje możliwość kontroli sygnalizacji protokołem Modbus RTU.
Continuous reading
Urządzenie pozwala zdefiniować opóźnienie czytania TAG’ów. Stosuje się do tego opcję Continous Read Mode.
Zastosowanie ustawienia Continous Read Mode powoduje, że odczyt tego samego TAG’u jest możliwy dopiero po upływie zdefiniowanego czasu, natomiast inny TAG jest odczytywany natychmiastowo. Oznacza to, że ta sama karta nie zostanie przypadkowo odczytana kilka razy. Czas opóźnienia jest wyrażony w 0,1s.
Wskazówka
Należy pamiętać, że zastosowanie tej opcji spowoduje, że NIE zostanie wystawiona flaga odczytu nowego TAG’u. Urządzenie zadziała autonomicznie i samoczynnie zezwoli na kolejny odczyt tego samego TAG’u po upływie zadeklarowanego czasu.
Ustawienia komunikacji RS485
- Mode – Ustawienie 9 bitu transmisji:
- None – Brak,
- Even – Bit parzystości,
- Odd – Bit nieparzystości.
- BaudRate – Pole wyboru szybkości transmisji (1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200bps),
- Device address – Adres urządzenia w sieci Modbus.
Informacja
Po wprowadzeniu zmian, wyślij konfigurację do czytnika przy użyciu przycisku Upload data to RFID.
Konfiguracja urządzenia w wersji v2
Czytniki RFID IND Modbus w wersji v2 obsługiwane są przez program Inveo RFID Config. Urządzenia w wersji v1 należy konfigurować oprogramowaniem RFID U1 M1 Config.
Aby sprawdzić wersję urządzenia należy wejść w zakładkę Rozpoznawanie wersji urządzenia
Po zainstalowaniu programu konfiguracyjnego i uruchomieniu go, należy podłączyć kabel USB do komputera i modułu (w takim wypadku zewnętrzne zasilanie modułu nie jest wymagane – urządzenie zasilane jest przez port USB).
Modbus
Zakładka Modbus umożliwia użytkownikowi konfigurację komunikacji RS485 oraz przypisanie parametrów wyjść modułu.
Ustawienia komunikacji RS485
- PDU – Adres urządzenia w sieci Modbus,
- BaudRate – Pole wyboru szybkości transmisji (1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200),
- Parity – Ustawienie 9 bitu transmisji:
- None – Brak,
- Even – Bit parzystości,
- Odd – Bit nieparzystości.
Continuous reading
Urządzenie pozwala zdefiniować opóźnienie czytania TAG’ów. Stosuje się do tego opcję Continous Read Mode.
Zastosowanie ustawienia Continous Read Mode powoduje, że odczyt tego samego TAG’u jest możliwy dopiero po upływie zdefiniowanego czasu, natomiast inny TAG jest odczytywany natychmiastowo. Oznacza to, że ta sama karta nie zostanie przypadkowo odczytana kilka razy. Czas opóźnienia jest wyrażony w 0,1s.
Wskazówka
Należy pamiętać, że zastosowanie tej opcji spowoduje, że NIE zostanie wystawiona flaga odczytu nowego TAG’u. Urządzenie zadziała autonomicznie i samoczynnie zezwoli na kolejny odczyt tego samego TAG’u po upływie zadeklarowanego czasu.
Wyjścia
Czytnik jest wyposażony w 2 wyjścia przekaźnikowe. Każde wyjście można zaprogramować oddzielnie. Do konfiguracji ustawień wyjść służą pola z segmentu Outputs.
- Mode – Pole określa tryb pracy wyjścia. Do wyboru są następujące opcje:
- Disable – Sterowanie wyjściem jest wyłączone,
- Bistable – Tryb bistabilny,
- Toggle – Po włączeniu kanału przekaźnik cyklicznie zwiera i rozwiera styki w określonych odstępach czasu (paramter Time on) na określony czas (Time off),
- One-pulse – Tryb jednokrotnego załączenia wyjścia, w którym wyjście zostaje załączone na określony czas (parametr Time on) po upływie określonego czasu (parametr Time off),
- Time On – Czas określający jak długo przekaźnik będzie włączony (wykorzystywany w trybach Toggle oraz One-pulse),
- Time Off – Czas określający jak długo przekaźnik będzie wyłączony (wykorzystywany w trybach Toggle oraz One-pulse),
- Auto activate – Wybór akcji, która ma wyzwalać wybrane wyjście:
- on read – Wyjście zostanie wyzwolone po przyłożeniu karty do czytnika,
- on card – Wyjście zostanie wyzwolone, gdy karta będzie znajdować się w polu odczytu czytnika.
Informacja
Po wprowadzeniu zmian, wyślij konfigurację do czytnika przy użyciu przycisku Upload data to RFID.
Diody i dźwięk
Aplikacja Inveo RFID Config pozwala w prosty sposób ustawić sygnalizację wizualną i dźwiękową urządzenia. Wystarczy przejść do zakładki LED & Buzzer i wybrać odpowiednie ustawienia konfiguracyjne.
Dla sygnalizatora dźwiękowego (Buzzer) można ustawić 2 opcje:
- OFF – Sygnalizator wyłączony,
- ON READ – Sygnalizacja dźwiękowa w momencie odczytania TAG’u.
| Nazwa | Opis |
|---|---|
| LED 1 | W podstawowej konfiguracji, dioda informująca o podłączeniu zasilania do modułu. Dioda koloru zielonego |
| LED 2 | W podstawowej konfiguracji, dioda nieużywana. Dioda koloru czerwonego |
| LED 3 | W podstawowej konfiguracji, dioda informująca o poprawnym odczycie karty. Dioda koloru zielonego |
Użytkownik może skonfigurować diody LED według własnych potrzeb. Każdą diodę można skonfigurować na 4 sposoby:
- ON – Dioda świeci światłem ciągłym po podłączeniu zasilania,
- OFF – Dioda wyłączona,
- ON READ – Dioda sygnalizująca odczyt TAG’u,
- IN FIELD – Dioda sygnalizująca przyłożenie TAG’u do czytnika, świeci gdy TAG znajduje się w zasięgu modułu.
Zakładka Main – Tylko w wersjach specjalnych
Uwaga
Zakładka Main ma zastosowanie wyłącznie do specjalnej wersji oprogramowania czytnika RFID IND Modbus.
W dolnej części aplikacji powinien wyświetlić się aktualny stan portu USB, do którego podłączono urządzenie wraz z podstawowymi informacjami o czytniku:
- PC version – Numer wersji aplikacji,
- RFID Hardware – Wersja sprzętowa czytnika RFID,
- RFID Software – Wersja oprogramowania czytnika RFID.
Jeżeli czytnik został wykryty przez program, można przystąpić do konfiguracji.
W pierwszej kolejności należy wybrać tryb pracy czytnika (USB mode). Do wyboru są:
- USB Keyboard emulator – Emulacja standardowej klawiatury (HID),
- Virtual Com Port – Komunikacja przez wirtualny port COM (CDC),
- WebUSB Api – Komunikacja przez stronę sieci Web.
Tryb emulacji klawiatury
W trybie emulacji klawiatury czytnik zachowuje się jak standardowa klawiatura USB. Po przyłożeniu tagu, jego numer w odpowiednim formacie zostanie wpisany w miejscu ustawienia kursora.
Tryb wirtualnego portu szeregowego CDC
W przypadku wybrania trybu Virtual Com Port, po przyłożeniu tagu do czytnika wyśle on zapisany numer UID na wirtualny port szeregowy. W trybie tym jest możliwość sterowania sygnalizatorem dźwiękowym oraz diodami LED.
Wysłanie bajtu na wirtualny port szeregowy powoduje odpowiednią reakcję:
| Bit | Funkcja | dec | hex | Opis |
|---|---|---|---|---|
| 0 | ![]() |
1 | 1 | Dioda LED 1 |
| 1 | ![]() |
2 | 2 | Dioda LED 2 |
| 2 | ![]() |
4 | 4 | Dioda LED 3 |
| 3 | ![]() |
8 | 8 | Dźwięk ciągły |
| 4 | ![]() |
16 | 10 | Dźwięk narastający |
| 5 | ![]() |
32 | 20 | Dźwięk opadający |
| 6 | * | 64 | 40 | 0 – Standardowy tryb pracy, kod wysyłany po przyłożeniu karty 1 – Ustawienie czytnika w tryb wysyłania kodu tylko na żądanie |
| 7 | ** | 128 | 80 | 1 – Żądanie wysłania kodu karty |
Wskazówka
Jeżeli karta nie znajduje się w polu czytnika, a zostanie wysłane żądanie (Bit 7) to urządzenie nie zwraca wartości.
Przykłady
- Aby zapalić diodę LED1 oraz diodę LED3 należy wysłać wartość 5 (0x05),
- Aby uruchomić sygnalizator dźwiękowy (dźwięk ciągły, bit 3) należy wysłać wartość 8 (0x08),
- Aby uruchomić sygnalizator dźwiękowy (chwilowy dźwięk, bit 5) oraz zapalić diodę LED1 i diodę LED3 należy wysłać wartość 37 (0x25),
- Aby wysłać żądanie odczytu karty należy wysłać wartość 192 (0xC0 – suma wartości bitu 6 i 7).
Format wysyłania numeru
Kolejnym krokiem jest ustawienie formatu wysyłania odczytanego numeru karty.
Do wyboru są następujące formaty danych wyjściowych:
- Binary – Wysyłanie bajtów z kodem karty w formacie binarnym (dotyczy trybu Virtual Com Port),
- HEX LowerCase Letter – Kod TAG’u w formacie heksadecymalnym z małymi literami,
- HEX UpperCase Letter – Kod TAG’u w formacie heksadecymalnym z wielkimi literami,
- HEX UpperCase Letter Minus – Kod TAG’u w formacie heksadecymalnym z wielkimi literami oraz minusami oddzielającymi kolejne bajty kodu:
| Format danych | Przykład |
|---|---|
| HEX LowerCase Letter | aabbccdd |
| HEX UpperCase Letter | AABBCCDD |
| HEX UpperCase Letter Minus | AA-BB-CC-DD |
- Decimal – Konwersja TAG’u na format dziesiętny:
Przykład
Odczytany tag: A6-0A-9D-95
Wyświetlona wartość: 2785713557
- ASCII – Dekodowanie zapisanych danych na karcie do formatu ASCII (dotyczy standardu TAG’u Mifare). Ciąg znaków musi być zakończony „0”,
- Frame 1-Wire – Emulacja pastylki DS2401.
- H10301
Prefix CDC – Ciąg znaków (np. litery, cyfry), które zostają wysłane przed odczytem TAG’u w trybie wirtualnego portu szeregowego.
Postfix CDC – Ciąg znaków (np. litery, cyfry), które zostają wysłane po odczycie TAG’u w trybie wirtualnego portu szeregowego.
Prefix HID – Ciąg znaków (np. litery, cyfry) lub znaków specjalnych (klawisz Alt,Enter, kombinacja klawiszy), które zostają wysłane przed odczytem TAG’u w trybie emulacji klawiatury.
Prefix HID – Ciąg znaków (np. litery, cyfry) lub znaków specjalnych (klawisz Alt, Enter, kombinacja klawiszy), które zostają wysłane po odczycie TAG’u w trybie wirtualnej klawiatury.
Key Interval – Opóźnienie pomiędzy wysyłanymi znakami. Ustawienie to jest wykorzystywane na wolnych urządzeniach (np. tablety). Jeżeli urządzenie, do którego zostanie podłączony czytnik nie działa wystarczająco szybko, aby poprawnie wypisać kod UID lub znaki wprowadzone w pole Prefix/Postfix (nie wpisuje wszystkich elementów), należy zdefiniować większy odstęp czasowy pomiędzy znakami (Key Interval). Domyślnie jest to wartość 10.
Read Delay - Only new TAG – Odczyt tego samego TAG’u jest możliwy tylko po upływie zdefiniowanego czasu, natomiast inny TAG jest odczytywany natychmiastowo. Oznacza to, że ta sama karta nie zostanie przypadkowo odczytana kilka razy. Czas opóźnienia wyrażony w x * 0,1s.
Read Delay - User Defined – Możliwość ustawienia żądanego opóźnienia odczytu TAG’u. Czas opóźnienia wyrażony w x * 0,1s.
Aby zdefiniować znak specjalny wysyłany jako prefix lub postfix HID należy kliknąć Insert special char przy odpowiedniej pozycji.
Korzystając z okna wirtualnej klawiatury można tworzyć dowolny ciąg znaków oraz kombinacji klawiszy.
Przykład
W momencie przyłożenia karty czytnik ma wyświetlić następujący ciąg znaków:
Zalogowany użytkownik: (TUTAJ NR UID). oraz wstawiony znak enter.
W pierwszej kolejności pole Prefix HID uzupełniamy przez: „Zalogowany u” następnie zamiast litery „ż”, która jest polskim znakiem specjalnym, należy nacisnąć przycisk Insert special char. Gdy okno wirtualnej klawiatury zostanie otwarte, wybrać myszką kombinacje klawiszy: Prawy alt + z, a następnie nacisnąć OK. Do schowka systemowego zostanie skopiowany odpowiedni kod znaku specjalnego.
Za literą u należy nacisnąć kombinację klawiszy CTRL+V (zostanie wklejony kod znaku specjalnego)
Następnie należy dopisać znaki: „ytkownik: ”. Gotowe pole Prefix wygląda następująco:
W polu Postfix należy wpisać „.”, a następnie wstawić znak enter z wirtualnej klawiatury. Wyrażenie powinno mieć postać:
Aby zatwierdzić wprowadzone ustawienia, konieczne jest przesłanie danych klikając na przycisk Upload data to RFID.
Po wykonaniu powyższych czynności, każdorazowe przyłożenie TAG’u spowoduje wysłanie poniższego ciągu znaków:
„Zalogowany użytkownik: numerUID.”
Zaawansowane funkcje konwersji
W zakładce Advanced znajdują się zaawansowane ustawienia dotyczące odczytu kodu.
Aplikacja pozwala na modyfikację odczytanego kodu w bardzo szerokim zakresie.
Do wyboru są niżej opisane funkcje:
Bit Negation – Zaznaczenie tej opcji wymusza zanegowanie odczytanych wartości:
| HEX | BIN | |
|---|---|---|
| Tag odczytany | 04-00-1B-B7-BC | 00000100-00000000-00011011-10110111-10111100 |
| Tag zmodyfikowany | FB-FF-E4-48-43 | 11111011-11111111-11100100-01001000-01000011 |
Swap Byte – Funkcja powodująca zamianę bajtów:
| HEX | BIN | |
|---|---|---|
| Tag odczytany | 04-00-1B-B7-BC | 00000100-00000000-00011011-10110111-10111100 |
| Tag zmodyfikowany | BC-B7-1B-00-04 | 10111100-10110111-00011011-00000000-00000100 |
Swap Bit – Funkcja powodująca zamianę ciągu bitów:
Zamiana pierwszego bitu odczytanego tagu z ostatnim, drugiego z przedostatnim itd.
| Przed modyfikacją HEX |
Przed modyfikacją BIN |
Po modyfikacji BIN |
Po modyfikacji HEX |
|---|---|---|---|
| 04BC | 0000 0100 1011 1100 | 0011 1101 0010 0000 | 3D20 |
| HEX | BIN | |
|---|---|---|
| Tag odczytany | 04-00-1B-B7-BC | 00000100-00000000-00011011-10110111-10111100 |
| Tag zmodyfikowany | 3D-ED-D8-00-20 | 00111101-11101101-11011000-00000000-00100000 |
Begin (bit) – Numer bitu, od którego czytnik rozpoczyna czytanie kodu UID.
End (bit) – Numer bitu, do którego czytnik ma przeprowadzać operację odczytu.
Wpisanie nieodpowiedniej wartości w pole Begin / End (bit) spowoduje całkowitą zmianę wartości TAG’u, ponieważ zostaną przesunięte bity poszczególny bajtów, np.:
Kod UID znajduje się w zakresie 0-39. Użytkownik uzupełnił pola następująco:
Begin (bit) = 1
End (bit) = 40
poprawny TAG: 04-00-1B-B7-BC → odczytany TAG: 08-00-37-6F-78,
| Begin | End | TAG (w bajtach) | TAG (w bitach) |
|---|---|---|---|
| 0 | 39 | 04-00-1B-B7-BC | 010000000000000110111011011110111100 |
| 1 | 40 | 08-00-37-6F-78 | 100000000000001101110110111101111000 |
Cały TAG (w bitach) został przesunięty, dlatego wartość w bajtach jest zupełnie inna.
Align – Wyrównanie odczytanego TAG’u,
Przykład 1
Należy odczytać 3,5 bajtów z TAG’u: 01-0F-A0-D2-61
Begin (bit): 12
End (bit): 39
Auto Length: ON
| Operacja | Wartość |
|---|---|
| Cały kod tagu (Bajty) | 01-0F-A0-D2-61 |
| Cały kod tagu (bity) | 00000001 00001111 10100000 11010010 01100001 |
| Bajt do wyrównania | XF-A0-D2-61 |
| Align RIGHT (B) | FA-0D-26-10 |
| Align RIGHT (b) | 11111010 00001101 00100110 00010000 |
| Align LEFT (B) | 0F-A0-D2-61 |
| Align LEFT (b) | 00001111 10100000 11010010 01100001 |
Przykład 2
Należy odczytać 1,5 bajtów z TAG’u: 05-00-EE-9C-86, Begin (bit): 28 End (bit): 39 Auto Length: ON
| Operacja | Wartość |
|---|---|
| Cały kod tagu (Bajty) | 05-00-EE-9C-86 |
| Cały kod tagu (bity) | 00000101 00000000 11101110 10011100 10000110 |
| Bajt do wyrównania | XC-86 |
| Align RIGHT (B) | C8-60 |
| Align RIGHT (b) | 11001000 01100000 |
| Align LEFT (B) | 0C-86 |
| Align LEFT (b) | 00001100 10000110 |
Auto Length – Automatyczne dopasowanie długości czytanego kodu.
Padding – Ręczne ustawienie długości wypisywanego kodu. Wartość 1 to jeden znak.
Przykład
Standard UNIQUE, czyli kod UID ma 5 bajtów (dla formatu HEX).
Należy wpisać w pola Begin / End (bit) odpowiednio 0 / 39.
Następnie w polu Padding wprowadzić wartość 10:
Od Begin (bit)=0 do END (bit) = 39 → 40 bitów = 5 bajtów (dla formatu HEX będzie to 10 znaków → Padding = 10).
Predefined – Wstępnie zdefiniowane wartości dla Begin (bit) i End (bit)
Use System Keyboard Layout – Podczas wypisywania cyfr i liter brane jest pod uwagę systemowe ustawienie klawiatury.
Przykład
Układ klawiatury polski:
CDC Custom Serial – Opcjonalny numer który można odczytać w trybie wirtualnego port COM.
Modbus API
Urządzenie zostało zaprojektowane do sterowania przez protokół komunikacji szeregowej Modbus.
Modbus API pozwala użytkownikowi na:
- Odczyt i zapis danych dowolnego bloku tagu Mifare (tylko w wersji Mif),
- Ustawienie zabezpieczenia (autoryzacji) dla zapisu i odczytu w każdym bloku tagu Mifare (tylko w wersji Mif),
- Sterowanie sygnalizatorami (LED, Buzzer),
- Sprawdzenie wyniku procesu.
Adresacja Modbus
Modbus jest dostępny przez RS485 (Modbus RTU).
Urządzenie obsługuje następujące funkcje Modbus RTU:
- 0x01 Read Coils
- 0x03 Read Holding Register
- 0x05 Write Single Coil
- 0x06 Write Single Register
- 0x0F Write Multiple Coils
- 0x10 Write Multiple Registers
Wskazówka
W celu poprawnego działania protokołu Modbus, program RFID Config musi zostać wyłączony!
Holding Registers
| Adres | R/W | Opis |
|---|---|---|
| 1000 | R/W | IsNewTag – odczytano nowy tag: 1 - Tag rozpoznany 0 - brak tagu Flaga odczytu musi być zresetowana (wyzerowana) przed odczytem kolejnego tagu. Adres Holding Registers odpowiada funkcji Single Coil Register 1016 |
| 1001 | R | UID Length – długość numeru UID/Mifare UID (4,7 lub 10) |
| 1002 - 1011 | R | UID – numer UID |
| 1012 | R | Card Type – typ odczytanego tagu (tylko w wersji Mif) |
| 1017 | R | MODEL ID – ID urządzenia |
| 1018 | R | Software Version – wersja oprogramowania |
| 1019 | R | Hardware Version – wersja sprzętu |
| 1020 | R/W | Mode OUT1 – tryb wyjścia nr 1: 0 – Disable – wyjście wyłączone 1 – Bistable – tryb bistabilny 2 – Toggle – tryb astabilny 3 – One-pulse – tryb jednokrotnego załączenia wyjścia |
| 1021 | R/W | Time On OUT1 – czas określający na jak długi czas wyjście zostanie włączone (1-65535) (*0,1 sekundy) np. 120 oznacza 12 sekund |
| 1022 | R/W | Time Off OUT1 – czas określający na jak długi czas wyjście zostanie wyłączone (1-65535) (*0,1 sekundy) |
| 1023 | R/W | Mode OUT2 – tryb wyjścia OUT2 Analogicznie jak OUT1 |
| 1024 | R/W | Time On OUT2 Analogicznie do OUT1 |
| 1025 | R/W | Time Off OUT2 Analogicznie do OUT1 |
| Tylko w wersji Mif: | ||
| 2000 | W | WriteEnable – możliwy zapis TAGu |
| 2001 | W | ReadEnable – możliwy odczyt TAGu |
| 2002 | R/W | TagType – wybór rodzaju tagu - 1k Mifare (0) lub 4k Mifare (1) |
| 2003 | R/W | MemoryMode – tryb pamięci: Linear mode (0) lub Full mode (1) tryb buforowy pamięci |
| 2004 | R/W | DataMode – tryb prezentacji danych w buforze (0-2) |
| 2005 | R/W | Tryb sygnalizacji rozpoznanej karty Format (binarny): xxxx xxxx xxxx BB12, gdzie: BB – 0 brak sygnału, 1 sygnał akceptacji, 2 sygnał odmowy 1 – led 1 2 – led 2 |
| 2006 | R/W | Tryb sygnalizacji rezultatu operacji odczytu: Format (binarny): xxxx xxxx EE34 BB12, gdzie: EE – 0 brak sygnału, 1 sygnał akceptacji, 2 sygnał odmowy dla błędnej operacji 1 – led 1 dla błędnej operacji 2 – led 2 dla błędnej operacji BB – 0 brak sygnału, 1 sygnał akceptacji, 2 sygnał odmowy dla poprawnej operacji 1 – led 1 dla poprawnej operacji 2 – led 2 dla poprawnej operacji |
| 2007 | R/W | Tryb sygnalizacji rezultatu operacji zapisu Jak wyżej |
| 2008 | R/W | HaltTag – Zatrzymanie odczytu. Wpisanie 1 zatrzyma odczyt bieżącego tagu. Czytnik przechodzi w stan oczekiwania na nowy tag. IsNewId i HaltTag zostają wyzerowane. |
| 2009 | R/W | WakeAll – Aktywacja wszystkich tagów – Wpisanie 1 odcina dopływ prądu do anteny na krótką chwilę, po której wszystkie wcześniej zatrzymane tagi są znowu dostępne. IsNewId i WakeAll zostają wyzerowane. |
| 2010 | R/W | ReadResultGlobal – Rezultat ostatniego odczytu: 0 brak błędu odczytu, 1 – błąd. Jest to logiczna suma błędnych odczytów we wszystkich odpytywanych blokach (ReadResultCode) |
| 2011 | R/W | WriteResultGlobal – Rezultat ostatniego zapisu: 0 brak błędu zapisu, 1 – błąd. Jest to logiczna suma błędów zapisu we wszystkich blokach. (WriteResultCode) |
| 2020-2035 | R/W | RunReadFlag – wybór bloku do odczytu. Jeden bit kontroluje 1 blok. Np. 0x0031 oznacza odczyt bloku 0 z sektora 0 oraz bloku 0+1 z sektora 1 |
| 2040-2055 | R/W | RunWriteFlag – wybór bloku do zapisu. Jeden bit kontroluje 1 blok. |
| 2100-2355 | R/W | ReadAuthorization – ustawienie autoryzacji dla dowolnego bloku podczas operacji odczytu. Format (hex): xAxK, gdzie: A – typ autoryzacji dla bloku (0 dla klucza A, 1 dla B), K – numer przechowywanego klucza 0-7. Np. 0001 oznacza autoryzację typu A oraz drugi klucz |
| 2400-2655 | R/W | WriteAuthorization – ustawienia autoryzacji zapisu. Jak wyżej |
| 2700-2955 | R/W | ReadResultCode – kod wyniku dla wszystkich odczytów bloku (0 – brak błędu) |
| 3000-3255 | R/W | WriteResultCode – kod wyniku dla wszystkich zapisów bloku (0 – brak błedu) |
| 4000-8095 | R/W | ReadBufferMemory – Bufor pamięci odczytu |
| 10000-14095 | R/W | WriteBufferMemory – Bufor pamięci zapisu |
Single Coil
| Adres | R/W | Opis |
|---|---|---|
| 1000 | R/W | ON 1 – sterowanie przekaźnikiem 1 (włącz/wyłącz) |
| 1001 | R/W | ON 2 – sterowanie przekaźnikiem 2 (włącz/wyłącz) |
| 1002 | R | COIL STATE 1 – stan cewki przekaźnika 1 |
| 1003 | R | COIL STATE 2 – stan cewki przekaźnika 2 |
| 1010 | R | INPUT 1 – status wejścia 1 |
| 1011 | R | INPUT 2 – status wejścia 2 |
| 1012 | R/W | LED1 – sterowanie diodą LED 1 |
| 1013 | R/W | LED2 – sterowanie diodą LED 2 |
| 1014 | W | BUZZ ACCEPT – włączenie dźwięku akceptacji |
| 1015 | W | BUZZ REJECT – włączenie dźwięku odmowa |
| 1016 | R/W | IsNewTag – odczytano nowy tag: 1 - tag rozpoznany 0 - brak tagu Flaga odczytu musi być zresetowana (wyzerowana) przed odczytem kolejnego tagu Tak samo jak Adres Holding Register 1000 |
| 1017 | R/W | ResetFlag – zerowanie flagi odczytu 1 – stan domyślny dla czytnika po włączeniu zasilania. Może być wyzerowana i ustawiona przez użytkownika dla celów diagnostycznych. |
Najczęściej odpytuje się Coil 1016. Jeżeli jego wartość zmieni się na 1 to znaczy, że urządzenie odczytało nowy tag. Rejestry Holding Registers 1002-1011 zawierają ID tagu.
Gdy ID zostanie odczytane powinno się zresetować flagę odczytu (Coil 1016 lub Holding Reg 1000), czyli wysłać „0”. Tylko wtedy będzie możliwy odczyt kolejnego tagu.
Modyfikacji parametrów wyjścia można dokonać przez protokół Modbus. Ustawienia te nie są przechowywane w stałej pamięci modułu. Oznacza to, że po ponownym uruchomieniu urządzenia, ustawienia uprzednio zapisane w pamięci EEPROM przy pomocy programu konfiguracyjnego, zostaną przywrócone.
Struktura tagu Mifare - Tylko dla wersji Mif
Na rysunku poniżej przedstawiona jest struktura 1k tagu Mifare. (źródło: NXP Semiconductor MF1S503x pdf):
Tag Mifare wyposażony jest w pamięć EEPROM o pojemności 1kB, która jest podzielona na 16 bloków.
Manufacturer Data
Pierwszy blok tagu zawiera dane producenta, czyli numer UID (określany często jako Card ID lub Serial Number). Przyjmuje się, że jest to blok tylko do odczytu, ale istnieją karty umożliwiające zapis danych w pierwszym bloku.
Bloki danych
Każdy z sektorów zawiera po 3 bloki danych (oprócz sektora 0, który zawiera 2 bloki). Każdy blok magazynuje 16 bajtów danych. Blok danych może być konfigurowany przy pomocy bitu dostępu jako:
- Blok odczytu/zapisu,
- Blok wartości.
Sector Tralier
Na końcu każdego sektora znajduje się blok Sector Trailer. Zawiera on klucze dostępu oraz bity konfiguracyjne dla bloku danych:
- Klucz A (klucz obowiązkowy),
- Klucz B (klucz opcjonalny).
Odczyt i zapis
Jednorazowo z tagu można odczytać lub zapisać dokładnie 16 bajtów. Jeżeli użytkownik chce zmienić w tagu 2 bajty bez kasowania innych, konieczne jest odczytanie 16 bajtów, zmiana 2 bajtów i zapisanie 16 bajtów.
Bufor pamięci – Tylko dla wersji Mif
Czytnik posiada wbudowaną pamięć przeznaczoną do przechowywania danych z tagów. Są to dwa bufory po 4kB, pierwszy dla operacji odczytu i drugi dla operacji zapisu. Dostęp do pamięci można uzyskać za pomocą rejestrów Modbus Holding Registers.
Czytnik ma możliwość pracy w dwóch trybach adresowania pamięci (reg MemoryMode):
- Full mode – Pamięć odczytu i zapisu jest adresowana dokładnie tak, jak struktura pamięci tagów. By odczytać drugi bajt z pierwszego bloku danych należy odczytać 18 + przesunięcie bufora Modbus Register (1*16 + 2 = 18). Blok 0 z 15 sektora zaczyna się od 15(numer sektora) *4(blok w sektorze)*16(bajt w bloku) + przesunięcie bufora Modbus Register. Należy zwrócić uwagę, aby nie zapisać niechcianych danych do Sector Trailer, ponieważ może to zablokować dostęp do sektora.
- Linear Mode – Czytnik przelicza adresy, pomijając bloki manufacturer oraz każdy z bloków Sector Trailer, dzięki czemu użytkownik posiada 752 wolne bajty z 1024 wszystkich bajtów tagu Mifare. Ten tryb gwarantuje, że żadne niechciane dane nie zostaną zapisane w blokach Sector Trailer, ponieważ aplikacja nie będzie miała do nich dostępu.
Wskazówka
Od zdefiniowanych trybów adresowania pamięci zależą wartości wpisywane do komend RunReadFlag oraz RunWriteFlag.
Ustawienie Linear mode powoduje pominięcie bloków manufacturer oraz każdego z bloków Sector Trailer. Tak więc w komendach RunReadFlag oraz RunWriteFlag pierwszy bit oznacza drugi blok pierwszego sektora, natomiast w trybie Full mode oznacza pierwszy blok pierwszego sektora.
Tryb adresowania pamięci ustawia się przez wysłanie odpowiedniej wartości: Linear mode (0) lub Full mode (1) do rejestru 2003 Holding Registers.
Reprezentacja danych w adresach Modbus (Endianess)
Czytnik ma możliwość konfiguracji odczytu/zapisu danych przez Modbus.
Do wyboru są 3 tryby (rejestr DataMode):
- default – Każdy rejestr Modbus Holding Register zawiera jeden bajt danych.
Przykład
Jeżeli blok Tagu 0 ma dwa pierwsze bajty: MSB:0x55 oraz LSB:0xAA, wtedy Modbus Reg 0 (+ Buffer Memory offset) zawiera bajt „0xAA”, a Modbus Reg 1 zawiera „0x55”.
- Endian 1 – Każdy rejestr Modbus Holding Register zawiera dwa bajty danych.
Przykład
Jeżeli blok Tagu 0 ma dwa pierwsze bajty: MSB:0x55 oraz LSB:0xAA, wtedy Modbus Reg 0 (+ Buffer Memory offset) zawiera „0x55AA”.
- Endian 2 – Każdy rejestr Modbus Holding Register zawiera dwa bajty danych.
Przykład
Jeżeli blok Tagu 0 ma dwa pierwsze bajty: MSB:0x55 oraz LSB:0xAA, wtedy Modbus Reg 0 (+ Buffer Memory offset) zawiera „0xAA55”.
Ustawienia Endian 1 i 2 mogą zmniejszyć transfer danych pomiędzy czytnikiem RFID, a sterownikiem głównym (PLC lub innym).
Reprezentację danych ustawia się przez wysłanie odpowiedniej wartości do rejestru 2004 Holding Registers.
Przykłady zastosowania
Operacja odczytu UID karty
- Przyłóż tag do czytnika.
- Poczekaj aż w rejestrze IsNewTag (1000 Holding Reg/1016 Coils) pojawi się 1.
- W rejestrach 1002-1005 Holding Registers pojawi się numer UID.
- Zresetuj flagę IsNewTag (1000 Holding Reg/1016 Coils), aby umożliwić odczyt kolejnego tagu.
Operacja odczytu danych
- Wybierz sygnalizację odczytu tagu (ten krok może zostać pominięty).
- Wybierz MemoryMode (2003 Holding Reg.) i DataMode (2004 Holding Reg.).
- Jeśli jest to konieczne ustaw ReadAuthorization dla rejestru, który nie ma domyślnego klucza.
- Wybierz blok, który ma zostać odczytany RunReadFlag (2020-2035 Holding Reg.).
- Ustaw flagę ReadEnable (2001 Holding Reg.) na 1.
- Poczekaj aż w rejestrze IsNewTag (1000 Holding Reg/1016 Coils) pojawi się 1.
Gdy tag zostanie odczytany (IsNewTag = 1) wykonaj:
- Odczytaj wybraną przestrzeń pamięci z ReadBuffer (rejestr 4000-).
- Zainicjuj sygnał odpowiedzi, jeśli nie wybrano automatycznie.
- Sprawdź rejestr ReadResultGlobal (2010 Holding Reg.) czy nie wystąpił żaden błąd.
- Zresetuj flagę IsNewTag, aby odblokować czytnik.
- Wróć do kroku 3.
Operacja zapisu danych
- Wybierz sygnalizację odczytu tagu (ten krok może zostać pominięty).
- Wybierz MemoryMode (2003 Holding Reg.) i DataMode (2004 Holding Reg.).
- Jeśli jest to konieczne ustaw WriteAuthorization dla rejestru, który nie ma domyślnego klucza.
- Zapisz wybrany obszar pamięci za pomocą WriteBuffer (10000-). RunWriteFlags przypisany do bloku zapisu jest ustawiany automatycznie podczas zapisywania danych.
- Opcjonalnie ustaw lub zresetuj flagę RunWriteFlag dla zapisywanego bloku.
- Ustaw flagę WriteEnable (2000 Holding Reg.) na 1.
- Poczekaj aż w rejestrze IsNewTag pojawi się 1.
Gdy tag zostanie odczytany (IsNewTag = 1) wykonaj:
- Zainicjuj sygnał odpowiedzi, jeśli nie wybrano automatycznie.
- Sprawdź rejestr WriteResultGlobal (2011 Holding Reg) czy nie wystąpił żaden błąd.
- Zresetuj flagę IsNewTag, aby odblokować czytnik.
- Wróć do kroku 3.
Czytanie kilku tagów
- Poczekaj aż w rejestrze IsNewTag pojawi się 1.
- Wykonaj niezbędne operacje (zapis, odczyt itp.)
- Po wykonaniu wszystkich operacji na danym tagu wywołaj 'HaltTag', w celu zablokowania danego tagu i operacji na kolejnym.
LUB
- Wywołaj ‘WakeAll’, aby wybudzić wszystkie tagi i zacząć operacje na wszystkich tagach od początku.
Gwarancja i odpowiedzialność producenta
Ostrzeżenie
Producent udziela dwuletniej gwarancji na urządzenie oraz zapewnia serwis pogwarancyjny przez okres 10 lat od daty wprowadzenia urządzenia na rynek. Gwarancja obejmuje wszystkie wady materiałowe i produkcyjne
Producent zobowiązuje się do przestrzegania umowy gwarancyjnej, jeżeli spełnione są następujące warunki:
- Wszystkie naprawy, zmiany, rozszerzenia oraz kalibracje urządzenia wykonywane są przez producenta lub autoryzowany serwis,
- Sieciowa instalacja zasilająca spełnia warunki obowiązujących w tym względzie norm,
- Urządzenie obsługiwane jest zgodnie z zaleceniami przedstawionymi w niniejszej Instrukcji,
- Urządzenie używane jest zgodnie z przeznaczeniem.
Producent nie ponosi żadnej odpowiedzialności za konsekwencje wynikłe z nieprawidłowej instalacji, niewłaściwego użytkowania urządzenia, nieprzestrzegania instrukcji obsługi oraz przeprowadzania napraw przez osoby nieposiadające uprawnień.
Ostrzeżenie
W urządzeniu nie ma żadnych części, które wolno użytkownikowi samodzielnie wymieniać.
Warunki przechowywania, pracy i transportu
Urządzenie powinno być przechowywane w pomieszczeniach zamkniętych, w których atmosfera jest wolna od par i środków żrących oraz:
- Temperatura otoczenia od -30°C do +60°C,
- Wilgotność od 25% do 90% (niedopuszczalne skroplenia),
- Ciśnienie atmosferyczne 700 do 1060 hPa.
Urządzenie przeznaczone jest do pracy w następujących warunkach:
- Temperatura otoczenia od -10°C do +55°C,
- Wilgotność od 30% do 75%,
- Ciśnienie atmosferyczne 700 do 1060 hPa.
Zalecane warunki transportu:
- Temperatura otoczenia od -40°C do +85°C,
- Wilgotność od 5% do 95%,
- Ciśnienie atmosferyczne 700 do 1060 hPa.
Instalacja i użytkowanie urządzenia:
- Moduł powinien być obsługiwany zgodnie z zaleceniami przedstawionymi w dalszej części instrukcji.
Utylizacja i likwidacja
W przypadku, kiedy niezbędna staje się likwidacja urządzenia (np. po upływie czasu jego użytkowania), należy zwrócić się do producenta lub przedstawiciela producenta, którzy zobowiązani są do właściwej reakcji, tzn. odbioru urządzenia od użytkownika. Użytkownik może się również zwrócić do firm zajmujących się utylizacją i/lub likwidacją urządzeń elektrycznych lub sprzętu komputerowego. W żadnym wypadku nie należy umieszczać urządzenia wraz z innymi odpadkami.





