Modbus
Знайти пристрої Modbus
Section titled “Знайти пристрої Modbus”Розпочинає пошук пристроїв Modbus на шині RS-485.
POST /api/modbus/find/start/
Параметри запиту:
| Параметр | Тип | Опис |
|---|---|---|
baudRate | integer | Швидкість передачі (біт/с: 75 до 230400). |
charFormat | integer | Формат байта: |
0 - E1S; | ||
1 - O1S; | ||
2 - SPACE (0P1S); | ||
3 - MARK (1P1S / NP2S); | ||
4 - NP1S; | ||
5 - AUTO STOP (Rx: NP1S / Tx: NP2S). | ||
frameMode | integer | Формат кадру: 0 - RTU, 1 - ASCII. Опційно. |
fastSearch | boolean | Увімкнути швидкий пошук (true/false). Опційно. |
Приклад запиту:
{ "baudRate": 9600, "charFormat": 3, "frameMode": 0, "fastSearch": false}Зупинити пошук
Section titled “Зупинити пошук”Зупиняє активний пошук пристроїв Modbus.
POST /api/modbus/find/stop/
Відповідь:
| Параметр | Тип | Опис |
|---|---|---|
status | string | Статус: DONE - пошук зупинено успішно; BUSY - неможливо зупинити пошук (спробуйте пізніше). |
{ "status": "DONE"}Отримати результати пошуку
Section titled “Отримати результати пошуку”Повертає список знайдених пристроїв.
GET /api/modbus/find/result/?list
Параметри запиту:
| Параметр | Опис |
|---|---|
list | Якщо вказано, відповідь включає список знайдених пристроїв foundDevices. |
Відповідь:
| Параметр | Тип | Опис |
|---|---|---|
foundDevices | array | Список знайдених пристроїв. |
uid | integer | UID пристрою. |
baudRate | integer | Швидкість передачі (біт/с: 75 до 230400). |
charFormat | integer | Формат байта: |
0 - E1S; | ||
1 - O1S; | ||
2 - SPACE (0P1S); | ||
3 - MARK (1P1S / NP2S); | ||
4 - NP1S; | ||
5 - AUTO STOP (Rx: NP1S / Tx: NP2S). | ||
frameMode | integer | Формат кадру: 0 - RTU, 1 - ASCII. |
{ "foundDevices": [ { "uid": 1, "baudRate": 9600, "charFormat": 0, "frameMode": 0 } ]}Пошук за шаблоном та ідентифікація
Section titled “Пошук за шаблоном та ідентифікація”Отримати META-інформацію з шаблону
Section titled “Отримати META-інформацію з шаблону”POST /api/modbus/class-find/search-meta-info/
Параметри запиту:
| Параметр | Тип | Опис |
|---|---|---|
filePath | string | Шлях до файлу шаблону на SD-карті. |
Приклад запиту:
{ "filePath": "/templates/em-481.txt"}Відповідь:
| Параметр | Тип | Опис |
|---|---|---|
status | string | Статус: DONE (успішно), ERROR (помилка). |
errorCode | string / null | Код помилки в разі невдачі. Див. Коди помилок. |
Розпочати пошук за шаблоном
Section titled “Розпочати пошук за шаблоном”POST /api/modbus/class-find/start/?search-meta-info
Параметри запиту:
| Параметр | Тип | Опис |
|---|---|---|
filePath | string | Шлях до файлу шаблону на SD-карті. |
baudRate | integer | Швидкість передачі. |
charFormat | integer | Формат байта. |
frameMode | integer | Формат кадру: 0 - RTU, 1 - ASCII. |
uid | integer | UID пристрою (1-254). |
Приклад запиту:
{ "filePath": "/templates/em-481.txt", "baudRate": 9600, "charFormat": 3, "frameMode": 0, "uid": 111}Відповідь:
| Параметр | Тип | Опис |
|---|---|---|
status | string | Статус: DONE (розпочато), ERROR (помилка). |
errorCode | string / null | Код помилки в разі невдачі. Див. Коди помилок. |
Зупинити пошук за шаблоном
Section titled “Зупинити пошук за шаблоном”POST /api/modbus/class-find/stop/
Відповідь:
| Параметр | Тип | Опис |
|---|---|---|
status | string | Статус: DONE (зупинено), BUSY (неможливо зупинити). |
Отримати результати пошуку
Section titled “Отримати результати пошуку”GET /api/modbus/class-find/result/
Відповідь:
| Параметр | Тип | Опис |
|---|---|---|
mbReqPassed | integer | Кількість виконаних запитів Modbus. |
checksPassed | integer | Кількість виконаних команд шаблону. |
linesPassed | integer | Кількість прочитаних рядків шаблону. |
mbUid | integer | UID пристрою. |
deviceClass | string / null | Ідентифікований клас пристрою, або null. |
scriptTime | string / null | Час створення файлу шаблону (ISO 8601), або null. |
scriptVersion | string / null | Версія файлу шаблону, або null. |
status | string | Статус: DONE (успішно), BUSY (пошук), ERROR (помилка). |
errorCode | string / null | Код помилки в разі невдачі. Див. Коди помилок. |
Коди помилок пошуку за шаблоном
Section titled “Коди помилок пошуку за шаблоном”| Код | Опис |
|---|---|
| Помилки файлової системи | |
ERROR_FR_DISK_ERR | Помилка диска низького рівня |
ERROR_FR_INT_ERR | Внутрішня помилка файлової системи |
ERROR_FR_NOT_READY | Пристрій зберігання не готовий |
ERROR_FR_NO_FILE | Файл не знайдено |
ERROR_FR_NO_PATH | Шлях не знайдено |
ERROR_FR_INVALID_NAME | Недійсна назва файлу або шляху |
ERROR_FR_DENIED | Доступ заборонено |
ERROR_FR_EXIST | Файл вже існує |
ERROR_FR_INVALID_OBJECT | Недійсний об’єкт файлу |
ERROR_FR_WRITE_PROTECTED | Захищено від запису |
ERROR_FR_INVALID_DRIVE | Недійсний диск |
ERROR_FR_NOT_ENABLED | Файлова система не змонтована |
ERROR_FR_NO_FILESYSTEM | Немає файлової системи |
ERROR_FR_MKFS_ABORTED | Форматування перервано |
ERROR_FR_TIMEOUT | Час очікування вичерпано |
ERROR_FR_LOCKED | Файл заблоковано |
ERROR_FR_NOT_ENOUGH_CORE | Недостатньо пам’яті |
ERROR_FR_TOO_MANY_OPEN_FILES | Забагато відкритих файлів |
ERROR_FR_INVALID_PARAMETER | Недійсний параметр |
| Помилки пошукового механізму | |
ERROR_META | Помилка структури шаблону |
ERROR_LABEL | Недійсна або відсутня мітка |
ERROR_CONDITION | Помилка умовного виразу |
ERROR_CHECK_TYPE | Невідомий тип перевірки |
ERROR_MODIFIER_PARAMETER | Помилка параметра модифікатора |
ERROR_DATA_SOURCE | Помилка джерела даних |
ERROR_DATA_SOURCE_FUNCTION | Невідома функція джерела даних |
ERROR_DATA_SOURCE_ADDRESS | Недійсна адреса джерела даних |
ERROR_CHECK_PARAMETERS | Помилка параметрів перевірки |
ERROR_ACTION | Помилка дії |
ERROR_ACTION_TYPE | Невідомий тип дії |
ERROR_UNSUPPORTED_UTF_FORMAT | Непідтримуваний формат UTF |
ERROR_FILE_NOT_READ | Не вдалося прочитати файл шаблону |
ERROR_LINE_OUTOFBOUND | Рядок за межами |
ERROR_UID_HIDDEN_BY_VDEVICE | UID прихований віртуальним пристроєм |
ERROR_ARG | Загальна помилка аргументу |
ERROR_MEM | Помилка виділення пам’яті |
ERROR_BUSY | Ресурс зайнятий |
ERROR_SERIAL_IS_SLAVE | Пристрій у режимі підлеглого |
ERROR_EOF | Досягнуто кінця файлу |
Запит/Відповідь Modbus
Section titled “Запит/Відповідь Modbus”Надіслати запит Modbus
Section titled “Надіслати запит Modbus”POST /api/modbus/req/
Параметри запиту:
| Параметр | Тип | Опис |
|---|---|---|
reqData | string | Шістнадцятковий рядок запиту Modbus (без CRC). |
Приклад запиту:
{ "reqData": "010300000002"}Відповідь:
| Параметр | Тип | Опис |
|---|---|---|
tid | integer | ID транзакції, призначений пакету. |
Отримати відповідь Modbus
Section titled “Отримати відповідь Modbus”GET /api/modbus/resp/?tid=...
Параметри запиту:
| Параметр | Тип | Опис |
|---|---|---|
tid | integer | ID транзакції. |
Відповідь:
| Параметр | Тип | Опис |
|---|---|---|
respData | string | Шістнадцятковий рядок відповіді Modbus. |
status | string | Статус: DONE (отримано), BUSY (очікування). |
Перепідключитися до хмари через Modbus
Section titled “Перепідключитися до хмари через Modbus”Від’єднується та перепідключається до хмарного сервера.
POST /api/cmd/callback/reconnect/
Параметри запиту:
| Поле | Тип | Опис |
|---|---|---|
requestNewCode | boolean | Запитати новий код активації при перепідключенні. |
Приклад запиту:
{ "requestNewCode": true}