Modbus
Znajdź urządzenia Modbus
Dział zatytułowany „Znajdź urządzenia Modbus”Rozpoczyna wyszukiwanie urządzeń Modbus na magistrali RS-485.
POST /api/modbus/find/start/
Parametry żądania:
| Parametr | Typ | Opis |
|---|---|---|
baudRate | integer | Prędkość transmisji (bps: 75 do 230400). |
charFormat | integer | Format bajtu: |
0 - E1S; | ||
1 - O1S; | ||
2 - SPACE (0P1S); | ||
3 - MARK (1P1S / NP2S); | ||
4 - NP1S; | ||
5 - AUTO STOP (Rx: NP1S / Tx: NP2S). | ||
frameMode | integer | Format ramki: 0 - RTU, 1 - ASCII. Opcjonalny. |
fastSearch | boolean | Włącz szybkie wyszukiwanie (true/false). Opcjonalny. |
Przykładowe żądanie:
{ "baudRate": 9600, "charFormat": 3, "frameMode": 0, "fastSearch": false}Zatrzymaj wyszukiwanie
Dział zatytułowany „Zatrzymaj wyszukiwanie”Zatrzymuje aktywne wyszukiwanie urządzeń Modbus.
POST /api/modbus/find/stop/
Odpowiedź:
| Parametr | Typ | Opis |
|---|---|---|
status | string | Status: DONE - wyszukiwanie zatrzymane pomyślnie; BUSY - nie można zatrzymać wyszukiwania (spróbuj ponownie później). |
{ "status": "DONE"}Pobierz wynik wyszukiwania
Dział zatytułowany „Pobierz wynik wyszukiwania”Zwraca listę znalezionych urządzeń.
GET /api/modbus/find/result/?list
Parametry żądania:
| Parametr | Opis |
|---|---|
list | Jeśli określono, odpowiedź zawiera listę znalezionych urządzeń foundDevices. |
Odpowiedź:
| Parametr | Typ | Opis |
|---|---|---|
foundDevices | array | Lista znalezionych urządzeń. |
uid | integer | UID urządzenia. |
baudRate | integer | Prędkość transmisji (bps: 75 do 230400). |
charFormat | integer | Format bajtu: |
0 - E1S; | ||
1 - O1S; | ||
2 - SPACE (0P1S); | ||
3 - MARK (1P1S / NP2S); | ||
4 - NP1S; | ||
5 - AUTO STOP (Rx: NP1S / Tx: NP2S). | ||
frameMode | integer | Format ramki: 0 - RTU, 1 - ASCII. |
{ "foundDevices": [ { "uid": 1, "baudRate": 9600, "charFormat": 0, "frameMode": 0 } ]}Wyszukiwanie i identyfikacja według szablonu
Dział zatytułowany „Wyszukiwanie i identyfikacja według szablonu”Pobierz informacje META z szablonu
Dział zatytułowany „Pobierz informacje META z szablonu”POST /api/modbus/class-find/search-meta-info/
Parametry żądania:
| Parametr | Typ | Opis |
|---|---|---|
filePath | string | Ścieżka do pliku szablonu na karcie SD. |
Przykładowe żądanie:
{ "filePath": "/templates/em-481.txt"}Odpowiedź:
| Parametr | Typ | Opis |
|---|---|---|
status | string | Status: DONE (sukces), ERROR (błąd). |
errorCode | string / null | Kod błędu w przypadku niepowodzenia. Zobacz Kody błędów. |
Rozpocznij wyszukiwanie według szablonu
Dział zatytułowany „Rozpocznij wyszukiwanie według szablonu”POST /api/modbus/class-find/start/?search-meta-info
Parametry żądania:
| Parametr | Typ | Opis |
|---|---|---|
filePath | string | Ścieżka do pliku szablonu na karcie SD. |
baudRate | integer | Prędkość transmisji. |
charFormat | integer | Format bajtu. |
frameMode | integer | Format ramki: 0 - RTU, 1 - ASCII. |
uid | integer | UID urządzenia (1-254). |
Przykładowe żądanie:
{ "filePath": "/templates/em-481.txt", "baudRate": 9600, "charFormat": 3, "frameMode": 0, "uid": 111}Odpowiedź:
| Parametr | Typ | Opis |
|---|---|---|
status | string | Status: DONE (uruchomiono), ERROR (błąd). |
errorCode | string / null | Kod błędu w przypadku niepowodzenia. Zobacz Kody błędów. |
Zatrzymaj wyszukiwanie według szablonu
Dział zatytułowany „Zatrzymaj wyszukiwanie według szablonu”POST /api/modbus/class-find/stop/
Odpowiedź:
| Parametr | Typ | Opis |
|---|---|---|
status | string | Status: DONE (zatrzymano), BUSY (nie można zatrzymać). |
Pobierz wynik wyszukiwania
Dział zatytułowany „Pobierz wynik wyszukiwania”GET /api/modbus/class-find/result/
Odpowiedź:
| Parametr | Typ | Opis |
|---|---|---|
mbReqPassed | integer | Liczba zakończonych żądań Modbus. |
checksPassed | integer | Liczba wykonanych poleceń szablonu. |
linesPassed | integer | Liczba przeczytanych linii szablonu. |
mbUid | integer | UID urządzenia. |
deviceClass | string / null | Zidentyfikowana klasa urządzenia lub null. |
scriptTime | string / null | Czas utworzenia pliku szablonu (ISO 8601) lub null. |
scriptVersion | string / null | Wersja pliku szablonu lub null. |
status | string | Status: DONE (sukces), BUSY (wyszukiwanie), ERROR (błąd). |
errorCode | string / null | Kod błędu w przypadku niepowodzenia. Zobacz Kody błędów. |
Kody błędów wyszukiwania szablonów
Dział zatytułowany „Kody błędów wyszukiwania szablonów”| Kod | Opis |
|---|---|
| Błędy systemu plików | |
ERROR_FR_DISK_ERR | Błąd dysku niskiego poziomu |
ERROR_FR_INT_ERR | Wewnętrzny błąd systemu plików |
ERROR_FR_NOT_READY | Urządzenie pamięci masowej nie jest gotowe |
ERROR_FR_NO_FILE | Nie znaleziono pliku |
ERROR_FR_NO_PATH | Nie znaleziono ścieżki |
ERROR_FR_INVALID_NAME | Nieprawidłowa nazwa pliku lub ścieżki |
ERROR_FR_DENIED | Odmowa dostępu |
ERROR_FR_EXIST | Plik już istnieje |
ERROR_FR_INVALID_OBJECT | Nieprawidłowy obiekt pliku |
ERROR_FR_WRITE_PROTECTED | Chroniony przed zapisem |
ERROR_FR_INVALID_DRIVE | Nieprawidłowy dysk |
ERROR_FR_NOT_ENABLED | System plików nie jest zamontowany |
ERROR_FR_NO_FILESYSTEM | Brak systemu plików |
ERROR_FR_MKFS_ABORTED | Formatowanie przerwane |
ERROR_FR_TIMEOUT | Przekroczenie limitu czasu |
ERROR_FR_LOCKED | Plik zablokowany |
ERROR_FR_NOT_ENOUGH_CORE | Niewystarczająca pamięć |
ERROR_FR_TOO_MANY_OPEN_FILES | Za dużo otwartych plików |
ERROR_FR_INVALID_PARAMETER | Nieprawidłowy parametr |
| Błędy silnika wyszukiwania | |
ERROR_META | Błąd struktury szablonu |
ERROR_LABEL | Nieprawidłowa lub brakująca etykieta |
ERROR_CONDITION | Błąd wyrażenia warunku |
ERROR_CHECK_TYPE | Nieznany typ sprawdzenia |
ERROR_MODIFIER_PARAMETER | Błąd parametru modyfikatora |
ERROR_DATA_SOURCE | Błąd źródła danych |
ERROR_DATA_SOURCE_FUNCTION | Nieznana funkcja źródła danych |
ERROR_DATA_SOURCE_ADDRESS | Nieprawidłowy adres źródła danych |
ERROR_CHECK_PARAMETERS | Błąd parametrów sprawdzania |
ERROR_ACTION | Błąd akcji |
ERROR_ACTION_TYPE | Nieznany typ akcji |
ERROR_UNSUPPORTED_UTF_FORMAT | Nieobsługiwany format UTF |
ERROR_FILE_NOT_READ | Nie udało się odczytać pliku szablonu |
ERROR_LINE_OUTOFBOUND | Linia poza zakresem |
ERROR_UID_HIDDEN_BY_VDEVICE | UID ukryty przez urządzenie wirtualne |
ERROR_ARG | Ogólny błąd argumentu |
ERROR_MEM | Błąd alokacji pamięci |
ERROR_BUSY | Zasób zajęty |
ERROR_SERIAL_IS_SLAVE | Urządzenie jest w trybie podrzędnym |
ERROR_EOF | Osiągnięto koniec pliku |
Żądanie/odpowiedź Modbus
Dział zatytułowany „Żądanie/odpowiedź Modbus”Wyślij żądanie Modbus
Dział zatytułowany „Wyślij żądanie Modbus”POST /api/modbus/req/
Parametry żądania:
| Parametr | Typ | Opis |
|---|---|---|
reqData | string | Ciąg szesnastkowy żądania Modbus (bez CRC). |
Przykładowe żądanie:
{ "reqData": "010300000002"}Odpowiedź:
| Parametr | Typ | Opis |
|---|---|---|
tid | integer | ID transakcji przypisany do pakietu. |
Pobierz odpowiedź Modbus
Dział zatytułowany „Pobierz odpowiedź Modbus”GET /api/modbus/resp/?tid=...
Parametry żądania:
| Parametr | Typ | Opis |
|---|---|---|
tid | integer | ID transakcji. |
Odpowiedź:
| Parametr | Typ | Opis |
|---|---|---|
respData | string | Ciąg szesnastkowy odpowiedzi Modbus. |
status | string | Status: DONE (odebrano), BUSY (oczekiwanie). |
Ponowne połączenie z chmurą przez Modbus
Dział zatytułowany „Ponowne połączenie z chmurą przez Modbus”Rozłącza i ponownie łączy się z serwerem chmury.
POST /api/cmd/callback/reconnect/
Parametry żądania:
| Pole | Typ | Opis |
|---|---|---|
requestNewCode | boolean | Żądanie nowego kodu aktywacyjnego przy ponownym połączeniu. |
Przykładowe żądanie:
{ "requestNewCode": true}