Parametry połączenia
Centrala EZF jest serwerem Modbus TCP; BMS lub tester jest klientem. Opis dotyczy mapy v1, dostępnej od firmware 10.38.
| Parametr | Wartość |
|---|---|
| Host | Bieżący adres IP centrali |
| Port | 502 |
| Protocol ID MBAP | 0 |
| Klienci jednocześnie | Maksymalnie 2 |
| Odczyt | FC03 albo FC04, 1–125 rejestrów |
| Zapis polecenia | FC16, dokładnie 7 rejestrów od 0x0100 |
| Słowo | 16 bitów, big endian |
| uint32 | Starsze słowo, potem młodsze |
| Adresy w podręczniku | Zerowe, bez prefiksu 4xxxx |
Połączenie bez ruchu może zostać zamknięte po 3 sekundach; klient powinien umieć ponownie je otworzyć. Modbus nie ma uwierzytelniania — dostęp ogranicz do zaufanej sieci nadzorczej.
Włączenie w centrali
- Otwórz Ustawienia → Komunikacja zewnętrzna i włącz Modbus TCP. Dostęp wymaga odpowiednich uprawnień.
- Przy konfiguracji przez lokalną stronę WWW potwierdź zapis PIN-em serwisowym. Kody dostępu do centrali →
- Poczekaj na zaplanowany restart i powrót centrali.
- Uruchom tester, wpisz IP, port 502 i Unit ID zgodny z konfiguracją klienta.
- Odczytaj tożsamość. Rejestr 0 powinien mieć wartość
0x455A, a rejestr 1 — wersję mapy1. - Pobierz listę opraw i porównaj ją z centralą. Do samego nadzoru nie włączaj zdalnych testów.
TCP, RTU i zezwolenie na zdalne testy są domyślnie wyłączone. Skrót TCP używany przy wyniku oprawy oznacza także test czasu pracy/autonomii; kontekst odróżnia go od transportu Modbus TCP.
Pierwsze odczyty
| Adres HEX (dziesiętny) | Liczba słów | Zawartość |
|---|---|---|
| 0x0000 (0) | 2 | Sygnatura i wersja mapy |
| 0x0002 (2) | 1 | Flagi stanu centrali |
| 0x0007 (7) | 1 | Zezwolenie na zdalne testy 0/1 |
| 0x0008 (8) | 2 | Czas od uruchomienia w sekundach |
| 0x0010 (16) | 2 | Identyfikator uruchomienia |
| 0x0020 (32) | 16 | Numer seryjny ASCII, 2 znaki na słowo |
| 0x0100 (256) | 8 | Ostatnie zadanie i jego stan |
| 0x0200 (512) | 16 | Grupa AirBus A; B=0x0210, C=0x0220, D=0x0230 |
Flagi rejestru 0x0002: bit 0 awaria, 1 błąd komunikacji, 2 blokada, 3 wyszukiwanie, 4 inicjalizacja/konfiguracja, 5 błąd pamięci FRAM. Rejestru 0 nie wpisuj jako 40001, chyba że używany klient świadomie przelicza notację 4xxxx na adres zerowy.
Mapa opraw
BUS1 zaczyna się od 0x1000 (200 slotów), BUS2 od 0x3000 (200), AirBus od 0x5000 (500). Każdy slot zajmuje 16 słów. Adres slotu i, liczonego od 1, to baza + 16 × (i−1). Slot jest pozycją na liście, a nie fizycznym adresem oprawy. Pusty slot ma wszystkie słowa zerowe.
| Offset w slocie | Zawartość |
|---|---|
| 0 / 1 / 2 | Kanał / adres fizyczny / obecność 0 lub 1 |
| 3–7 | Bajty statusu D1–D5 |
| 8 / 9 | TF / test autonomii: 0 nieustalone, 1 trwa, 2 OK, 3 błąd |
| 10 | Błąd komunikacji 0/1 |
| 11 / 12 | Typ oprawy / grupa |
| 13 | NVG: LED1 w bitach 0–1, LED2 w bitach 8–9; inne typy 0xFFFF |
| 14 | Blokada oprawy 0/1 |
| 15 | Potwierdzony wynik AirBus: 0 OK; bity 0x20 bateria/czas, 0x40 LED/prąd, 0x80 komunikacja |
W polu wyniku 0xFFFF oznacza stan nieznany, nieaktualny lub oprawę przewodową — nie wynik pozytywny. Przy zgłoszonym błędzie FRAM część statusów może być niepotwierdzona mimo odczytywalnej listy. Bieżący odczyt nie zastępuje archiwalnego raportu.
Zdalny test AirBus
Najpierw wykonaj odczyty. Następnie lokalnie zezwól na zdalne testy, a w testerze zaakceptuj zapis, potwierdź numer seryjny i wybrane polecenie. W tej mapie sterowanie dotyczy opraw i grup AirBus; BUS1/BUS2 udostępniają nadzór. Próba startu testu przewodowego zwraca wyjątek 01.
FC16 zapisuje od 0x0100 dokładnie siedem słów:
| Słowa | Znaczenie |
|---|---|
| 0–1 | Niezerowy, rosnący identyfikator zadania uint32 |
| 2 | 1 = TF, 2 = autonomia, 3 = STOP |
| 3 | 0 = oprawa AirBus, 1 = grupa AirBus |
| 4–5 | UID oprawy lub numer grupy 0–3 (A–D) |
| 6 | Znacznik 0xA55A |
Przykład TF dla AirBus 42, UID=196650, zadanie 1:
0000 0001 0001 0000 0003 002A A55A.
UID ma wzór kanał × 65536 + adres. Przed wysłaniem sprawdź aktualny UID. Wspólny system nadrzędny powinien nadawać ID zadań dla obu transportów. Identyczne ID i polecenie nie uruchamiają drugiego testu; zmiana treści przy tym samym ID jest błędem.
Po przyjęciu FC16 czytaj 0x0100–0x0107. Stan 1 = kolejka, 2 = przyjęte/trwa, 3 = zebrano wyniki, 4 = odrzucone, 5 = przyjęto STOP. Stan 3 nie oznacza, że wszystkie oprawy przeszły test. Sprawdź wyniki opraw i liczniki grup. Stan 5 nie dowodzi odbioru STOP przez każdą oprawę. Po restarcie odczytaj identyfikator uruchomienia i bieżący stan; nie odtwarzaj automatycznie starego polecenia.
Błędy i diagnostyka
| Wyjątek | Znaczenie | Działanie |
|---|---|---|
| 01 | Nieobsługiwana funkcja | Sprawdź FC i obsługiwany kanał |
| 02 | Nieprawidłowy adres | Sprawdź adres zerowy i zakres |
| 03 | Nieprawidłowe dane | Sprawdź 7 słów, ID, UID i znacznik |
| 04 | Błąd urządzenia / niedostępne dane | Sprawdź komunikaty centrali; nie pokazuj OK |
| 06 | Zajętość | Polecenie nie zostało przyjęte; można ponowić to samo ID |
Przy braku połączenia sprawdź IP, port, włączenie TCP, restart, firewall i limit klientów. W testerze zapisz telegramy TX/RX oraz eksport JSON/CSV.
Opcjonalnie: Modbus RTU
RTU używa tej samej mapy: 19200 bit/s, 8E1, adres 1–247 (domyślnie 1). Wymaga wolnego BUS1 albo BUS2 bez zapisanych opraw. Nie łącz Modbus RTU i protokołu opraw EZF na tym samym porcie. Adres rozgłoszeniowy 0 nie wykonuje poleceń.